Handleidingen
Protocollen en SDK's
Gebruik de protocollen OpenAI-compatible, Responses en Anthropic Messages, inclusief streaming, tool calls en migratie.
De Model API ondersteunt drie wire-protocollen. Behoud je bestaande SDK en wijzig alleen de base-URL, API-sleutel en het model-ID.
Endpointoverzicht
| Protocol | Endpoint | Typische client |
|---|---|---|
| OpenAI Chat Completions | POST https://openapi.felo.ai/api/v1/chat/completions | OpenAI SDK, de meeste OpenAI-compatibele tools |
| OpenAI Responses | POST https://openapi.felo.ai/api/v1/responses | OpenAI SDK met functies van de Responses API |
| Anthropic Messages | POST https://openapi.felo.ai/api/v1/messages | Anthropic SDK, Claude Code, tools die native met Claude werken |
Base-URL's
| Client | Base-URL | Waarom |
|---|---|---|
| OpenAI SDK | https://openapi.felo.ai/api/v1 | De SDK voegt /chat/completions of /responses toe |
| Anthropic SDK | https://openapi.felo.ai/api | De SDK voegt /v1/messages toe; voeg /v1 niet zelf toe |
Beide clients gebruiken je Felo API-sleutel als de API-sleutel van de 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",
});Een protocol kiezen
- Gebruik Chat Completions als je tool of SDK de bekende
messages-array enchoices[0].message.contentverwacht. - Gebruik Responses als je het Responses-object,
input,instructionsofoutput_textvan OpenAI nodig hebt. - Gebruik Messages als je een Anthropic SDK of een tool gebruikt die native met Claude werkt.
Controleer het model voordat je aanneemt dat elk protocol werkt. De catalogus bevat supported_protocols, supported_parameters en een recommended_protocol. recommended_protocol is een aanbeveling voor de client, geen beperking; een model kan nog steeds een ander protocol accepteren.
Streaming
Stel stream: true in om Server-Sent Events te ontvangen.
- Chat Completions zendt chat-chunks in OpenAI-stijl uit.
- Responses zendt SSE-events van Responses uit en eindigt met een voltooid responsobject.
- Messages zendt berichtstream-events van Anthropic uit.
Lees de eventstream stapsgewijs en verwerk de terminale gebeurtenis voordat je de verbinding sluit. Een verbroken verbinding is niet hetzelfde als een voltooide respons.
Tool calls en gestructureerde uitvoer
Geef tools mee in de eigen vorm van het protocol. De ondersteuning verschilt per model, dus controleer supported_parameters in de catalogus voordat je vertrouwt op tool calls, JSON-modus of gestructureerde uitvoer. Een model kan het veld accepteren en een niet-ondersteunde optie toch negeren.
Kanaalroutering
Alle drie endpoints accepteren X-Felo-Channel als je een provider wilt vastzetten. Zie Kanalen en providerroutering voor de regels en voorbeelden voor de header.
Migreren vanaf een officiële API
- Wijzig de base-URL in de bijbehorende Felo-URL.
- Vervang de API-sleutel door
FELO_API_KEY. - Vervang de modelnaam door het openbare Felo-model-ID.
- Behoud de rest van de vorm van het verzoek.
| Symptoom | Waarschijnlijke oorzaak |
|---|---|
| 404 bij elk verzoek | De base-URL bevat al /v1, of /v1 is handmatig toegevoegd aan de Anthropic-base-URL |
| 401 | De Felo-sleutel ontbreekt of de client stuurt nog de oude sleutel mee |
400-fout bij model | Het model-ID is niet openbaar of ondersteunt het gekozen endpoint niet |
| Verzoek met Messages wordt geweigerd | max_tokens is verplicht in het Messages-protocol |
| Tool call wordt genegeerd | Het model adverteert die mogelijkheid niet |