Chat Completions
MarkdownResposta do modelo a uma conversa no formato OpenAI. É o formato mais comum: é compatível com quase todos os clientes.
Guia completo
https://api.ailoot.ai/v1/chat/completionscurl https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [
{"role": "user", "content": "Explique em duas frases o que é uma API."}
]
}' from openai import OpenAI
import os
client = OpenAI(max_retries=0,
base_url="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "Explique em duas frases o que é uma API."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ maxRetries: 0,
baseURL: "https://api.ailoot.ai/v1",
apiKey: process.env.AILOOT_API_KEY,
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Explique em duas frases o que é uma API." }],
});
console.log(resp.choices[0].message.content);{
"id": "chatcmpl-8f2c…",
"object": "chat.completion",
"created": 1790812800,
"model": "claude-sonnet-5-5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Uma API é um acordo sobre como um programa pede a outro que faça algo…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Autorização
- Authorizationheaderobrigatório
Chave no formato
Bearer sk-…. Também são aceites os cabeçalhosx-api-keyoux-goog-api-key.
Corpo do pedido
- modelstringobrigatório
ID do modelo do catálogo, por exemplo
claude-sonnet-5-5. O modelo tem de suportar o formato OpenAI Chat. - messagesarrayobrigatório
Histórico da conversa: objetos com
role(system,developer,user,assistant,tool) econtent— uma cadeia de caracteres ou um array de partes (texto,image_url). - streambooleanopcional
Resposta no formato Server-Sent Events. Por predefinição,
false. O texto pago chega num único bloco após o cálculo do custo, e não palavra a palavra. - stream_optionsobjectopcional
{"include_usage": true}— enviar os dados finais deusageno último evento do fluxo. - max_tokensintegeropcional
Número máximo de tokens da resposta. O novo nome é
max_completion_tokens. Se não indicar um limite, o Ailoot utiliza 4096 (ou menos, se o limite de resposta do modelo for inferior; o Grok tem o seu próprio limite). Para respostas longas, defina o limite explicitamente; caso contrário, a resposta termina aos 4096 tokens comfinish_reason: "length". O limite é incluído na reserva: quanto maior for, mais saldo disponível é necessário. - temperaturenumberopcional
Aleatoriedade da resposta, normalmente de 0 a 2. Pode ser ignorada pelos modelos de raciocínio.
- top_pnumberopcional
Alternativa a temperature: proporção da massa de probabilidade utilizada para selecionar tokens.
- stopstring | arrayopcional
Cadeias de caracteres nas quais a geração deve parar.
- toolsarrayopcional
Descrições das funções que o modelo pode chamar. O formato é o mesmo do OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectopcional
auto,none,requiredou uma função específica. - response_formatobjectopcional
{"type": "json_object"}ou{"type": "json_schema", ...}para uma resposta estruturada — se o modelo o suportar. - reasoning_effortstringopcional
Profundidade de raciocínio dos modelos de raciocínio:
low,medium,high.
Os restantes parâmetros OpenAI são transmitidos sem alterações; o suporte de cada parâmetro depende do programador do modelo.
Resposta
- choices[].messageobject
Resposta do modelo:
content, ao chamar ferramentas —tool_calls. - choices[].finish_reasonstring
stop— resposta concluída;length— atingiu o limite demax_tokens(a resposta continua a ser considerada completa e é cobrada pelo uso efetivo);tool_calls— o modelo está a chamar uma ferramenta. - usageobject
prompt_tokens,completion_tokens,total_tokens— são utilizados para calcular o débito.