Endpoints
Routage des fournisseurs et solutions de secours
Choisissez, ordonnez et filtrez les fournisseurs en amont avec l'objet provider, et basculez entre modèles avec le tableau models en cas d'échec.
Essayer dans le playgroundDe nombreux modèles sont servis par plusieurs fournisseurs en amont, chacun avec son propre prix, sa vitesse et sa politique de données. Par défaut, les requêtes sont réparties entre les fournisseurs selon le prix et la disponibilité, et basculent vers un autre fournisseur en cas d'échec. Utilisez l'objet provider pour modifier ce comportement, et models pour basculer entre différents modèles.
L'objet provider
| Champ | Type | Description |
|---|---|---|
order | string[] | Fournisseurs à essayer en premier, dans l'ordre, par ex. ["Anthropic", "Amazon Bedrock"]. |
allow_fallbacks | boolean | false empêche la requête d'aller vers des fournisseurs hors de order ou only (true par défaut). |
only | string[] | N'autorise que ces fournisseurs. |
ignore | string[] | N'utilise jamais ces fournisseurs. |
sort | string | "price", "throughput" ou "latency" à la place de la répartition de charge. |
data_collection | string | "deny" exclut les fournisseurs susceptibles de stocker les prompts ou de s'entraîner dessus. "allow" est la valeur par défaut. |
require_parameters | boolean | N'utilise que les fournisseurs qui prennent en charge tous les paramètres de votre requête (par ex. tools, response_format). |
quantizations | string[] | Précisions autorisées, par ex. ["fp8", "bf16"]. |
max_price | object | Limites de prix maximales en USD par million de tokens, par ex. { "prompt": 1, "completion": 3 }. |
{
"model": "meta-llama/llama-3.3-70b-instruct",
"messages": [{ "role": "user", "content": "Hello" }],
"provider": {
"order": ["Groq", "Fireworks"],
"allow_fallbacks": true,
"data_collection": "deny",
"sort": "throughput"
}
}
La variante :nitro est un raccourci pour sort: "throughput", et :floor un raccourci pour sort: "price". Voir Identifiants de modèles.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
Modèles de secours avec models
Passez une liste de modèles. Si le premier échoue (panne, limite de débit, modération ou erreur de longueur de contexte), le suivant est essayé :
{
"models": ["anthropic/claude-sonnet-4.5", "openai/gpt-5-mini", "google/gemini-2.5-flash"],
"messages": [{ "role": "user", "content": "Summarize this ticket." }]
}
modelest facultatif quandmodelsest défini. Si vous envoyez les deux,modelest essayé en premier.- Chaque modèle de la liste doit passer les vérifications de la passerelle avant l'envoi de la requête : il doit exister et être activé, figurer dans la liste de modèles autorisés de votre clé et être inclus dans votre forfait. Un seul modèle qui échoue aux vérifications fait rejeter toute la requête (
403 model_not_allowed,403 plan_requiredou404 model_not_found). - Vous n'êtes facturé que pour le modèle qui a répondu, à son propre prix. Le champ
modelde la réponse indique lequel c'était.
Réponse
{
"id": "gen-1760000000-route",
"model": "openai/gpt-5-mini",
"provider": "OpenAI",
"choices": [{ "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": "..." } }],
"usage": { "prompt_tokens": 140, "completion_tokens": 60, "total_tokens": 200, "cost": 0.000155 }
}
provider indique quel fournisseur en amont a servi la requête. La consultation d'une génération montre le détail complet du routage.
Erreurs
Si aucun fournisseur ne correspond à vos filtres (par ex. only avec require_parameters), le fournisseur en amont renvoie 404 « No endpoints found ». Les autres erreurs sont les mêmes que pour les Chat completions. Voir Erreurs.