Texto

Criar conclusão de chat

Cria uma conclusão para a mensagem de chat

POST
/v1/chat/completions

Corpo da Requisição

Os parâmetros opcionais compatíveis, os valores permitidos e os valores padrão dependem do modelo selecionado. Consulte os detalhes do modelo antes de configurar opções de amostragem, raciocínio ou ferramentas.

modelstringobrigatório

ID do modelo a ser usado. Veja Models para opções disponíveis.

messagesarrayobrigatório

Uma lista de mensagens que compõem a conversa.

Cada objeto de mensagem contém:

  • role (string): system, developer, user, assistant, tool, function
  • content (string | array | null): O conteúdo da mensagem

Em uma mensagem assistant com tool_calls, content pode ser omitido ou definido como null.

Quando content é um array, a TokenLab dá suporte a blocos multimodais estruturados para modelos compatíveis:

  • text: { "type": "text", "text": "..." }
  • image: { "type": "image_url", "image_url": { "url": "https://..." } }
  • video: { "type": "video_url", "video_url": { "url": "https://..." } }
  • audio: { "type": "audio_url", "audio_url": { "url": "https://..." } }

Para entradas multimodais, use URLs https acessíveis publicamente. Os tipos de mídia compatíveis dependem do modelo selecionado.

temperaturenumber

Temperatura de amostragem. O suporte, os valores permitidos e o valor padrão dependem do modelo selecionado. Omita este campo para usar o padrão do modelo.

max_tokensinteger

Número máximo de tokens a serem gerados.

streambooleanpadrão: false

Se true, deltas parciais da mensagem serão enviados como eventos SSE.

stream_optionsobject

Opções para streaming. Defina include_usage: true para receber uso de tokens em chunks do stream.

top_pnumber

Parâmetro de amostragem Nucleus. Recomendamos alterar este ou temperature, não ambos.

frequency_penaltynumber

Número entre -2.0 e 2.0. Valores positivos penalizam tokens repetidos.

presence_penaltynumber

Número entre -2.0 e 2.0. Valores positivos penalizam tokens já presentes no texto.

stopstring | array

Sequência de parada ou lista de sequências. O suporte e o limite de sequências dependem do modelo selecionado.

toolsarray

Uma lista de ferramentas que o modelo pode chamar (chamada de função).

tool_choicestring | object

Controla como o modelo usa ferramentas. Opções: auto, none, required, ou um objeto de ferramenta específico.

parallel_tool_callsboolean

Permite várias chamadas de ferramentas em um mesmo turno do assistente, se o modelo selecionado oferecer suporte.

max_completion_tokensinteger

Máximo de tokens para a conclusão. Alternativa a max_tokens, útil para famílias de modelos mais novas com suporte a raciocínio.

reasoning_effortstring

Esforço de raciocínio para modelos compatíveis. Os valores permitidos dependem do modelo selecionado.

seedinteger

Semente de amostragem para modelos compatíveis. Uma saída idêntica não é garantida.

ninteger

Número de conclusões a gerar (1-128).

logprobsboolean

Se deve retornar probabilidades logarítmicas.

top_logprobsinteger

Número das maiores probabilidades logarítmicas a retornar (0-20). Requer logprobs: true.

top_kinteger

Amostragem Top-K para modelos compatíveis.

response_formatobject

Formato de resposta. Use {"type": "json_object"} para o modo JSON ou {"type": "json_schema", "json_schema": {...}} para um esquema JSON. O suporte depende do modelo selecionado.

logit_biasobject

Modifique a probabilidade de tokens especificados aparecerem. Mapeie IDs de tokens (como strings) para valores de bias de -100 a 100.

userstring

Um identificador único representando seu usuário final para monitoramento de abuso.

Resposta

idstring

Identificador único para a conclusão.

objectstring

Sempre chat.completion.

createdinteger

Timestamp Unix de quando a conclusão foi criada.

modelstring

O modelo usado para a conclusão.

choicesarray

Lista de opções de conclusão.

Cada opção contém:

  • index (integer): Índice da escolha
  • message (object): A mensagem gerada
  • finish_reason (string): Motivo pelo qual o modelo parou, por exemplo stop, length ou tool_calls
usageobject

Estatísticas de uso de tokens.

  • prompt_tokens (integer): Tokens no prompt
  • completion_tokens (integer): Tokens na conclusão
  • total_tokens (integer): Total de tokens usados

Requisição

curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "max_tokens": 1000
  }'

Exemplo Multimodal

{
  "model": "gemini-2.5-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this video briefly." },
        { "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
      ]
    }
  ],
  "max_tokens": 64
}

Resposta

Response
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706000000,
  "model": "gpt-5.6-terra",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 9,
    "total_tokens": 29
  }
}

Autorização

BearerAuth
AuthorizationBearer <token>

Autenticação por Chave de API. Crie ou gerencie chaves de API em Dashboard > API > API Keys.

Local: header

Cabeçalhos

X-TokenLab-Delivery-Policy?string

Política de entrega por solicitação. Substitui os padrões da API key e do Workspace. Tenta automaticamente o TokenLab Verified primeiro e pode alternar uma vez para Official apenas antes da saída, aceitação da solicitação ou criação de recurso persistente.

Valores permitidos

  • "auto"
  • "verified"
  • "official"

Corpo da requisição

application/json

Resposta

application/json

application/json

application/json

application/json

application/json

application/json

application/json