OPENROUTER API
UNE CLÉ
400+ MODÈLES.

Passerelle OpenRouter API connectant GPT Claude Gemini et 400 modèles LLM

Synthèse : Gérer des clés API distinctes pour OpenAI, Anthropic, Google et DeepSeek multiplie les tableaux de bord, les quotas et la logique de reprise. OpenRouter unifie l'accès à plus de 400 modèles via un endpoint compatible OpenAI et une seule clé. Ce guide couvre la définition du service, le mécanisme de routage, un tableau comparatif avec les API directes, les avantages décisifs, les cas d'usage à éviter, la configuration en trois étapes, des exemples de code production (curl, Python, Node, SDK OpenAI), le streaming et le fallback, la tarification (5,5 %, BYOK) ainsi qu'une FAQ complète.

L'essentiel en 30 secondes

DéfinitionPasserelle LLM unifiée : 70+ fournisseurs, 400+ modèles, endpoint /v1 compatible OpenAI
Endpointhttps://openrouter.ai/api/v1/chat/completions
TarificationAucune majoration token ; 5,5 % sur rechargement ; 25+ modèles gratuits
Offre gratuite50 req/jour sans achat ; 1 000/jour après crédit de 10 $
Latence10–80 ms de surcharge de routage vs API directe

1. Qu'est-ce qu'OpenRouter ?

OpenRouter est une passerelle API LLM unifiée. Plutôt que de vous inscrire séparément auprès d'OpenAI, Anthropic, Google, Meta, Mistral et DeepSeek, vous adressez l'ensemble de vos requêtes à un unique endpoint compatible OpenAI. OpenRouter gère l'authentification, la sélection du fournisseur, la reprise sur panne et la facturation.

Concepts fondamentaux :

  • Endpoint : https://openrouter.ai/api/v1 — remplacement direct de l'URL de base OpenAI
  • Authentification : Une clé API dans l'en-tête Authorization: Bearer
  • Nommage des modèles : format fournisseur/model-id — ex. openai/gpt-4o, anthropic/claude-sonnet-4, google/gemini-2.5-pro
  • Compatibilité : curl, Python requests, Node fetch et SDK OpenAI officiel — seuls base_url et model changent

Mécanisme de routage

CoucheRôleExemple
Routage modèleVous spécifiez l'ID ; OpenRouter sélectionne le meilleur fournisseur disponibledeepseek/deepseek-chat
Routage fournisseurUn même modèle peut tourner sur plusieurs hôtes ; sélection par prix, latence, disponibilitéDeepSeek via Fireworks ou en direct
FallbackNouvelle tentative automatique sur un modèle de secours en cas de 429/5xxClaude principal, GPT-4o en repli
Modèles gratuits25+ modèles à 0 $ ; quotas journaliers selon le niveau du comptemeta-llama/llama-3.3-70b-instruct:free

2. OpenRouter vs API directe : tableau comparatif

