Saltar para o conteúdo

Início rápido da API de chat ​

Chat compatível com OpenAI

Uma única chave API permite utilizar chat e voz. Os pedidos são processados de forma síncrona. O catálogo apresenta os nomes, IDs e preços atuais dos modelos.

1. Criar uma chave e adicionar créditos ​

Registe-se ou inicie sessão na consola. Em Chaves API → Criar chave API, crie uma chave e guarde-a em segurança: só é apresentada na íntegra uma vez. Depois, abra Carteira → Adicionar créditos. A subscrição é opcional. Criar uma chave não adiciona créditos.

Guarde a chave apenas no seu servidor. Consulte Autenticação e limites.

Testes de pagamento locais

Os pagamentos de teste do Stripe apenas aumentam o saldo sandbox, que não paga chamadas reais a modelos. Para testes de integração locais, um administrador pode carregar o saldo API de uma conta de teste. Os pagamentos reais são creditados no saldo API após confirmação.

2. Executar um exemplo de chat e voz ​

Guarde o código abaixo como chat.py. Usa apenas a biblioteca padrão do Python 3, sem pacotes adicionais. Defina GIRLLAB_API_KEY e execute o script.

bash
export GIRLLAB_API_KEY='sk-your-key'
python3 chat.py
powershell
$env:GIRLLAB_API_KEY = 'sk-your-key'
python chat.py
python
import base64
import json
import os
from pathlib import Path
from urllib.error import HTTPError
from urllib.request import Request, urlopen

BASE = os.environ.get("GIRLLAB_API_BASE", "https://api.coldstart.win").rstrip("/")
KEY = os.environ["GIRLLAB_API_KEY"]
MODEL = os.environ.get("GIRLLAB_CHAT_MODEL")
VOICE = os.environ.get("GIRLLAB_VOICE")

def api(path, body=None):
    request = Request(
        BASE + path,
        data=json.dumps(body).encode() if body is not None else None,
        headers={"Authorization": "Bearer " + KEY,
                 "Content-Type": "application/json"},
    )
    try:
        with urlopen(request, timeout=90) as response:
            return json.load(response)
    except HTTPError as error:
        raise SystemExit(f"HTTP {error.code}: {error.read().decode()}")

catalog = api("/v1/chat/catalog")
MODEL = MODEL or catalog["defaultModel"]
VOICE = VOICE or catalog["defaultVoice"]
model = next((m for m in catalog["models"] if m["id"] == MODEL), None)
voice = next((v for v in catalog["voices"] if v["id"] == VOICE), None)
if not model or not model["available"] or not voice or not voice["available"]:
    raise SystemExit("Choose an available model and voice from /v1/chat/catalog.")

reply = api("/v1/chat/completions", {
    "model": MODEL,
    "messages": [
        {"role": "system", "content": "You are a friendly assistant."},
        {"role": "user", "content": "Say hello in one short sentence."},
    ],
    "max_tokens": 64,
})
print(json.dumps(reply, ensure_ascii=False, indent=2))
# For another turn, append the assistant reply and the next user message to messages.
print(reply["choices"][0]["message"]["content"])

speech = api("/v1/chat/speech", {"text": "Hello.", "voice": VOICE})
header, encoded = speech["audio"].split(",", 1)
file = Path("speech.mp3")
file.write_bytes(base64.b64decode(encoded))
print("Saved", file, "— speech billing:", json.dumps(speech["billing"]))

O exemplo faz uma chamada paga de chat e outra de voz. Exibe a resposta, tokens usados e créditos de voz, e salva um MP3. Consulte o histórico de uso para os créditos reais do chat. A URL base é https://api.coldstart.win; use GIRLLAB_API_BASE para outro ambiente.

3. Mudar de modelo ​

Defina GIRLLAB_CHAT_MODEL como chat-creative ou chat-fast. Escolha a voz separadamente com GIRLLAB_VOICE.

Catálogo atual de modelos · preços em créditos

A carregar o catálogo…

GET /v1/chat/catalog devolve modelos, IDs de voz e preços atuais. Utilize os IDs públicos do catálogo, não os IDs internos do fornecedor. O TTS escolhe o modelo através de voice e não aceita o parâmetro de chat model.

Texto: Chat compatível com OpenAI. Voz e IDs: Voz e catálogo.

Também pode experimentar o chat na consola. A referência interativa da API descreve os campos dos pedidos.

© 2026 GirlLab. Todos os direitos reservados.