Guide OpenRouter API : appeler GPT, Claude et Gemini avec une seule clé (2026)

Une clé · 400+ modèles · couches de routage · setup en six étapes · curl/Python/Node · streaming et fallback · tarifs BYOK

Guide OpenRouter API : accès unifié à GPT, Claude et Gemini

Si vous gérez des clés API séparées pour OpenAI, Anthropic et Google, chacune avec des SDK, rate limits et tableaux de facturation différents, OpenRouter réduit cette complexité à un seul point de terminaison compatible OpenAI. Ce guide 2026 explique le fonctionnement interne d'OpenRouter, décrit une configuration de clé API en six étapes, fournit des exemples copier-coller en curl, Python, Node.js et le SDK OpenAI (streaming et fallback inclus), compare OpenRouter vs APIs directes, couvre tarifs, BYOK et modèles gratuits, et conclut par une checklist SEO pour le marché francophone plus pourquoi les Agents longue durée appartiennent toujours à une location Mac Mini M4 24/7.

01

Ce qu'est OpenRouter et comment fonctionnent ses trois couches de routage

OpenRouter est une passerelle LLM unifiée : une clé API, une base URL et accès à 400+ modèles d'OpenAI, Anthropic, Google, Meta, DeepSeek, Mistral, xAI et des dizaines de fournisseurs open-weight. Il parle le format OpenAI Chat Completions API — la plupart du code existant fonctionne en changeant deux lignes : base_url et model.

OpenRouter est un proxy intelligent entre votre application et les fournisseurs d'inférence upstream. À chaque requête, trois couches de routage décident où elle aboutit et que faire en cas d'échec.

Couche 1 : sélection du modèle (ce que vous demandez)

Vous spécifiez un ID modèle dans le corps de requête — par ex. anthropic/claude-sonnet-4, openai/gpt-5 ou google/gemini-2.5-pro-preview. OpenRouter maintient un catalogue live sur openrouter.ai/models avec tarifs, limites de contexte et modalités (texte, vision, tools).

Couche 2 : routage provider (qui sert)

De nombreux modèles ont plusieurs providers upstream — le même meta-llama/llama-3.3-70b-instruct peut être servi par Together, Fireworks ou DeepInfra. OpenRouter choisit le meilleur provider selon latence, tier de prix et capacité. Vous pouvez surcharger via le champ provider ou BYOK (Bring Your Own Key) pour facturer directement via votre compte vendor.