DimensionOpenRouterAPI fournisseur directe
Clés APIUne clé pour tous les fournisseursClé distincte par éditeur
Modifications SDKChangement de base_url uniquementSDK ou endpoints propres à chaque éditeur
Changement de modèleModifier la chaîne modèle en une ligneNouveau compte, facturation et quotas
Reprise sur panneFallback intégré modèles/fournisseursLogique de retry personnalisée requise
Prix des tokensTarif catalogue fournisseur (sans majoration)Tarif catalogue fournisseur
Frais plateforme5,5 % sur les achats de créditsAucun
Latence+10–80 ms de surcharge de routageMinimale (accès direct)
Fonctionnalités éditeurSous-ensemble (pas d'Assistants API, cache limité)Ensemble complet par éditeur
ConformitéRoutage de données via tiers américainDPA/BAA direct avec l'éditeur
Modèles gratuits25+ modèles, limites journalières par palierOffres gratuites spécifiques à chaque éditeur

3. Cinq raisons de choisir OpenRouter

  1. Une clé, 400+ modèles. Prototyper avec GPT-4o, déployer avec DeepSeek V4 Flash, escalader vers Claude Opus — sans réauthentification ni nouveau compte de facturation.
  2. Intégration transparente du SDK OpenAI. Les bases de code existantes appelant openai.chat.completions.create() fonctionnent en modifiant deux lignes : base_url et model.
  3. Reprise sur panne intégrée. Les boucles d'agents déclenchent constamment des 429. Le routage fournisseur et le fallback réduisent des centaines de lignes de retry à un simple bloc JSON.
  4. Données d'usage réelles. OpenRouter publie des classements hebdomadaires par tokens et dépenses — une base de décision production, pas du bruit de benchmarks. Consultez notre analyse des classements de juin 2026.
  5. Offre gratuite pour la validation. 25+ modèles gratuits, 50 requêtes/jour (1 000/jour après un crédit de 10 $) pour valider vos workflows d'agents avant l'inférence payante.

4. Quand ne pas utiliser OpenRouter

OpenRouter n'est pas toujours le choix optimal. Contournez la passerelle lorsque :

  • Latence critique : la surcharge de 10–80 ms pèse pour la voix, le code en temps réel ou un TTFT inférieur à 100 ms.
  • Volume de tokens très élevé : à des millions de tokens par jour, les 5,5 % sur crédits deviennent significatifs. Les contrats directs peuvent être plus avantageux.
  • Conformité stricte : HIPAA, RGPD avec DPA spécifiques ou règles de résidence des données interdisant le routage par un tiers.
  • Fonctionnalités propriétaires : Assistants OpenAI, prompt caching Anthropic avec taux garantis, grounding Vertex — nécessitent le SDK natif.

5. Configuration : obtenir votre clé API OpenRouter

Étape 1 — Inscription

Rendez-vous sur openrouter.ai et connectez-vous via Google, GitHub ou e-mail. Aucune carte bancaire requise pour les modèles gratuits.

Étape 2 — Créer une clé API

Dans le tableau de bord, accédez à Keys, cliquez sur Create Key, nommez-la (ex. prod-agent) et copiez-la immédiatement. Conservez-la dans une variable d'environnement — ne la commitez jamais.

export OPENROUTER_API_KEY="sk-or-v1-xxxxxxxx"

Étape 3 — Première requête

Vérifiez la clé avec un appel curl minimal. Vous devriez recevoir une réponse JSON contenant choices[0].message.content.

6. Exemples de code

6.1 curl

curl https://openrouter.ai/api/v1/chat/completions \ -H "Authorization: Bearer $OPENROUTER_API_KEY" \ -H "Content-Type: application/json" \ -H "HTTP-Referer: https://macgpu.com" \ -H "X-Title: MACGPU Blog Demo" \ -d '{ "model": "anthropic/claude-sonnet-4", "messages": [{"role": "user", "content": "Expliquez OpenRouter en une phrase."}] }'

6.2 Python (requests)

import os, requests resp = requests.post( "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-flash", "messages": [{"role": "user", "content": "Bonjour depuis Python"}], }, ) print(resp.json()["choices"][0]["message"]["content"])

6.3 Python (SDK OpenAI)

from openai import OpenAI 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": "Test SDK drop-in"}], ) print(completion.choices[0].message.content)

6.4 Node.js (SDK OpenAI)

import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://openrouter.ai/api/v1", apiKey: process.env.OPENROUTER_API_KEY, }); const res = await client.chat.completions.create({ model: "deepseek/deepseek-chat", messages: [{ role: "user", content: "Node.js via OpenRouter" }], }); console.log(res.choices[0].message.content);

6.5 Streaming

from openai import OpenAI client = OpenAI( base_url="https://openrouter.ai/api/v1", api_key=os.environ["OPENROUTER_API_KEY"], ) stream = client.chat.completions.create( model="anthropic/claude-sonnet-4", messages=[{"role": "user", "content": "Diffusez cette réponse."}], stream=True, ) for chunk in stream: delta = chunk.choices[0].delta.content or "" print(delta, end="", flush=True)

6.6 Configuration du fallback

