Heutzutage kann sich das Bauen mit KI chaotisch anfühlen. Sie könnten eine API für Textual content, eine andere für Bilder und eine andere für etwas anderes verwenden. Jedes Modell verfügt über ein eigenes Setup, einen eigenen API-Schlüssel und eine eigene Abrechnung. Das verlangsamt Sie und macht die Dinge schwieriger als nötig. Was wäre, wenn Sie alle diese Modelle über eine einfache API nutzen könnten? Hier hilft OpenRouter. Es gibt Ihnen einen Ort, an dem Sie auf Modelle von Anbietern wie zugreifen können OpenAI, GoogleAnthropisch und mehr. In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie OpenRouter nutzen, vom ersten API-Aufruf bis zur Erstellung realer Anwendungen.
Was ist OpenRouter?
Mit OpenRouter können Sie über eine einzige API auf viele KI-Modelle zugreifen. Sie müssen nicht jeden Anbieter einzeln einrichten. Sie stellen einmal eine Verbindung her, verwenden einen API-Schlüssel und schreiben einen Codesatz. OpenRouter übernimmt den Relaxation, wie Authentifizierung, Anforderungsformatierung und Abrechnung. Dies erleichtert das Ausprobieren verschiedener Modelle. Sie können gerne zwischen den Modellen wechseln GPT-5, Claude 4.6, Gemini 3.1 Professionaloder Lama 4 indem Sie nur einen Parameter in Ihrem Code ändern. Dies hilft Ihnen bei der Auswahl des richtigen Modells basierend auf Kosten, Geschwindigkeit oder Funktionen wie Argumentation und Bildverständnis.

Wie funktioniert OpenRouter?
OpenRouter fungiert als Brücke zwischen Ihrer Anwendung und verschiedenen KI-Anbietern. Ihre App sendet eine Anfrage an die OpenRouter-API und wandelt diese Anfrage in ein Standardformat um, das jedes Modell verstehen kann.

Anschließend kommt eine hochmoderne Routing-Engine zum Einsatz. Es findet anhand einer Reihe von Regeln, die Sie festlegen können, den besten Anbieter für Ihre Anfrage. Es kann beispielsweise so eingestellt werden, dass der kostengünstigste Anbieter, der mit der kürzesten Latenzzeit oder lediglich solche mit besonderen Datenschutzanforderungen wie Zero Knowledge Retention (ZDR) bevorzugt werden.
Die Plattform verfolgt die Leistung und Verfügbarkeit aller Anbieter und ist so in der Lage, intelligente Routing-Entscheidungen in Echtzeit zu treffen. Falls Ihr bevorzugter Anbieter nicht ordnungsgemäß funktioniert, wechselt der OpenRouter automatisch zu einem bekanntermaßen funktionierenden Anbieter und verbessert die Stabilität Ihrer Anwendung.
Erste Schritte: Ihr erster API-Aufruf
OpenRouter ist außerdem einfach einzurichten, da es sich um einen gehosteten Dienst handelt, dh es muss keine Software program installiert werden. Es kann in wenigen Minuten fertig sein:
Schritt 1: Erstellen Sie ein Konto und erhalten Sie Credit:
Melden Sie sich zunächst bei OpenRouter.ai an. Um die kostenpflichtigen Modelle nutzen zu können, müssen Sie einige Credit erwerben.
Schritt 2: Generieren Sie einen API-Schlüssel
Navigieren Sie zum Abschnitt „Schlüssel“ in Ihrem Konto-Dashboard. Klicken Sie auf „Schlüssel erstellen“, geben Sie ihm einen Namen und kopieren Sie den Schlüssel sicher. Verwenden Sie als Greatest Observe separate Schlüssel für verschiedene Umgebungen (z. B. Entwicklung, Produktion) und legen Sie Ausgabengrenzen fest, um die Kosten zu kontrollieren.
Schritt 3: Konfigurieren Sie Ihre Umgebung
Speichern Sie Ihren API-Schlüssel in einer Umgebungsvariablen, um zu vermeiden, dass er in Ihrem Code offengelegt wird.
Schritt 4: Lokales Setup mithilfe einer Umgebungsvariablen:
Für macOS oder Linux:
export OPENROUTER_API_KEY="your-secret-key-here"
Für Home windows (PowerShell):
setx OPENROUTER_API_KEY "your-secret-key-here"
Eine Anfrage auf OpenRouter stellen
Da OpenRouter über eine mit OpenAI kompatible API verfügt, können Sie offizielle OpenAI-Clientbibliotheken verwenden, um Anfragen zu stellen. Dies macht den Migrationsprozess eines bereits abgeschlossenen OpenAI-Projekts unglaublich einfach.
Python-Beispiel mit dem OpenAI SDK
# First, guarantee you could have the library put in:
# pip set up openai
import os
from openai import OpenAI
# Initialize the shopper, pointing it to OpenRouter's API
shopper = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ.get("OPENROUTER_API_KEY"),
)
# Ship a chat completion request to a selected mannequin
response = shopper.chat.completions.create(
mannequin="openai/gpt-4.1-nano",
messages=(
{
"function": "consumer",
"content material": "Clarify AI mannequin routing in a single sentence."
},
),
)
print(response.selections(0).message.content material)
Ausgabe:

