Criar uma conclusão de chat
API Chat Completions compatível com a OpenAI. Defina stream=true para receber Server-Sent Events. A resposta e o envelope de erro seguem o formato Chat Completions/compatível com a OpenAI.
- Tipo: stringX
- Felo - Channel Códigos de canal público separados por vírgula, em ordem. Omita este cabeçalho para usar default; default deve ser usado sozinho. No modo carteira, default percorre a ordem efetiva de canais públicos do modelo em ordem inversa, ignora canais não publicados ou indisponíveis e seleciona o provedor do primeiro canal disponível. Inclui os endpoints disponíveis desse provedor com o mesmo ID de modelo upstream e o mesmo service tier. Canais explícitos são validados na ordem especificada pelo cliente; somente o grupo de provedores do primeiro canal é enviado. Não há fallback automático para outros provedores. Cabeçalhos legados de provedor não podem substituir o roteamento por canal.
- Tipo: array object[] · ChatMessage[] 1…messagesobrigatório
- contentaceita nuloobrigatório
- Tipo: string
- roleTipo: string enumobrigatóriovalores
- system
- developer
- user
- assistant
- tool
- nameTipo: string
- toolTipo: string
_call _id - toolTipo: array object[]
_calls - propertyTipo: anything
Name
- propertyTipo: anything
Name
- Tipo: stringmodelobrigatório
- Tipo: integermax
_completion _tokens mín:1Integer numbers.
- Tipo: integermax
_tokens mín:1Integer numbers.
- Tipo: integernmín:1
Integer numbers.
- Tipo: objectresponse
_format - propertyTipo: anything
Name
- Tipo: string | nullservice
_tier Atualmente, apenas default (standard) é suportado. Valores omitidos, null, aliases e strings não suportadas usam default; outros tipos retornam HTTP 400. Os canais e preços configurados permanecem inalterados. As APIs de texto enviam o valor padrão do provedor; as APIs Decisions e de geração omitem o campo upstream.
- aceita nulostop
- Tipo: string
- Tipo: booleanstream
- Tipo: numbertemperaturemín:0
- tool
_choice - Tipo: string
- Tipo: array object[]tools
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
- Tipo: numbertop
_p mín:0máx:1 - Tipo: stringuser
- Tipo: anythingproperty
Name
- Tipo: object · ChatCompletionResponse200
Conclusão de chat ou resposta em streaming
- Tipo: array object[] · ChatChoice[]choicesobrigatório
- finishTipo: string | null
_reason - indexTipo: integer
Integer numbers.
- logprobsTipo: object | null
- propertyTipo: anything
Name
- messageTipo: object · ChatMessage
- contentaceita nuloobrigatório
- Tipo: string
- roleTipo: string enumobrigatóriovalores
- system
- developer
- user
- assistant
- tool
- nameTipo: string
- toolTipo: string
_call _id - toolTipo: array object[]
_calls - propertyTipo: anything
Name
- propertyTipo: anything
Name
- propertyTipo: anything
Name
- Tipo: stringidobrigatório
- Tipo: stringobjectobrigatório
Normalmente chat.completion em respostas sem streaming.
- Tipo: integer Formato: int64created
Signed 64-bit integers (long type).
- Tipo: stringmodel
- Tipo: stringsystem
_fingerprint - Tipo: object · Usageusage
Objeto de uso do provedor. Os campos variam conforme o endpoint e o provedor.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
- Tipo: object · OpenAIErrorResponse400
Requisição, modelo ou mapeamento de provedor inválido
Envelope de erro compatível com a OpenAI. O Router pode incluir code e message sem todos os campos upstream opcionais.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- codeTipo: string | null
- paramTipo: string | null
- typeTipo: string
Tipo de erro compatível com a OpenAI, quando fornecido.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
application/json - Tipo: object · OpenAIErrorResponse401
Chave de API da Felo inválida ou ausente
Envelope de erro compatível com a OpenAI. O Router pode incluir code e message sem todos os campos upstream opcionais.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- codeTipo: string | null
- paramTipo: string | null
- typeTipo: string
Tipo de erro compatível com a OpenAI, quando fornecido.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
application/json - Tipo: object · OpenAIErrorResponse402
Saldo insuficiente
Envelope de erro compatível com a OpenAI. O Router pode incluir code e message sem todos os campos upstream opcionais.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- codeTipo: string | null
- paramTipo: string | null
- typeTipo: string
Tipo de erro compatível com a OpenAI, quando fornecido.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
application/json - Tipo: object · OpenAIErrorResponse403
A conta não tem permissão para usar o modelo. Modelos desativados também são rejeitados antes das chamadas upstream. Requisições e tarefas já aceitas continuam.
Envelope de erro compatível com a OpenAI. O Router pode incluir code e message sem todos os campos upstream opcionais.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- codeTipo: string | null
- paramTipo: string | null
- typeTipo: string
Tipo de erro compatível com a OpenAI, quando fornecido.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
application/json - Tipo: object · OpenAIErrorResponse429
Limite de gastos ou de requisições atingido
Envelope de erro compatível com a OpenAI. O Router pode incluir code e message sem todos os campos upstream opcionais.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- codeTipo: string | null
- paramTipo: string | null
- typeTipo: string
Tipo de erro compatível com a OpenAI, quando fornecido.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
application/json - Tipo: object · OpenAIErrorResponse502
Falha na requisição ao provedor upstream
Envelope de erro compatível com a OpenAI. O Router pode incluir code e message sem todos os campos upstream opcionais.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- codeTipo: string | null
- paramTipo: string | null
- typeTipo: string
Tipo de erro compatível com a OpenAI, quando fornecido.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
application/json - Tipo: object · OpenAIErrorResponse503
Provedor ou serviço de cobrança indisponível
Envelope de erro compatível com a OpenAI. O Router pode incluir code e message sem todos os campos upstream opcionais.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- codeTipo: string | null
- paramTipo: string | null
- typeTipo: string
Tipo de erro compatível com a OpenAI, quando fornecido.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
application/json
curl https://openapi.felo.ai/api/v1/chat/completions \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"model": "gpt-5.5",
"messages": [
{
"role": "user",
"content": "Write a one-sentence greeting."
}
],
"stream": false
}'
{
"id": "string",
"object": "string",
"created": 1,
"model": "string",
"choices": [
{
"index": 1,
"message": {
"role": "system",
"content": "string",
"name": "string",
"tool_call_id": "string",
"tool_calls": [
{
"additionalProperty": "anything"
}
],
"additionalProperty": "anything"
},
"finish_reason": null,
"logprobs": null,
"additionalProperty": "anything"
}
],
"usage": {
"additionalProperty": "anything"
},
"system_fingerprint": "string",
"additionalProperty": "anything"
}