Couche 3 : fallback et load balancing (en cas d'échec)

Si un provider renvoie 429, 502 ou timeout, OpenRouter peut réessayer sur un provider alternatif ou basculer vers un modèle secondaire défini. Cela transforme une intégration mono-vendor fragile en infrastructure production — surtout pour les Agents qui ne peuvent pas s'arrêter net en pleine tâche.

OpenRouter n'entraîne pas sur votre trafic API par défaut. Pour les charges réglementées, combinez routage BYOK, plafonds de dépenses et rotation de clés — la même hygiène qu'avec toute clé vendor directe.

OpenRouter publie des classements d'usage live sur openrouter.ai/rankings, montrant quels modèles les développeurs utilisent en production. Complément à ce guide API — voir notre article rankings juin 2026 pour analyse volume vs qualité.

02

Cinq raisons d'utiliser OpenRouter — et quand s'en passer

Cinq raisons pour lesquelles les développeurs passent à OpenRouter en 2026

  • Une clé pour chaque vendor : fini cinq tableaux de facturation. OpenRouter regroupe GPT, Claude, Gemini, DeepSeek et modèles ouverts derrière une clé API et une facture.
  • Compatibilité drop-in SDK OpenAI : définir base_url sur https://openrouter.ai/api/v1 et changer le modèle. Beaucoup de configs LangChain, Cursor et OpenClaw ne nécessitent aucun refactor.
  • Fallback automatique : définir un modèle primaire et une chaîne de secours. Si Claude est rate-limited, router vers Sonnet puis DeepSeek V4 Flash — sans logique de retry custom dans l'app.
  • Transparence tarifaire : OpenRouter liste les tarifs par token côte à côte. Les modèles chinois flash-tier coûtent environ 1/8 de Claude Opus — un écart crucial à l'échelle Agent.
  • Agilité modèle : le classement 2026 se reshuffle chaque trimestre. Avec OpenRouter, promouvoir DeepSeek V4 Flash de l'expérimentation au default production est un one-liner — pas un projet de migration vendor.

Quand OpenRouter n'est pas adapté

  • Contrat enterprise mono-vendor : avec pricing Azure OpenAI ou Google Vertex négocié et capacité dédiée, un proxy ajoute de la latence et peut violer les termes contractuels.
  • Fonctionnalités natives provider : OpenAI Assistants, Anthropic prompt caching sur endpoints natifs ou Google context caching exigent un accès API direct.
  • Résidence stricte des données et conformité RGPD : certaines industries réglementées exigent l'inférence dans une région cloud précise, des contrats DPA documentés et des flux traçables. Vérifiez le routage provider OpenRouter ou utilisez BYOK avec un upstream conforme ; un proxy sans DPA peut violer les exigences de conformité.
  • Ultra-faible latence (style HFT) : chaque saut proxy ajoute des millisecondes. Les APIs vendor directes avec endpoints dédiés gagnent quand la latence est la métrique principale.

OpenRouter vs API vendor directe

DimensionOpenRouterAPI vendor directe
Clés API requisesUne clé OpenRouter (ou BYOK par vendor)Une clé par vendor (OpenAI, Anthropic, Google, etc.)
Compatibilité SDKFormat OpenAI Chat Completions (universel)SDKs et formes d'endpoint spécifiques au vendor
Changement de modèleChanger le champ model dans une requêteNouveau SDK init, nouveau compte billing, nouveaux rate limits
Fallback sur 429/502Retry provider intégré et chaînes de fallback modèleLogique de retry custom par vendor
TarifsTarifs listés par modèle ; BYOK évite la margePrix catalogue vendor ; remises enterprise via sales
Modèles gratuitsOwl Alpha, Nemotron 3 Super et autres à 0 $Free tiers limités par vendor (Gemini free, Claude trial)
Overhead latence~20–80 ms saut proxy (selon région)Direct vers edge vendor ; minimum possible
ObservabilitéTableau de bord unifié : dépenses, tokens, mix modèlesTableaux de bord séparés par vendor
Idéal pourAgents multi-modèles, startups, optimisation coûtsEnterprise mono-vendor, besoins de features natives
03

Runbook en six étapes : de zéro au premier appel API

Ce runbook vous mène de la création de compte à un appel production vérifié en moins de quinze minutes. Suivez chaque étape avant d'intégrer OpenRouter dans un daemon Agent ou pipeline CI.

  1. 01

    Créer un compte : allez sur openrouter.ai et inscrivez-vous par e-mail ou GitHub. Les nouveaux comptes reçoivent un crédit de test — suffisant pour des dizaines d'appels Sonnet ou des milliers de tokens flash-tier.

  2. 02

    Générer une clé API : dans Keys du dashboard, créez une clé avec un nom descriptif (ex. prod-agent-v1). Copiez immédiatement — OpenRouter n'affiche la clé complète qu'une fois.

  3. 03

    Définir une limite de dépenses : sous Settings, configurez un plafond mensuel et alertes e-mail à 50 %, 80 % et 100 %. Pour les Agents, commencez à 50 $/mois et scalez après mesure de consommation tokens.

  4. 04

    Stocker la clé en sécurité : ne jamais committer les clés dans git. Variables d'environnement (OPENROUTER_API_KEY), Keychain macOS ou secret store CI. Rotation mensuelle en production.

  5. 05

    Vérifier avec curl : exécutez l'exemple curl de la section 04. Une réponse 200 avec choices[0].message.content confirme clé, routage et ID modèle.

  6. 06

    Intégrer à votre stack : pointez OpenAI SDK, LangChain ou framework Agent vers https://openrouter.ai/api/v1. Ajoutez en-têtes HTTP-Referer et X-Title pour analytics OpenRouter. Déployez le daemon sur un hôte toujours actif — voir section 06 pour Mac Mini.

!

Note de sécurité : traitez les clés OpenRouter comme des credentials de base de données production. En cas de fuite, révoquez immédiatement dans le dashboard et auditez les dépenses. OpenRouter supporte des rate limits par clé — utilisez-les pour endpoints publics.

04

Exemples de code : curl, Python, Node.js, OpenAI SDK, streaming, fallback et liste de modèles

Tous les exemples utilisent le même endpoint : https://openrouter.ai/api/v1/chat/completions. Remplacez YOUR_KEY par votre clé API et choisissez un modèle du catalogue.

curl — chat completion minimal

bash · curl
curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "HTTP-Referer: https://your-app.com" \
  -H "X-Title: Your App Name" \
  -d '{
    "model": "anthropic/claude-sonnet-4",
    "messages": [{"role": "user", "content": "Explain OpenRouter in one sentence."}]
  }'

