Pular para a documentação

Chat Completions

Conversas de texto e chamadas de função executadas pelo cliente no formato OpenAI Chat.

Atualizado em 31 de outubro de 2026 · Contrato 0.2.0

POST/v1/chat/completions

Contrato de requisição

Envie de 1 a 128 mensagens ordenadas dos tipos system, user, assistant ou tool. Use max_tokens ou max_completion_tokens, nunca ambos. Cada requisição é limitada pelo teto configurado do modelo e pelos limites compartilhados de entrada serializada.

Chamadas de função

Há suporte a até oito funções declaradas e resultados de chamadas com limites. tool_choice pode ser auto, none, required ou uma função nomeada. O cliente executa as funções retornadas; uma função chamada shell nunca autoriza execução nos hosts do NotHoly.

Streaming

Defina stream:true. Os chunks preservam um ID estável e fragmentos indexados de argumentos de ferramentas. include_usage emite um chunk final somente com uso. [DONE] aparece apenas após a conclusão bem-sucedida; uma saída parcial pode ser seguida por um erro.

Resposta e limitações

Leia choices[0].message e finish_reason. O conteúdo pode ser null em turnos apenas com ferramentas. Campos desconhecidos e ciclos de ferramentas malformados falham antes do despacho. Os campos opcionais de esforço, amostragem e formato de resposta exigem um recurso do modelo explicitamente ativado; o schema gerado documenta seu formato exato aceito.

Exemplo de requisição

Use sua chave de cliente e um modelo publicado. Copiar um exemplo não envia uma requisição.

curl
curl https://api.notholy.com/v1/chat/completions \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "notholy-pulse",
  "messages": [
    {
      "role": "user",
      "content": "Explain least privilege."
    }
  ],
  "max_tokens": 256
}'

Fixture de contrato HTTP. Verificações com fixtures são distintas da disponibilidade de modelos ao vivo.

Campos de requisição

Gerado a partir do contrato versionado. As regras de refinamento acima continuam valendo.

modelstringobrigatório

Até 100 caracteres.

messagesarray<object | object | object>obrigatório

Até 128 itens. Pelo menos 1 item.

toolsarray<object>

Até 8 itens.

Mostrar campos do item
type"function"obrigatório

functionobjectobrigatório

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
namestringobrigatório

descriptionstring

Padrão: "". Até 1.000 caracteres.

parametersobjectobrigatório

tool_choice"auto" | "none" | "required" | object

Mostrar variantes aceitas
Variante 1"auto" | "none" | "required"

Variante 2object

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
type"function"obrigatório

functionobjectobrigatório

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
namestringobrigatório

max_tokensinteger

Mínimo de 1. Máximo de 512.000.

max_completion_tokensinteger

Mínimo de 1. Máximo de 512.000.

reasoning_effort"off" | "none" | "low" | "high" | "max"

temperaturenumber

Mínimo de 0. Máximo de 2.

top_pnumber

Mínimo de 0. Máximo de 1.

stopstring | array<string>

Mostrar variantes aceitas
Variante 1string

Até 1.024 caracteres.

Variante 2array<string>

Até 16 itens. Pelo menos 1 item.

response_formatobject | object | object

Mostrar variantes aceitas
Variante 1object

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
type"text"obrigatório

Variante 2object

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
type"json_object"obrigatório

Variante 3object

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
type"json_schema"obrigatório

json_schemaobjectobrigatório

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
namestringobrigatório

descriptionstring

Até 1.000 caracteres.

schemaobjectobrigatório

strictboolean

effort"off" | "none" | "low" | "high" | "max"

prompt_tokensinteger

Mínimo de 0. Máximo de 9.007.199.254.740.991.

streamboolean

Padrão: false.

stream_optionsobject

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
include_usagebooleanobrigatório

Schema da resposta

idstringobrigatório

object"chat.completion"obrigatório

createdintegerobrigatório

Mínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.

modelstringobrigatório

choicesarray<object>obrigatório

Até 1 item. Pelo menos 1 item.

Mostrar campos do item
index0obrigatório

messageobjectobrigatório

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
role"assistant"obrigatório

contentstring | nullobrigatório

reasoning_contentstring

tool_callsarray<object>

Mostrar campos do item
idstringobrigatório

type"function"obrigatório

functionobjectobrigatório

Campos desconhecidos são rejeitados.

finish_reason"stop" | "tool_calls" | "length"obrigatório

usageobjectobrigatório

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
prompt_tokensinteger | nullobrigatório

Mínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.

completion_tokensinteger | nullobrigatório

Mínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.

total_tokensinteger | nullobrigatório

Mínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.

prompt_tokens_detailsobject

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
cached_tokensintegerobrigatório

Mínimo de 0. Máximo de 9.007.199.254.740.991.

completion_tokens_detailsobject

Campos desconhecidos são rejeitados.

Mostrar campos do objeto
reasoning_tokensintegerobrigatório

Mínimo de 0. Máximo de 9.007.199.254.740.991.