Tema
Idioma

Chat Completions

/v1/chat/completions — o endpoint de chat compatível com OpenAI. Parâmetros model, messages, stream, temperature. Streaming via SSE. Exemplos de requisições e respostas em curl, Python (openai) e Node.

O endpoint de chat compatível com OpenAI. Funciona com qualquer SDK da OpenAI; basta alterar base_url para https://getvibeapi.com/v1.

POSThttps://getvibeapi.com/v1/chat/completions

Parâmetros do corpo da solicitação

A GetVibe implementa um contrato compatível com Chat Completions, não um pass-through byte a byte: ela verifica o acesso, resolve o id de modelo público, aplica limites e pode normalizar campos de solicitação compatíveis. Respostas e erros também são normalizados e não garantem campos ou headers específicos do upstream. Para a maioria das tarefas, os três primeiros — model, messages e stream — são suficientes.

Básico — funciona em todos os modelos
ParâmetroTipoDescrição
modelreq.stringUm nome de modelo do catálogo, por exemplo gpt-6.1-sol ou claude-opus-5.5.
messagesreq.arrayArray de mensagens { role, content }. Funções: system, user, assistant.
streambooleantrue — transmite a resposta por SSE.
max_tokensintegerMáximo de tokens na resposta. Recomendamos pelo menos 64: com um valor muito baixo (por exemplo, ≤ 16), o modelo pode atingir o limite (finish_reason: length) antes do primeiro token visível e retornar uma resposta vazia. Se precisar de um resultado curto, peça isso no prompt e mantenha max_tokens com margem.
temperaturenumberAleatoriedade da saída, 0–2. Padrão 1.
Avançado — o suporte depende do modelo
ParâmetroTipoDescrição
top_pnumbermodel-dependentAmostragem de núcleo (0–1). Alternativa à temperatura; não é recomendável alterar ambas ao mesmo tempo.
top_knumberClaudeAmostragem Top-K. Somente modelos Anthropic.
seedintegerGPTFixa o resultado para garantir a reprodutibilidade. Série GPT; ignorado em outros casos.
stopstring | arraymodel-dependentSequência de parada: uma string ou uma lista de até 4 strings.
frequency_penaltynumberGPT · ClaudePenalidade por repetir tokens com base na frequência (-2 a 2).
presence_penaltynumberGPT · ClaudePenalidade para tokens já vistos (-2 a 2).
logprobsboolean—Nenhuma rota atual retorna log-probabilities: o parâmetro é removido antes do dispatch e informado no cabeçalho x-getvibe-warnings (param_dropped:logprobs); a solicitação não é recusada.
top_logprobsinteger—Removido junto com logprobs e informado em x-getvibe-warnings.
logit_biasobjectGPTID do token → viés do logit (-100 a 100).
userstringmodel-dependentIdentificador do usuário final (enviado upstream para rastreamento de limites de taxa).
response_formatobjectGPT · ClaudeForce a saída para JSON. Saiba mais →
tools / tool_choicearray / stringGPT · ClaudeChamada de funções. Saiba mais →

Selos na coluna “Suporte”: GPT — apenas séries GPT, Claude — apenas modelos Anthropic, GPT · Claude — ambas as famílias, dependente do modelo — consulte a documentação desse modelo.

Suporte a parâmetros por variante de rota

O mesmo modelo pode ser servido por rotas diferentes (variantes :1, :2, …). As rotas diferem em preço, velocidade e conjunto de parâmetros compatíveis.

Comparação entre variantes de rota
ParâmetroTipoDescrição
Default variant (:1)basicConjunto completo de parâmetros da OpenAI: temperature, top_p, seed, stop, penalties, logprobs, tools, response_format, streaming com um bloco de uso.
Subscription variants (:2, :3…)advancedO conjunto de parâmetros corresponde ao básico, mas a rota usa uma infraestrutura diferente. Parâmetros individuais podem não ser compatíveis; indicamos isso na descrição da variante.
or-* variantsor-*Encaminha a solicitação por meio de um agregador separado. O suporte aos parâmetros depende do provedor específico. tool_choice: "required" e alguns parâmetros de amostragem podem não funcionar.
Um parâmetro desconhecido é ignorado pelo provedor ou retorna 400. Se um parâmetro for importante, use a variante :1 (padrão) ou verifique o suporte na descrição da variante na página Models.

Exemplo de solicitação

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "messages": [
      {"role": "user", "content": "Hello! Who are you?"}
    ]
  }'

Exemplo de resposta

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-6.1-sol",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hi! I'm an assistant available through GetVibe API."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 14,
    "total_tokens": 26
  }
}

Streaming (SSE)

Com "stream": true, a resposta vem como um fluxo de Server-Sent Events: eventos data: … com deltas, terminando com data: [DONE].

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "stream": true,
    "messages": [{"role": "user", "content": "Count to three"}]
  }'

Bloco final com uso

O último trecho antes de data: [DONE] tem choices: [] vazio e um campo usage com estatísticas de tokens. Use-o para a cobrança; não some os deltas manualmente.

data: {"id":"chatcmpl-...","choices":[],"usage":{"prompt_tokens":42,"completion_tokens":87,"total_tokens":129},"model":"gpt-6.1-sol","object":"chat.completion.chunk"}

data: [DONE]

Toda resposta sem stream cujo custo possa ser estimado inclui o header de resposta x-pv-cost-rub. Os corpos de streaming não contêm pv_cost_rub por padrão; envie x-pv-cost: 1 para adicionar o custo ao evento de uso final desse protocolo. Esta é uma estimativa de melhor esforço; para o débito efetivo, consulte o histórico de solicitações GET /v1/generations.

Compatibilidade

O endpoint é compatível com os SDKs da OpenAI (Python, Node e outros), Codex CLI e Claude Code. O Claude Code funciona por meio de /v1/messages com o cabeçalho x-api-key — consulte Mensagens e respostas.

API de Chat Completions do GetVibe — exemplos em Python e curl | GetVibe API