Python — avec le SDK OpenAI

python · openai sdk
from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="YOUR_KEY",
)

response = client.chat.completions.create(
    model="deepseek/deepseek-chat-v3-0324",
    messages=[{"role": "user", "content": "Write a Python hello world."}],
    extra_headers={
        "HTTP-Referer": "https://your-app.com",
        "X-Title": "Your App Name",
    },
)
print(response.choices[0].message.content)

Node.js — fetch API

javascript · node fetch
const res = await fetch("https://openrouter.ai/api/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
    "Content-Type": "application/json",
    "HTTP-Referer": "https://your-app.com",
    "X-Title": "Your App Name",
  },
  body: JSON.stringify({
    model: "google/gemini-2.5-pro-preview",
    messages: [{ role: "user", content: "Summarize REST vs GraphQL." }],
  }),
});
const data = await res.json();
console.log(data.choices[0].message.content);

OpenAI SDK — migration drop-in depuis OpenAI direct

python · openai sdk migration
from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="YOUR_KEY",
)

response = client.chat.completions.create(
    model="openai/gpt-5",
    messages=[{"role": "user", "content": "Compare GPT-5 and Claude Sonnet 4."}],
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather for a city",
            "parameters": {
                "type": "object",
                "properties": {"city": {"type": "string"}},
                "required": ["city"],
            },
        },
    }],
)
print(response.choices[0].message)

Réponses en streaming

python · streaming
from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key="YOUR_KEY",
)