{ "model": "anthropic/claude-sonnet-4", "models": [ "anthropic/claude-sonnet-4", "openai/gpt-4o", "google/gemini-2.5-flash" ], "messages": [{"role": "user", "content": "Tâche agent avec reprise"}] }

Le tableau models indique à OpenRouter d'essayer chaque modèle dans l'ordre si le précédent renvoie une erreur ou un rate limit. Pattern de reprise le plus simple pour les boucles d'agents en production.

6.7 Lister les modèles disponibles

curl -s https://openrouter.ai/api/v1/models \ -H "Authorization: Bearer $OPENROUTER_API_KEY" \ | python3 -m json.tool | head -80

7. Streaming, fallback et maîtrise des coûts

Streaming : définissez "stream": true dans le corps de la requête. OpenRouter transmet les chunks SSE au format OpenAI. Indispensable pour les interfaces de chat et les boucles d'outils où le time-to-first-token compte.

Fallback : utilisez le tableau models pour la reprise au niveau modèle. Pour le routage fournisseur, OpenRouter sélectionne automatiquement l'option la plus rapide ou la moins chère, sauf épinglage via les préférences provider du tableau de bord.

Maîtrise des coûts : définissez des plafonds de dépenses dans le tableau de bord. Réservez Claude Opus et GPT-4o à l'escalade ; employez DeepSeek V4 Flash ou Gemini Flash pour les brouillons. Surveillez les dépenses hebdomadaires dans l'onglet Activity.

8. Tarification : offre gratuite, 5,5 % et BYOK

NiveauDétails
Modèles gratuits25+ modèles à 0 $/token ; 50 req/jour sans achat ; 1 000/jour après rechargement de 10 $
Modèles payantsTarif catalogue fournisseur, sans majoration par token
Frais plateforme5,5 % sur les achats de crédits (pas sur l'usage token lui-même)
BYOKApportez votre clé fournisseur ; 1 M req routées gratuites/mois, puis faible frais de dépassement

Exemple : un crédit de 100 $ coûte 105,50 $ au total. Ces 100 $ achètent des tokens aux tarifs fournisseurs. À 10 M tokens/jour, les 5,5 % deviennent significatifs — évaluez les contrats directs.

9. FAQ

Q : OpenRouter est-il gratuit ?
R : 25+ modèles gratuits, 50 requêtes/jour sans achat. Après un crédit de 10 $ : 1 000/jour. Modèles payants au tarif catalogue.

Q : OpenRouter majore-t-il les tokens ?
R : Aucune majoration par token. Commission de 5,5 % sur les rechargements uniquement. BYOK : 1 M requêtes routées gratuites/mois.

Q : OpenRouter convient-il à la production ?
R : Largement adopté pour les agents. Clés côté serveur, plafonds de dépenses, BYOK ou API directes pour la conformité.

Q : Différence avec l'API OpenAI ?
R : OpenRouter est une passerelle multi-fournisseurs. Un endpoint, 400+ modèles. L'API OpenAI ne couvre que les modèles OpenAI avec accès natif aux fonctionnalités.

Q : Le SDK Python OpenAI est-il compatible ?
R : Oui. base_url="https://openrouter.ai/api/v1" et clé OpenRouter — aucune autre modification.

Q : Quand éviter OpenRouter ?
R : Latence inférieure à 10 ms, volume très élevé (5,5 %), conformité stricte ou fonctionnalités comme l'API Assistants.

10. Conclusion : développement OpenRouter sur Mac — externaliser les tests d'agents

L'intégration OpenRouter fonctionne sur tout système. Toutefois, si vous exécutez Cursor, Claude Code et OpenClaw avec des chaînes de fallback multi-modèles, votre Mac principal devient un goulot d'étranglement : sandboxes Docker, boucles d'agents et jobs batch à long contexte rivalisent pour la mémoire unifiée.

Approche recommandée : conservez la revue Cursor et les appels API légers sur votre portable ; externalisez les tests de charge d'agents, les sondes de routage OpenRouter et les tâches cron Gateway 24/7 vers un nœud Mac mini M4 distant MACGPU. Isolation SSH, location à la demande, validation MLX Metal en parallèle.