Erkunden von Modellen und erweitertem Routing
OpenRouter zeigt seine wahre Stärke über einfache Anfragen hinaus. Seine Plattform unterstützt dynamisches und intelligentes KI-Modell-Routing.
Modelle programmatisch entdecken
Da Modelle kontinuierlich hinzugefügt oder aktualisiert werden, sollten Sie Modellnamen nicht in einer Ihrer Produktionsanwendungen fest codieren. Stattdessen verfügt Openrouter über einen /models-Endpunkt, der die Liste aller verfügbaren Modelle mit empfohlenen Preisen, Kontextbeschränkungen und Funktionen zurückgibt.
import os
import requests
# Fetch the checklist of accessible fashions
response = requests.get(
"https://openrouter.ai/api/v1/fashions",
headers={
"Authorization": f"Bearer {os.environ.get('OPENROUTER_API_KEY')}"
},
)
if response.status_code == 200:
fashions = response.json()("information")
# Filter for fashions that assist instrument use
tool_use_models = (
m for m in fashions
if "instruments" in (m.get("supported_parameters") or ())
)
print(f"Discovered {len(fashions)} complete fashions.")
print(f"Discovered {len(tool_use_models)} fashions that assist instrument use.")
else:
print(f"Error fetching fashions: {response.textual content}"
Ausgabe:

Intelligentes Routing und Fallbacks
Sie können die Artwork und Weise verwalten, wie OpenRouter einen Anbieter auswählt, und Backups für den Fall eines Anforderungsfehlers einrichten. Dies ist die entscheidende Belastbarkeit von Produktionssystemen.
- Routenplanung: Senden Sie ein Anbieterobjekt in Ihre Anfrage, um Modelle nach Latenz oder Preis zu bewerten oder Richtlinien wie zdr (Zero Knowledge Retention) bereitzustellen.
- Rückschläge: Wenn Ersteres fehlschlägt, versucht OpenRouter automatisch Folgendes in der Liste. Es wird nur der erfolgreiche Versuch berechnet.
Hier ist ein Python-Beispiel, das eine Fallback-Kette demonstriert:
# The first mannequin is 'openai/gpt-4.1-nano'
# If it fails, OpenRouter will attempt 'anthropic/claude-3.5-sonnet',
# then 'google/gemini-2.5-pro'
response = shopper.chat.completions.create(
mannequin="openai/gpt-4.1-nano",
extra_body={
"fashions": (
"anthropic/claude-3.5-sonnet",
"google/gemini-2.5-pro"
)
},
messages=(
{
"function": "consumer",
"content material": "Write a brief poem about area."
}
),
)
print(f"Mannequin used: {response.mannequin}")
print(response.selections(0).message.content material)
Ausgabe:

Erweiterte Fähigkeiten beherrschen
Die gleiche Chat-Abschluss-API kann verwendet werden, um Bilder an jedes visionsfähige Modell zu senden, um sie zu analysieren. Sie müssen lediglich das Bild als URL oder als Base64-codierte Zeichenfolge zu Ihrem Nachrichtenarray hinzufügen.
Strukturierte Ausgaben (JSON-Modus)
Benötigen Sie eine zuverlässige JSON-Ausgabe? Sie können jedes kompatible Modell anweisen, eine Antwort zurückzugeben, die einem bestimmten JSON-Schema entspricht. Der OpenRouter verfügt sogar über ein optionales Response-Therapeutic-Plugin, mit dem fehlerhaftes JSON aufgrund von Modellen repariert werden kann, die Probleme mit der strikten Formatierung haben.
# Requesting a structured JSON output
response = shopper.chat.completions.create(
mannequin="openai/gpt-4.1-nano",
messages=(
{
"function": "consumer",
"content material": "Extract the title and age from this textual content: 'John is 30 years outdated.' in JSON format."
}
),
response_format={
"kind": "json_object",
"json_schema": {
"title": "user_schema",
"schema": {
"kind": "object",
"properties": {
"title": {"kind": "string"},
"age": {"kind": "integer"}
},
"required": ("title", "age"),
},
},
},
)
print(response.selections(0).message.content material)
Ausgabe:

Multimodale Eingaben: Arbeiten mit Bildern
Sie können dieselbe Chat-Abschluss-API verwenden, um Bilder zur Analyse an jedes visionsfähige Modell zu senden. Fügen Sie das Bild einfach als URL oder als Base64-codierte Zeichenfolge zu Ihrem Nachrichten-Array hinzu.
# Sending a picture URL for evaluation
response = shopper.chat.completions.create(
mannequin="openai/gpt-4.1-nano",
messages=(
{
"function": "consumer",
"content material": (
{
"kind": "textual content",
"textual content": "What's on this picture?"
},
{
"kind": "image_url",
"image_url": {
"url": "https://encrypted-tbn0.gstatic.com/photographs?q=tbn:ANd9GcRmqgVW-371UD3RgE3HwhF11LYbGcVfn9eiTYqiw6a8fK51Es4SYBK0fNVyCnJzQit6YKo9ze3vg1tYoWlwqp3qgiOmRxkTg1bxPwZK3A&s=10"
}
},
),
}
),
)
print(response.selections(0).message.content material)
Ausgabe:

Ein kostenbewusster Multi-Supplier-Agent
Die eigentliche Stärke von OpenRouter liegt in der Entwicklung fortschrittlicher, erschwinglicher und hochverfügbarer Anwendungen. Zur Veranschaulichung: Wir können einen realistischen Agenten entwickeln, der mithilfe eines abgestuften Ansatzes der „Low-cost to Sensible“-Strategie dynamisch das beste Modell zur Erfüllung einer bestimmten Aufgabe auswählt.
Das erste, was dieser Agent tun wird, ist, mithilfe eines schnellen und kostengünstigen Modells zu versuchen, auf eine Anfrage eines Benutzers zu antworten. Für den Fall, dass dieses Modell nicht intestine genug ist (z. B. wenn die Aufgabe tiefgründige Überlegungen erfordert), wird die Abfrage nach oben auf ein leistungsfähigeres Premium-Modell umgeleitet. Dies ist ein typischer Pattern bei Produktionsanwendungen, bei denen ein Gleichgewicht zwischen Leistung, Preis und Qualität gefunden werden muss.
Die „Low-cost-to-Sensible“-Logik
Unser Agent wird die folgenden Schritte ausführen:
- Erhalten Sie die Eingabeaufforderung eines Benutzers.
- Senden Sie die Aufforderung zunächst an ein kostengünstiges Modell.
- Untersuchen Sie die Antwort, um festzustellen, ob das Modell auf die Anfrage antworten konnte. Eine einfache Methode hierfür besteht darin, das Modell aufzufordern, mit seiner Ausgabe einen Konfidenzwert bereitzustellen.
- Wenn das Vertrauen gering ist, wiederholt der Agent automatisch dieselbe Eingabeaufforderung mit einem Excessive-Finish-Modell, was zu einer guten Antwort auf eine komplexe Aufgabe führt.
Dieser Ansatz stellt sicher, dass Sie für einfache Anfragen nicht zu viel bezahlen und dennoch auf Abruf die Leistung von Spitzenmodellen nutzen können.
Python-Implementierung
So können Sie diese Logik in Python implementieren. Wir werden strukturierte Ausgaben verwenden, um das Modell nach seinem Konfidenzniveau zu fragen, was das Parsen der Antwort zuverlässig macht.
from openai import OpenAI
import os
import json
# Initialize the shopper for OpenRouter
shopper = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key=os.environ.get("OPENROUTER_API_KEY"),
)
def run_cheap_to_smart_agent(immediate: str):
"""
Runs a immediate first by means of an inexpensive mannequin, then escalates to a
smarter mannequin if confidence is low.
"""
cheap_model = "mistralai/mistral-7b-instruct"
smart_model = "openai/gpt-4.1-nano"
# Outline the specified JSON construction for the response
json_schema = {
"kind": "object",
"properties": {
"reply": {"kind": "string"},
"confidence": {
"kind": "integer",
"description": "A rating from 1-100 indicating confidence within the reply.",
},
},
"required": ("reply", "confidence"),
}
# First, attempt a budget mannequin
print(f"--- Trying with low-cost mannequin: {cheap_model} ---")
attempt:
response = shopper.chat.completions.create(
mannequin=cheap_model,
messages=(
{
"function": "consumer",
"content material": f"Reply the next immediate and supply a confidence rating from 1-100. Immediate: {immediate}",
}
),
response_format={
"kind": "json_object",
"json_schema": {
"title": "agent_response",
"schema": json_schema,
},
},
)
# Parse the JSON response
consequence = json.masses(response.selections(0).message.content material)
reply = consequence.get("reply")
confidence = consequence.get("confidence", 0)
print(f"Low-cost mannequin confidence: {confidence}")
# If confidence is beneath a threshold (e.g., 70), escalate
if confidence < 70:
print(f"--- Confidence low. Escalating to sensible mannequin: {smart_model} ---")
# Use a less complicated immediate for the sensible mannequin
smart_response = shopper.chat.completions.create(
mannequin=smart_model,
messages=(
{
"function": "consumer",
"content material": immediate,
}
),
)
final_answer = smart_response.selections(0).message.content material
else:
final_answer = reply
besides Exception as e:
print(f"An error occurred with a budget mannequin: {e}")
print(f"--- Falling again on to sensible mannequin: {smart_model} ---")
smart_response = shopper.chat.completions.create(
mannequin=smart_model,
messages=(
{
"function": "consumer",
"content material": immediate,
}
),
)
final_answer = smart_response.selections(0).message.content material
return final_answer
# --- Check the Agent ---
# 1. A easy immediate that a budget mannequin can deal with
simple_prompt = "What's the capital of France?"
print(f"Closing Reply for Easy Immediate:n{run_cheap_to_smart_agent(simple_prompt)}n")
# 2. A posh immediate that can possible require escalation
complex_prompt = "Present an in depth comparability of the transformer structure and recurrent neural networks, specializing in their respective benefits for sequence processing duties."
print(f"Closing Reply for Advanced Immediate:n{run_cheap_to_smart_agent(complex_prompt)}")
Ausgabe:

