Fangen wir mit dem fairen Teil an: OpenRouter ist der Breiten-Champion. Ein Key, eine Base-URL, und du erreichst 300+ Modelle — inklusive des Open-Source-Long-Tails (Llama, Qwen, DeepSeek, Mistral und Dutzende Community-Fine-Tunes), den keine Erstanbieter-API freigibt. Wenn dein Job darin besteht, ein breites Feld zu evaluieren, bei Ausfällen über Anbieter hinweg umzurouten oder ein Nischen-Open-Weights-Modell zu erreichen, ist dieser Katalog eine echte, schwer zu replizierende Stärke. Dieser Beitrag ist keine Abrechnung.
Es ist ein Wann-passt-was-Leitfaden. Es gibt eine andere Klasse von Aufgaben — solche, bei denen du das echte Erstanbieter-Flaggschiff mit intakten nativen Features willst, eine Abrechnung, die du Token für Token prüfen kannst, Bild und Video auf demselben Key, und einen Rabatt pro Modell, der klein genug ist, um echt zu sein. Genau hier stellen Teams ein Gateway in Erstanbieter-Qualität wie Brievio neben OpenRouter, oder verlagern den Produktionspfad ganz dorthin. Die Migration selbst ist eine einzeilige base_url-Änderung plus ein Modell-Slug-Rename. Hier sind die ehrliche Entscheidung und die Mechanik.
Wann OpenRouter die richtige Wahl ist
Sei dir darüber im Klaren, bevor du irgendetwas änderst. OpenRouter passt besser, wenn:
- Du den Open-Source-Long-Tail brauchst. Llama, Qwen, DeepSeek, Mistral und Community-Fine-Tunes liegen auf keiner Erstanbieter-API. Wenn deine Roadmap Open-Weights-Modelle berührt, willst du diesen Katalog.
- Du eine breite Evaluation fährst. Zwanzig Modelle über fünf Anbieter zu vergleichen, ist genau das, wofür ein 300-Modelle- Aggregator gebaut ist. Ein Key, ein Schema, jedes Modell.
- Du anbieterübergreifendes Failover als Feature willst. OpenRouter kann für ein gegebenes Modell über Upstream-Anbieter hinweg ausweichen. Für manche Verfügbarkeitsprofile ist genau diese Breite des Routings der Punkt.
- Du den günstigsten Host eines bestimmten Open-Modells ausschreibst. Der Marktplatz zeigt mehrere Anbieter pro Modell und lässt dich nach Preis sortieren. Das ist ein echter Hebel.
Nichts davon verschwindet, wenn du Brievio hinzunimmst. Viele Teams behalten OpenRouter für genau diese Aufgaben und lenken nur den Erstanbieter-Produktionsverkehr woanders hin. Zwei Base-URLs, eine Codebase.
Wann ein Gateway in Erstanbieter-Qualität besser passt
Der Fall fürs Umsteigen (oder Aufteilen des Verkehrs) ist enger und spezifischer. Greif dazu, wenn das hier zählt:
- Du das echte Erstanbieter-Modell brauchst, mit intakten nativen Features. Kein Fine-Tune und kein Beinahe-Äquivalent — das tatsächliche Claude Opus 4.7 / Sonnet 4.6 / Haiku 4.5 und Gemini 2.5 Pro / Flash, mit nativem Tool-Use, Vision und Prompt-Caching, die so funktionieren, wie der Anbieter sie dokumentiert. Wenn das Verhalten eines Flaggschiffs dein Produkt ist, reicht „nah genug" nicht.
- Du eine ehrliche, prüfbare Token-Abrechnung willst.Deine echten Kosten sind Tarif × Tokens, und die Token-Zahl ist die Zahl, die sich am leichtesten aufblähen lässt. Brievio meldet die echten Erstanbieter-Token-Zahlen und rechnet sie geradeheraus ab. Falls du das nie geprüft hast, gibt es einen zwanzigzeiligen Selbsttest.
- Du Bild und Video auf demselben Key willst. Nano Banana und Nano Banana Pro, GPT-Image-2 und Veo 3 liegen hinter denselben Credentials und demselben OpenAI-förmigen Client wie deine Chat-Modelle — kein zweiter Anbieter-Account, keine separate Abrechnungsfläche.
- Du einen Rabatt willst, der klein genug ist, um ihm zu trauen. Chat-Modelle laufen rund 15% unter offizieller Liste, Bild und Video grob 37,5% darunter, je Modell gegen den offiziellen Referenztarif veröffentlicht, damit du die Spanne prüfen kannst. Ein moderater, erklärbarer Rabatt ist eine Marge auf Volumen — keine Subvention, die irgendwo, wo du es nicht siehst, wieder hereingeholt werden muss.
- Fehlgeschlagene Calls sind kostenlos. 4xx- und 5xx-Antworten werden nicht berechnet, sodass ein schlechter Tag eines Upstreams nicht klammheimlich zu einer Position auf deiner Rechnung wird.
Die Migration: eine base_url, ein Key
Weil beide Gateways die OpenAI Chat Completions API implementieren, ist der Umstieg der kleinste Diff in deiner Codebase. Du richtest das SDK auf einen neuen Host und tauschst den Key. Streaming, Function Calling, JSON-Mode und deine Request-Formen bleiben unangetastet:
# Der Umstieg von OpenRouter ist ein Zwei-Zeilen-Diff: tausche base_url und Key.
# Alles andere — das OpenAI SDK, deine Request-Formen, Streaming, Tools —
# bleibt exakt gleich, denn beide sprechen die OpenAI Chat Completions API.
from openai import OpenAI
# --- Vorher: OpenRouter ---
client = OpenAI(
api_key="sk-or-...",
base_url="https://openrouter.ai/api/v1",
)
# --- Nachher: Brievio ---
client = OpenAI(
api_key="sk-brievio-...",
base_url="https://api.brievio.com/v1",
)
resp = client.chat.completions.create(
model="claude-sonnet-4-6", # siehe Modellnamen-Mapping unten
messages=[{"role": "user", "content": "Summarize this contract clause…"}],
)Falls du überhaupt vom offiziellen OpenAI SDK zu OpenRouter gekommen bist, wird dir das vertraut vorkommen — es ist derselbe Schritt wie unsere Zehn-Minuten-Migration von OpenAI, nur mit einem anderen Ursprung. Kein neues SDK, kein Umschreiben deiner Aufrufstellen.
Das eine, was du änderst: die Modell-Slugs
Hier ist der einzige Verhaltensunterschied, der ein paar Minuten Sorgfalt wert ist. OpenRouter benennt jedes Modell als vendor/model — anthropic/claude-sonnet-4.6, google/gemini-2.5-flash — denn bei 300+ Modellen über viele Anbieter hinweg verhindert die Namensraum-Trennung Kollisionen. Brievio bedient ein kuratiertes Erstanbieter-Set, deshalb sind die Slugs schlicht: claude-sonnet-4-6, gemini-2.5-flash. Kein vendor/-Präfix.
# Das eine, was du tatsächlich anfasst: die Modell-Slugs.
# OpenRouter benennt jedes Modell als "vendor/model", damit 300+ Modelle von
# vielen Anbietern nie kollidieren. Brievio bedient ein kuratiertes Erstanbieter-Set,
# deshalb sind die Slugs schlicht — kein "vendor/"-Präfix.
MODEL_MAP = {
# OpenRouter-Slug -> Brievio-Slug
"anthropic/claude-opus-4.7": "claude-opus-4-7",
"anthropic/claude-sonnet-4.6": "claude-sonnet-4-6",
"anthropic/claude-haiku-4.5": "claude-haiku-4-5",
"google/gemini-2.5-pro": "gemini-2.5-pro",
"google/gemini-2.5-flash": "gemini-2.5-flash",
# Bild + Video liegen auf DEMSELBEN Key — kein separater Anbieter-Account:
# "nano-banana", "nano-banana-pro", "gpt-image-2", "veo-3"
}
def to_brievio(slug: str) -> str:
return MODEL_MAP.get(slug, slug.split("/")[-1])
# Pragmatische Abkürzung für Claude/Gemini: Präfix weglassen und in der Version
# Punkt zu Bindestrich. "anthropic/claude-sonnet-4.6" -> "claude-sonnet-4-6". Prüfe jeden
# gegen /models, damit ein Tippfehler laut scheitert statt still falsch zu routen.Für Claude und Gemini ist die Regel mechanisch: Präfix weglassen und die Version mit Bindestrichen statt eines Punkts schreiben (4.6 → 4-6). Halt ein kleines Mapping-Dict, statt blind an Strings herumzubasteln, und validiere jeden Slug gegen die Modell-Liste, damit ein Tippfehler beim Start laut scheitert, statt still an die falsche Stelle zu routen. Das ist das einzige Suchen-und-Ersetzen, das die Migration wirklich verlangt.
Ein pragmatischer Rollout
Du musst dich nicht auf einen Schlag entscheiden. Der risikoärmste Weg behandelt die beiden Gateways als Ergänzung:
- Lass sie nebeneinander laufen. Behalt OpenRouter für den Open-Source-Long-Tail und dein Eval-Harness. Nimm Brievio als zweiten Client für die Erstanbieter-Flaggschiffe in deinem Produktionspfad. Zwei Base-URLs, ein Repo.
- Schatte mit, bevor du umschaltest. Spiegle einen Ausschnitt des Live-Verkehrs zu Brievio und vergleiche die Antworten und die
usage-Objekte. Du prüfst, dass das Modell das echte Erstanbieter-Modell ist und dass die Token-Zahlen zu deinen Erwartungen passen — der Token-Selbsttest ist genau diese Prüfung, automatisiert. - Verschiebe die multimodale Arbeit zuerst. Wenn du heute einen separaten Bild- oder Video-Anbieter zusammenstückelst, ist es oft der sauberste frühe Gewinn, Nano Banana / GPT-Image-2 / Veo 3 auf einem Key zu konsolidieren — weniger Accounts, eine Rechnung, ein Auth-Pfad.
- Befördere, wenn der Diff langweilig ist. Sobald der geschattete Verkehr übereinstimmt und die Zahlen sich abgleichen, schalt den Produktions-Default um. Roll zurück, indem du eine
base_urlzurücksetzt, falls dich etwas überrascht.
Das ehrliche Fazit
OpenRouter und ein Gateway in Erstanbieter-Qualität konkurrieren gar nicht wirklich um denselben Job. OpenRouter optimiert auf Reichweite — den breitesten Katalog und den Open-Source-Long-Tail unter einem Key, was eine echte und wertvolle Sache ist. Brievio optimiert auf Originaltreue auf einem kuratierten Set — die echten Erstanbieter-Flaggschiffe mit intakten nativen Features, ehrliche, prüfbare Token-Abrechnung, Bild und Video auf demselben Key und einen Rabatt pro Modell, der klein genug ist, um ihm zu trauen. Beide liegen hinter einer einzigen OpenAI-kompatiblen base_url, was genau der Grund ist, warum so viele Teams beide betreiben: Breite, wo sie Breite brauchen, Originaltreue, wo es zählt.
Wenn du die echten Erstanbieter-Modelle mit ihrem nativen Verhalten und einer Abrechnung willst, die du verifizieren kannst, kostet dich der Schritt eine base_url, einen Key und ein Modell-Slug-Rename. Lies den direkten Vergleich auf Brievio vs. OpenRouter, durchstöbere die genauen Modelle und Slugs auf der Modell-Liste, und lass den Token-Selbsttest gegen beide laufen, bevor du irgendwo echten Verkehr hinlegst. Die Entscheidung übersteht die Prüfung so oder so — und das ist die einzige Art von Entscheidung, die es wert ist, ausgeliefert zu werden.