Guias
Protocolos e SDKs
Use os protocolos OpenAI-compatible, Responses e Anthropic Messages, incluindo streaming, chamadas de ferramentas e migração.
A Model API fala três protocolos de rede. Mantenha seu SDK atual e altere a URL base, a chave de API e o ID do modelo.
Matriz de endpoints
| Protocolo | Endpoint | Cliente típico |
|---|---|---|
| OpenAI Chat Completions | POST https://openapi.felo.ai/api/v1/chat/completions | SDK da OpenAI, a maioria das ferramentas compatíveis com OpenAI |
| OpenAI Responses | POST https://openapi.felo.ai/api/v1/responses | SDK da OpenAI com recursos da Responses API |
| Anthropic Messages | POST https://openapi.felo.ai/api/v1/messages | SDK da Anthropic, Claude Code, ferramentas nativas do Claude |
URLs base
| Cliente | URL base | Motivo |
|---|---|---|
| SDK da OpenAI | https://openapi.felo.ai/api/v1 | O SDK acrescenta /chat/completions ou /responses |
| SDK da Anthropic | https://openapi.felo.ai/api | O SDK acrescenta /v1/messages; não adicione /v1 você mesmo |
Os dois clientes usam sua chave de API Felo como a chave de API do SDK.
import OpenAI from "openai";
import Anthropic from "@anthropic-ai/sdk";
const openai = new OpenAI({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api/v1",
});
const anthropic = new Anthropic({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api",
});Escolha um protocolo
- Use Chat Completions quando sua ferramenta ou SDK espera o array
messagesechoices[0].message.contentfamiliares. - Use Responses quando precisar do objeto Responses da OpenAI, de
input,instructionsououtput_text. - Use Messages quando estiver usando um SDK da Anthropic ou uma ferramenta nativa do Claude.
Verifique o modelo antes de presumir que todo protocolo funciona. O catálogo expõe supported_protocols, supported_parameters e um recommended_protocol. recommended_protocol é uma recomendação para o cliente, não uma restrição; um modelo ainda pode aceitar outro protocolo.
Streaming
Defina stream: true para receber Server-Sent Events.
- Chat Completions emite chunks de chat no estilo OpenAI.
- Responses emite eventos SSE de Responses e termina com um objeto de resposta concluída.
- Messages emite eventos de stream de mensagem da Anthropic.
Leia o stream de eventos de forma incremental e trate o evento terminal antes de fechar a conexão. Uma conexão interrompida não é o mesmo que uma resposta concluída.
Chamadas de ferramentas e saída estruturada
Passe tools no formato nativo do protocolo. O suporte varia por modelo, então verifique supported_parameters no catálogo antes de depender de chamadas de ferramentas, do modo JSON ou de saída estruturada. Um modelo pode aceitar o campo e ainda ignorar uma opção sem suporte.
Roteamento de canais
Os três endpoints aceitam X-Felo-Channel quando você precisa fixar um provedor. Consulte Canais e roteamento de provedores para ver as regras do cabeçalho e exemplos.
Migre de uma API oficial
- Altere a URL base para a URL Felo correspondente.
- Substitua a chave de API por
FELO_API_KEY. - Substitua o nome do modelo pelo ID de modelo público da Felo.
- Mantenha o restante do formato da requisição.
| Sintoma | Causa provável |
|---|---|
| 404 em todas as requisições | A URL base já inclui /v1, ou foi adicionado /v1 manualmente à URL base da Anthropic |
| 401 | A chave Felo está faltando ou o cliente ainda envia a chave antiga |
Erro 400 de model | O ID de modelo não é público ou não oferece suporte ao endpoint escolhido |
| Requisição Messages rejeitada | max_tokens é exigido pelo protocolo Messages |
| Chamada de ferramenta ignorada | O modelo não anuncia esse recurso |