Texto
Criar Chat Completion
Cria uma conclusão para a mensagem de chat
Corpo da Requisição
Os parâmetros opcionais suportados, valores aceitos e padrões dependem do modelo selecionado. Verifique os detalhes do modelo antes de definir opções de amostragem, raciocínio ou ferramentas.
ID do modelo a ser utilizado. Consulte Modelos para opções disponíveis.
Uma lista de mensagens que compõem a conversa.
Cada objeto de mensagem contém:
role(string):system,developer,user,assistant,tool,functioncontent(string | array | null): O conteúdo da mensagem
Para uma mensagem do assistant contendo tool_calls, o content pode ser omitido ou definido como null.
Quando content é um array, o TokenLab suporta blocos multimodais estruturados para modelos compatíveis:
- texto:
{ "type": "text", "text": "..." } - imagem:
{ "type": "image_url", "image_url": { "url": "https://..." } } - vídeo:
{ "type": "video_url", "video_url": { "url": "https://..." } } - áudio:
{ "type": "audio_url", "audio_url": { "url": "https://..." } }
Para entrada multimodal, utilize URLs https publicamente acessíveis. Os tipos de mídia suportados dependem do modelo selecionado.
Temperatura de amostragem. O suporte, valores permitidos e o padrão dependem do modelo selecionado; omita este campo para usar o padrão do modelo.
Número máximo de tokens a serem gerados.
falseSe verdadeiro, deltas parciais da mensagem serão enviados como eventos SSE.
Opções para streaming. Defina include_usage: true para receber o uso de tokens nos chunks do stream.
Parâmetro de amostragem Nucleus. Recomendamos alterar este ou a temperatura, não ambos.
Número entre -2.0 e 2.0. Valores positivos penalizam tokens repetidos.
Número entre -2.0 e 2.0. Valores positivos penalizam tokens que já estão no texto.
Sequência de parada ou lista de sequências. O suporte e os limites de sequência dependem do modelo selecionado.
Uma lista de ferramentas que o modelo pode chamar (function calling).
Controla como o modelo usa ferramentas. Opções: auto, none, required ou um objeto de ferramenta específico.
Permite múltiplas chamadas de ferramenta em um turno do assistente, quando suportado pelo modelo selecionado.
Máximo de tokens para a conclusão. Alternativa ao max_tokens, útil para famílias de modelos mais recentes com capacidade de raciocínio.
Esforço de raciocínio para modelos que o suportam. Os valores aceitos dependem do modelo selecionado.
Para modelos Claude, o valor define o pensamento do modelo: um nível de esforço em modelos com pensamento adaptativo, ou um orçamento de pensamento em modelos que utilizam um. none desativa o pensamento em modelos que permitem isso. Enquanto o pensamento está ativado, o Claude rejeita uma temperature diferente de 1, top_k, um top_p fora de 0.95–1 e uma mensagem de assistente pré-preenchida. Um tool_choice forçado funciona com pensamento adaptativo, mas não com um orçamento de pensamento.
Opções para modelos Claude.
prompt_caching(boolean): Defina comotruepara armazenar em cache o início do prompt. O TokenLab marca o fim do prompt do sistema e a última mensagem do usuário como pontos de cache. Uma requisição posterior que comece com o mesmo conteúdo o lerá do cache. Se qualquer mensagem já possuircache_control, o TokenLab não adiciona pontos de cache.prompt_caching_ttl(string):5m(padrão) ou1h. Se a rota de serviço não suportar uma hora, o TokenLab usa cinco minutos e não rejeita a requisição.
extra.prompt_caching e extra.prompt_caching_ttl são aceitos como as mesmas opções. Consulte Prompt caching para preços e como verificar os tokens armazenados em cache.
Semente de amostragem para modelos que a suportam. Saída idêntica não é garantida.
Número de conclusões a serem geradas (1-128).
Se deve retornar probabilidades de log.
Número de probabilidades de log principais a serem retornadas (0-20). Requer logprobs: true.
Amostragem Top-K para modelos que a suportam.
Formato de resposta. Use {"type": "json_object"} para modo JSON ou {"type": "json_schema", "json_schema": {...}} para um esquema JSON. O suporte depende do modelo selecionado.
Modifica a probabilidade de tokens especificados aparecerem. Mapeie IDs de token (como strings) para valores de viés de -100 a 100.
Um identificador único representando seu usuário final para monitoramento de abuso.
Resposta
Identificador único para a conclusão.
Sempre chat.completion.
Timestamp Unix de quando a conclusão foi criada.
O modelo utilizado para a conclusão.
Lista de escolhas de conclusão.
Cada escolha contém:
index(integer): Índice da escolhamessage(object): A mensagem geradafinish_reason(string): Por que o modelo parou, por exemplostop,lengthoutool_calls
Quando o modelo pensa, a message também pode conter:
reasoning_content(string): O texto de pensamento. Alguns modelos retornam apenas um resumo ou nenhum texto.reasoning_details(array): Blocos de pensamento com suas assinaturas. Para continuar uma conversa com pensamento, por exemplo após uma chamada de ferramenta, envie-os de volta inalterados na mensagem do assistente.
Em um stream, os mesmos campos chegam como delta.reasoning_content e delta.reasoning_details.
Estatísticas de uso de tokens.
prompt_tokens(integer): Tokens no promptcompletion_tokens(integer): Tokens na conclusão, incluindo tokens de pensamentototal_tokens(integer): Total de tokens usadoscompletion_tokens_details.reasoning_tokens(integer): Tokens de pensamento, quando o modelo os reporta
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
{
"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 Autenticação por Chave de API. Crie ou gerencie chaves de API em Dashboard > API > API Keys.
Local: header
Cabeçalhos
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