stream = client.chat.completions.create(
    model="anthropic/claude-sonnet-4",
    messages=[{"role": "user", "content": "Stream this response token by token."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Routage fallback avec tableaux de modèles

json · fallback models
{
  "model": "anthropic/claude-sonnet-4",
  "models": [
    "anthropic/claude-sonnet-4",
    "deepseek/deepseek-chat-v3-0324",
    "google/gemini-2.5-flash-preview"
  ],
  "messages": [{"role": "user", "content": "Handle this with automatic fallback."}],
  "route": "fallback"
}

Avec un tableau models et "route": "fallback", OpenRouter essaie chaque modèle jusqu'à succès. Pattern production le plus simple pour pipelines Agent sans single point of failure. Pour routage gateway avec plafonds budget, voir notre guide routage multi-modèles OpenClaw.

Lister les modèles disponibles par programmation

bash · list models
curl https://openrouter.ai/api/v1/models \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" | jq '.data[] | {id, pricing}'

L'endpoint models retourne chaque modèle disponible avec tarifs, longueur de contexte et modalités. Mettez en cache dans l'app et rafraîchissez quotidiennement — mi-2026 de nouveaux modèles apparaissent chaque semaine.

05

Tarifs, BYOK, tier gratuit, données concrètes et checklist SEO pour le marché francophone

Comment fonctionnent les tarifs OpenRouter

OpenRouter facture par token au tarif listé pour chaque modèle. Pas de frais de plateforme mensuels. Les routes standard transmettent les prix catalogue upstream — OpenRouter n'ajoute pas de marge cachée. Vous payez uniquement les tokens consommés.

Modèle (juillet 2026)Input $/MOutput $/MContexteNotes
DeepSeek V4 Flash~0.10~0.401MMeilleur rapport prix-performance pour coding haute fréquence
Claude Sonnet 43.0015.00200KDefault production équilibré
Claude Opus 415.0075.00200KAgents long horizon, raisonnement le plus difficile
GPT-55.0015.00128KTool calling et écosystème solides
Gemini 2.5 Pro1.2510.001M+Multimodal, long contexte
Owl Alpha0.000.001.05MTier gratuit ; n'envoyez pas de secrets

BYOK (Bring Your Own Key)

BYOK connecte vos clés API OpenAI, Anthropic ou Google existantes à OpenRouter. Les requêtes passent par l'infrastructure OpenRouter mais facturent directement votre compte vendor. OpenRouter facture une petite redevance (typiquement 5 % du coût upstream) pour routage, observabilité et fallback. Idéal si vous avez déjà un pricing enterprise chez un vendor mais voulez un routage unifié multi-providers.

Modèles gratuits et crédits

OpenRouter héberge plusieurs modèles au prix catalogue 0 $ — dont Owl Alpha et Nemotron 3 Super. Les nouveaux comptes reçoivent des crédits de démarrage. Les modèles gratuits conviennent au prototypage et tâches Agent draft, mais peuvent journaliser les prompts. Ne routez jamais données réglementées, PII clients ou secrets production via modèles gratuits.

Données concrètes pour revues d'architecture

  • Nombre de modèles : 400+ modèles sur 60+ providers sur OpenRouter (juillet 2026)
  • Écart de prix : DeepSeek V4 Flash ~0,10 $/M input vs Claude Opus 4 15 $/M — environ 150x d'écart sur tokens input
  • Signal trafic : DeepSeek détient ~17,6 % part hebdomadaire tokens OpenRouter ; modèles ouverts chinois dépassent 60 % collectivement
  • Overhead latence : proxy OpenRouter ajoute ~20–80 ms selon région ; négligeable pour Agents, mesurable pour chat temps réel
  • Valeur fallback : les équipes rapportent 40–60 % moins d'échecs durs après chaînes fallback vs routage mono-vendor
  • Mix appels Agent : State of AI Agents 2026 d'Anthropic : ~44 % des appels Claude API sont maths et computer-use — charges qui bénéficient le plus du routage par tier de coût

Checklist SEO quand le trafic FR est faible

VpsMesh publie en huit langues. Les pages françaises performent souvent moins que leurs équivalents chinois en trafic brut — mais restent essentielles pour découvrabilité locale, équité de liens et confiance développeurs. Si vos articles FR affichent peu d'impressions dans Google Search Console, parcourez cette checklist avant de remettre en cause la qualité du contenu.

  1. 01

    Google Search Console : vérifiez la propriété /fr/ séparément. Coverage pour erreurs crawl, inspection URL pour canonical mismatch, Performance filtrée sur /fr/blog/. Peu d'impressions sans clics signifient souvent lag d'indexation, pas mauvais contenu.

  2. 02

    Tags hreflang : chaque article français a besoin de liens hreflang réciproques vers zh, ja, ko, en, de, ru et zh-Hant. hreflang manquant ou unidirectionnel est la cause la plus fréquente pour laquelle Google sert l'URL chinoise aux requêtes françaises.

  3. 03

    Réglage CDN et WAF : assurez-vous que Cloudflare ou votre CDN ne geo-bloque pas les crawlers EU/FR ni ne challenge-captcha. Bot Fight Mode agressif peut silencieusement dropper Googlebot sur nouveaux chemins /fr/.

  4. 04

    Localisation, pas traduction : les pages françaises doivent être des réécritures natives avec intent de recherche FR — « tutoriel API OpenRouter » plutôt qu'une traduction littérale de clusters de mots-clés chinois. Title tags, H2 et questions FAQ doivent correspondre à la recherche réelle des développeurs francophones.

  5. 05

    Liens internes depuis le hub FR : liez les nouveaux posts FR depuis /fr/blog/index.html et au moins deux articles FR connexes. Les pages orphelines dans une locale de niche rankent rarement.

  6. 06

    Données structurées : BlogPosting et FAQPage JSON-LD sur chaque article. Le schema FAQ alimente les rich results pour long-tail comme « OpenRouter est-il gratuit » et « OpenRouter vs API directe ».

i

Conseil pratique : après publication, soumettez l'URL française via Inspection d'URL GSC et demandez l'indexation. Associez-la à un backlink contextuel depuis un autre article FR — l'équité de liens internes compte plus que la densité de mots-clés pour les nouveaux chemins /fr/.

06

Après le routage API : héberger votre Agent 24/7 sur un Mac Mini

OpenRouter résout le problème vendor d'inférence — une clé, chaînes fallback, facturation unifiée. Il ne résout pas le problème d'uptime hôte. Les daemons Agent appelant OpenRouter toutes les minutes ont besoin d'une machine qui ne dort jamais, stocke les secrets dans Keychain et exécute des outils natifs macOS comme Claude Code, Xcode et OpenClaw sans hacks de compatibilité Linux.

Pattern production : les développeurs branchent OpenRouter en un après-midi, puis perdent les runs Agent nocturnes quand le laptop se ferme ou qu'une VM cloud free-tier est preempted. Linux VPS fonctionne pour scripts API purs sans dépendance macOS. Les stacks Claude Code + OpenClaw + iOS CI paient une double taxe d'intégration sur Linux — lacunes Metal, contournements Keychain et absence de Xcode ajoutent des semaines de glue code.

Location cloud Mac Mini M4 VpsMesh regroupe uptime 24/7, KVM distant, supervision daemon launchd et chemins macOS natifs en OpEx mensuel prévisible. Pointez votre config OpenRouter vers la location, stockez les clés dans Keychain, laissez les Agents tourner pendant que vous reviewez les diffs localement. Un mois suffit pour valider le routage, mesurer la consommation tokens et confirmer la stabilité du daemon.

Voir les tarifs de location Mac Mini M4 pour comparer les plans et le centre d'aide pour déploiement, SSH et durcissement daemon. Pour patterns gateway multi-modèles sur le même hôte : notre guide routage OpenClaw et setup Agent persistant.

FAQ

Six questions que les développeurs posent avant de passer à OpenRouter

OpenRouter n'a pas de frais de plateforme mensuels. Vous payez par token aux tarifs listés, ou 0 $ sur modèles gratuits comme Owl Alpha. Les nouveaux comptes reçoivent un crédit de test. Les charges Agent production doivent utiliser routes payantes avec plafonds budgétaires dans le dashboard.

Sur routes standard, OpenRouter transmet les tarifs catalogue upstream sans marge cachée. Routes BYOK facturent directement le vendor ; OpenRouter facture une petite redevance (typiquement ~5 %) pour routage et observabilité. Comparez sur openrouter.ai/models.

Oui quand vous avez besoin d'accès multi-vendors, fallback automatique, facturation unifiée ou drop-in SDK OpenAI. Passez votre chemin avec contrat enterprise mono-vendor, features natives (Assistants, prompt caching) ou inférence dans une région cloud précise sans sauts proxy.

400+ modèles d'OpenAI, Anthropic, Google, Meta, DeepSeek, Mistral, xAI et autres. Utilisez GET /api/v1/models ou le catalogue openrouter.ai/models. IDs suivent vendor/model-name — ex. anthropic/claude-sonnet-4, openai/gpt-5, google/gemini-2.5-pro-preview.

OpenRouter est certifié SOC 2 Type II et n'entraîne pas sur trafic API par défaut. Routez données réglementées via BYOK ou modèles auto-hébergés. Rotation mensuelle des clés, rate limits par clé, jamais de secrets dans git. Modèles gratuits peuvent journaliser prompts — secrets production uniquement sur routes payantes.

Installez le package openai, définissez base_url="https://openrouter.ai/api/v1" et api_key sur votre clé OpenRouter. Passez un ID modèle supporté dans le champ model. Ajoutez HTTP-Referer et X-Title via extra_headers. Exemple complet section 04 ci-dessus.