Guías
Protocolos y SDK
Usa los protocolos OpenAI-compatible, Responses y Anthropic Messages, incluidos streaming, llamadas a herramientas y migración.
La Model API habla tres protocolos de red. Conserva tu SDK actual y cambia la URL base, la clave de API y el ID de modelo.
Matriz de endpoints
| Protocolo | Endpoint | Cliente típico |
|---|---|---|
| OpenAI Chat Completions | POST https://openapi.felo.ai/api/v1/chat/completions | SDK de OpenAI, la mayoría de herramientas compatibles con OpenAI |
| OpenAI Responses | POST https://openapi.felo.ai/api/v1/responses | SDK de OpenAI con funciones de la API Responses |
| Anthropic Messages | POST https://openapi.felo.ai/api/v1/messages | SDK de Anthropic, Claude Code, herramientas nativas de Claude |
URL base
| Cliente | URL base | Motivo |
|---|---|---|
| SDK de OpenAI | https://openapi.felo.ai/api/v1 | El SDK añade /chat/completions o /responses |
| SDK de Anthropic | https://openapi.felo.ai/api | El SDK añade /v1/messages; no añadas /v1 tú mismo |
Ambos clientes usan tu clave de API de Felo como clave de API del 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",
});Elegir un protocolo
- Usa Chat Completions cuando tu herramienta o SDK espere el conocido array
messagesychoices[0].message.content. - Usa Responses cuando necesites el objeto Responses de OpenAI,
input,instructionsuoutput_text. - Usa Messages cuando uses un SDK de Anthropic o una herramienta nativa de Claude.
Comprueba el modelo antes de dar por hecho que todos los protocolos funcionan. El catálogo expone supported_protocols, supported_parameters y un recommended_protocol. recommended_protocol es una recomendación para el cliente, no una restricción; un modelo puede seguir aceptando otro protocolo.
Streaming
Define stream: true para recibir eventos enviados por el servidor.
- Chat Completions emite fragmentos de chat al estilo de OpenAI.
- Responses emite eventos SSE de Responses y termina con un objeto de respuesta completado.
- Messages emite eventos de flujo de mensajes de Anthropic.
Lee el flujo de eventos de forma incremental y gestiona el evento terminal antes de cerrar la conexión. Una conexión interrumpida no equivale a una respuesta completada.
Llamadas a herramientas y salida estructurada
Pasa tools con la forma nativa del protocolo. La compatibilidad varía según el modelo, así que comprueba supported_parameters en el catálogo antes de depender de llamadas a herramientas, del modo JSON o de la salida estructurada. Un modelo puede aceptar el campo y aun así ignorar una opción no admitida.
Enrutamiento por canal
Los tres endpoints aceptan X-Felo-Channel cuando necesitas fijar un proveedor. Consulta Canales y enrutamiento de proveedores para ver las reglas del encabezado y ejemplos.
Migrar desde una API oficial
- Cambia la URL base por la URL de Felo correspondiente.
- Sustituye la clave de API por
FELO_API_KEY. - Sustituye el nombre del modelo por el ID de modelo público de Felo.
- Conserva el resto de la forma de la solicitud.
| Síntoma | Causa probable |
|---|---|
| 404 en todas las solicitudes | La URL base ya incluye /v1, o se añadió /v1 manualmente a la URL base de Anthropic |
| 401 | Falta la clave de Felo o el cliente sigue enviando la clave antigua |
Error 400 de model | El ID de modelo no es público o no admite el endpoint elegido |
| Se rechaza la solicitud de Messages | El protocolo Messages exige max_tokens |
| Se ignora la llamada a herramientas | El modelo no anuncia esa capacidad |