OpenRouter : unifier GPT, Claude, Gemini et DeepSeek
OpenRouter est une passerelle API LLM. Une clé, un endpoint (https://openrouter.ai/api/v1/chat/completions), schéma OpenAI-compatible. Authentification : Authorization: Bearer $OPENROUTER_API_KEY. Identifiants modèle : fournisseur/modèle — p. ex. openai/gpt-4o, anthropic/claude-3.5-sonnet, google/gemini-2.5-pro, deepseek/deepseek-chat.
Le SDK OpenAI existant ne demande que le remplacement de base_url et api_key. Changer de modèle revient à modifier une chaîne model.
| Couche de routage | Décision | Champ de contrôle |
|---|---|---|
| Model Routing | Quel modèle répond | model ou openrouter/auto |
| Provider Routing | Quel fournisseur exécute | Objet provider ; sélection auto pondérée par prix |
Le Fallback intégré bascule automatiquement via le tableau models en cas de rate limit ou d'erreur. 25+ modèles gratuits : ~50 appels/jour sans recharge ; à partir de 10 $ de Credits : 1 000/jour, 20/minute.
Multi-comptes : clés, SDK et tableaux de bord distincts par éditeur — la charge de réconciliation croît avec le nombre de modèles.
Failover maison : circuit breaker, retries et bascule de modèle à coder soi-même — OpenRouter le gère au niveau gateway.
Latence additionnelle : +10–80 ms de hop gateway, perceptible sur les scénarios temps réel.
Conformité données : transit par un intermédiaire américain. Organisations soumises au RGPD : évaluer BYOK ou API directe.
Frais à l'échelle : 5,5 % à la recharge. Au-delà de plusieurs milliers de dollars mensuels, un contrat direct peut être plus rentable.
OpenRouter face aux API OpenAI et Anthropic directes
| Dimension | API directe | Gateway OpenRouter |
|---|---|---|
| Comptes & clés | Un par éditeur | Une clé, 400+ modèles |
| Migration SDK | Formats hétérogènes | Compatible OpenAI, 2 lignes |
| Failover | Logique custom | Provider + Model Fallback |
| Facturation | Dashboards multiples | Dashboard unique, TTFT, débit |
| Prix token | Tarif officiel | Pas de markup |
| Frais de recharge | Aucun | 5,5 % (min. 0,80 $), crypto +5 % |
| Latence | Minimale | +10–80 ms |
| Fonctions exclusives | Prompt Caching, Batch, Vertex | Partiellement indisponibles |
Cinq atouts structurants : ① une clé pour tous les modèles ; ② failover inter-fournisseurs ; ③ facturation consolidée ; ④ absence de markup token ; ⑤ idéal pour A/B multi-modèles, prototypes et agents à volume modéré.
Quand éviter OpenRouter : modèle unique et très gros volume ; Prompt Caching Anthropic, Batch OpenAI, Vertex Google ; exigence de latence extrême ; contraintes RGPD interdisant un intermédiaire US. Ces critères répondent à la requête « OpenRouter vs API directe ».
OpenRouter ne remplace pas les SDK officiels : c'est la couche intermédiaire pragmatique entre multi-modèles et connexion directe.
Exemples de code : curl, Python, Node.js, OpenAI SDK
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-3.5-sonnet",
"messages": [
{ "role": "user", "content": "Expliquez l'informatique quantique en une phrase" }
]
}'
import requests, os
response = requests.post(
url="https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "google/gemini-2.5-pro",
"messages": [{"role": "user", "content": "Écrivez un tri rapide en Python"}],
},
)
print(response.json()["choices"][0]["message"]["content"])
from openai import OpenAI
import os
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ["OPENROUTER_API_KEY"],
)
completion = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Hello!"}],
extra_headers={
"HTTP-Referer": "https://meshlaunch.com",
"X-Title": "MESHLAUNCH Blog Demo",
},
)
print(completion.choices[0].message.content)
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://openrouter.ai/api/v1",
apiKey: process.env.OPENROUTER_API_KEY,
});
const completion = await openai.chat.completions.create({
model: "deepseek/deepseek-chat",
messages: [{ role: "user", content: "Expliquez OpenRouter en une phrase" }],
});
console.log(completion.choices[0].message.content);
const stream = await openai.chat.completions.create({
model: "anthropic/claude-3.5-sonnet",
messages: [{ role: "user", content: "Écrivez un court poème d'automne" }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) process.stdout.write(content);
}
{
"model": "anthropic/claude-3.5-sonnet",
"models": [
"anthropic/claude-3.5-sonnet",
"openai/gpt-4o",
"google/gemini-2.5-pro"
],
"route": "fallback",
"messages": [{ "role": "user", "content": "Hello" }]
}
Liste des modèles : curl https://openrouter.ai/api/v1/models -H "Authorization: Bearer $OPENROUTER_API_KEY" — étape indispensable avant mise en production.
Runbook en six étapes : intégrer OpenRouter
Compte et clé : openrouter.ai → connexion GitHub/Google → Settings → Keys → stocker dans OPENROUTER_API_KEY.
Credits (optionnel) : modèles gratuits sans recharge. Modèles payants : 5,5 % de frais. À partir de 10 $ : 1 000 appels gratuits/jour.
Premier appel : curl ou SDK avec openai/gpt-4o pour valider la connectivité.
Streaming : ajouter stream: true pour interfaces chat et agents.
Chaîne Fallback : models + route: "fallback" — Claude limité → GPT-4o → Gemini.
Coûts & BYOK : monitoring dashboard. BYOK : 0 % sur le premier million de requêtes/mois, puis 5 %.
Tarification, métriques et stratégie de déploiement
Prix tokens : pas de markup. Recharge 5,5 % (crypto +5 %). Tarifs prompt/completion par modèle sur la page prix.
Quota gratuit : 25+ modèles. ~50/jour sans Credits. À partir de 10 $ : 1 000/jour, 20/min.
BYOK : clés fournisseur propres. 0 % jusqu'à 1 M de requêtes/mois.
Mots-clés FR : OpenRouter API, tutoriel OpenRouter, OpenRouter vs OpenAI, modèles gratuits OpenRouter — intégrés au titre, à l'intro, aux H2 et à la FAQ.
Suivi : Google Search Console par chemin linguistique ; contrôle mensuel des positions sur « OpenRouter API » et « OpenRouter alternative ».
OpenRouter convient aux prototypes, aux tests A/B multi-modèles et aux agents à volume modéré. Pour faire tourner Kilo Code ou Claude Code CLI en 7×24 sur Mac, la mémoire limitée des machines grand public et l'absence d'accélération Metal sur VPS deviennent des goulots. Pour un environnement stable dédié à la CI/CD iOS et aux agents IA, la location cloud Mac Mini MESHLAUNCH offre Apple Silicon dédié, disponibilité 7×24 et facturation flexible — combinée au BYOK OpenRouter pour réduire les coûts API. Tarifs location · Centre d'aide
Tarif fournisseur sans markup. Recharge 5,5 % (min. 0,80 $). 25+ modèles gratuits, ~50/jour sans Credits, 1 000/jour à partir de 10 $. Hébergement agent : tarifs.
API HTTPS accessible ; trafic via gateway US. Organisations RGPD : évaluer BYOK ou API directe.
70+ fournisseurs, 400+ modèles. GET /api/v1/models ou classements.
Non — seulement 5,5 % à la recharge. BYOK : 0 % jusqu'à 1 M requêtes/mois.
Le gateway accède aux métadonnées. Données sensibles : BYOK ou API officielle. Support : centre d'aide.