Dieses praktische Beispiel geht über einen einfachen API-Aufruf hinaus und zeigt, wie man ein intelligenteres, kostengünstigeres System unter Verwendung der Kernstärken von OpenRouter entwickeln kann: Modellvielfalt und strukturierte Ausgaben.
Überwachung und Beobachtbarkeit
Es ist von entscheidender Bedeutung, die Leistung und Kosten Ihrer Anwendung zu verstehen. OpenRouter bietet integrierte Instruments zur Unterstützung.
- Nutzungsabrechnung: Jede API-Antwort enthält detaillierte Metadaten über die Token-Nutzung und die Kosten für diese spezifische Anfrage und ermöglicht so eine Kostenverfolgung in Echtzeit.
- Broadcast-Funktion: Ohne zusätzlichen Code können Sie OpenRouter so konfigurieren, dass es automatisch detaillierte Spuren Ihrer API-Aufrufe an Observability-Plattformen wie Langfuse oder Datadog sendet. Dies bietet tiefe Einblicke in Latenz, Fehler und Leistung über alle Modelle und Anbieter hinweg.
Abschluss
Die Ära der Bindung an einen einzigen KI-Anbieter ist vorbei. Instruments wie OpenRouter verändern die Entwicklererfahrung grundlegend, indem sie eine Abstraktionsebene bereitstellen, die beispiellose Flexibilität und Belastbarkeit ermöglicht. Durch die Vereinheitlichung der fragmentierten KI-Landschaft erspart Ihnen OpenRouter nicht nur die mühsame Arbeit der Verwaltung mehrerer Integrationen, sondern ermöglicht Ihnen auch die Entwicklung intelligenterer, kostengünstigerer und robusterer Anwendungen. Bei der Zukunft der KI-Entwicklung geht es nicht darum, einen Gewinner auszuwählen; Es geht darum, nahtlosen Zugriff auf alle zu haben. Mit diesem Leitfaden verfügen Sie nun über die Karte, mit der Sie sich in dieser Zukunft zurechtfinden.
Häufig gestellte Fragen
A. OpenRouter bietet eine einzige, einheitliche API für den Zugriff auf Hunderte von KI-Modellen verschiedener Anbieter. Dies vereinfacht die Entwicklung, erhöht die Zuverlässigkeit durch automatische Fallbacks und ermöglicht Ihnen den einfachen Wechsel von Modellen zur Optimierung von Kosten oder Leistung.
A. Nein, es ist als OpenAI-kompatible API konzipiert. Sie können vorhandene OpenAI-SDKs verwenden und müssen oft nur die Foundation-URL ändern, um auf OpenRouter zu verweisen.
A. Die Fallback-Funktion von OpenRouter wiederholt Ihre Anfrage automatisch mit einem von Ihnen angegebenen Backup-Modell. Dadurch wird Ihre Anwendung widerstandsfähiger gegenüber Anbieterausfällen.
A. Ja, Sie können für jeden API-Schlüssel strenge Ausgabenlimits festlegen, mit täglichen, wöchentlichen oder monatlichen Rücksetzungsplänen. Jede API-Antwort enthält außerdem detaillierte Kostendaten für die Echtzeitverfolgung.
A. Ja, OpenRouter unterstützt strukturierte Ausgaben. Sie können in Ihrer Anfrage ein JSON-Schema angeben, um das Modell zu zwingen, eine Antwort in einem gültigen, vorhersehbaren Format zurückzugeben.
Melden Sie sich an, um weiterzulesen und von Experten kuratierte Inhalte zu genießen.
