Die Basis-URL ist der einfache Teil beim Wechsel eines Anbieters; die Fehlerpfade sind der Punkt, an dem Migrationen scheitern. Um von OpenAI zu TokenLab zu migrieren, ändern Sie zwei Werte in Ihrem OpenAI SDK-Client: base_url und api_key. Der Rest dieses Leitfadens behandelt, was Sie rund um diese Änderung bestätigen müssen. Das bedeutet: die Modell-ID, die Sie senden, deren aktueller Preis, Streaming, Tool-Aufrufe, Fehlerbehandlung, Timeouts und Abrechnung. Die folgenden Fakten stammen aus der TokenLab-Dokumentation und der Live-Modell-API, jeweils mit dem Datum ihrer Beobachtung.
Wichtige Erkenntnisse
- Die zentrale Änderung umfasst zwei Werte: die TokenLab-Basis-URL
https://api.tokenlab.sh/v1und einen TokenLab-API-Key (diese beginnen mitsk-). - TokenLab dokumentiert die Unterstützung des OpenAI SDK für Chat Completions und Responses. Optionale Parameter, Tool-Optionen und Responses-only-Felder hängen weiterhin vom gewählten Modell ab.
- Lesen Sie den Preis Ihres Modells aus der Live-API, bevor Sie eine Entscheidung treffen. Am 03.10.2026 kostete
gpt-5.51,50 $ für Input und 9,00 $ für Output pro 1 Mio. Token. - Gehen Sie die Checkliste am Ende durch, bevor Sie Produktions-Traffic verschieben. Die meisten Überraschungen liegen in der Fehlerbehandlung, bei Timeouts und der Abrechnung, nicht im Happy Path.
Die Zwei-Werte-Änderung für die Migration von OpenAI zu TokenLab
Beginnen Sie mit dem Key. Gemäß dem Quickstart (beobachtet am 03.10.2026) erstellen Sie ein Konto, einen API-Key und speichern den vollständigen Wert sofort. Er wird nur einmal angezeigt, und das Präfix in der Key-Liste kann keine Anfragen authentifizieren. Überprüfen Sie Ihr Guthaben vor dem ersten Aufruf, da Anfragen zum aktuellen Preis des gewählten Modells abgerechnet werden.
Ändern Sie dann den Client. Der Migrationsleitfaden (beobachtet am 03.10.2026) beschreibt das Rezept wie folgt: Setzen Sie base_url / baseURL auf https://api.tokenlab.sh/v1, ersetzen Sie den Key und wählen Sie eine Modell-ID aus GET /v1/models.
Stellen Sie sich zum Beispiel einen Dienst vor, der den String gpt-5.5 in seiner Konfiguration hat. Nach der Zwei-Werte-Änderung ist derselbe String eine gültige Anfrage, aber wir sollten die ID dennoch zuerst bestätigen. GET /v1/models und GET /v1/models/{model} sind öffentliche Discovery-Endpunkte und funktionieren ohne Key.
Python
import os
from openai import OpenAI
# Vorher: client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
client = OpenAI(
api_key=os.environ["TOKENLAB_API_KEY"],
base_url="https://api.tokenlab.sh/v1",
timeout=30.0,
max_retries=0,
)
response = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Hello, world!"}],
)
print(response.choices[0].message.content)
Node.js
import OpenAI from 'openai';
// Vorher: new OpenAI({ apiKey: process.env.OPENAI_API_KEY })
const client = new OpenAI({
apiKey: process.env.TOKENLAB_API_KEY,
baseURL: 'https://api.tokenlab.sh/v1',
timeout: 30_000,
maxRetries: 0,
});
const completion = await client.chat.completions.create({
model: 'gpt-5.5',
messages: [{ role: 'user', content: 'Hello' }],
});
console.log(completion.choices[0].message.content);
cURL
curl https://api.tokenlab.sh/v1/chat/completions \
-H "Authorization: Bearer $TOKENLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Say hello"}]}'
Die Timeout- und Retry-Einstellungen in den ersten beiden Beispielen spiegeln die Quickstart-Beispiele wider (beobachtet am 03.10.2026), die ein 30-Sekunden-Timeout und null SDK-Retries verwenden. Wir belassen die Retries während des Tests auf null, damit eine fehlerhafte Anfrage sichtbar ist, anstatt sie im Stillen zu wiederholen.
Übergeben Sie die Basis-URL explizit in der Client-Konfiguration. Der SDK-Leitfaden (beobachtet am 03.10.2026) empfiehlt dies, anstatt sich auf ältere Umgebungsvariablen-Aliase zu verlassen. Bewahren Sie den Key auf dem Server und in einem Secret Manager auf, niemals im clientseitigen Code.
Wählen Sie die Modell-ID und lesen Sie deren Preis
Eine Migration sollte nicht von einer Modell-ID oder einem Preis ausgehen. Beides findet sich in der Modell-API. Wir haben https://api.tokenlab.sh/v1/models/gpt-5.5 und https://api.tokenlab.sh/v1/models/laguna-s-2.1 am 03.10.2026 gelesen. Die Preisgestaltung für beide wurde zuletzt am 02.10.2026 um 16:53:30.068 UTC aktualisiert.
| Feld | gpt-5.5 |
laguna-s-2.1 |
|---|---|---|
| Lebenszyklus-Phase | active | active |
| Max. Input / Output Token | 1.000.000 / 128.000 | 1.048.576 / 131.072 |
| Akzeptierte Anfrageformate | openai_chat_completions, openai_responses |
openai_chat_completions |
| Aufgeführte Fähigkeiten | coding, json-mode, prompt-cache, reasoning, tool-use, vision | tool-use |
| Input, USD pro 1 Mio. Token | 1,5 | 0,1 |
| Output, USD pro 1 Mio. Token | 9 | 0,2 |
| Cache-Lesevorgang, USD pro 1 Mio. Token | 0,15 | 0,01 |
Quellen: gpt-5.5 und laguna-s-2.1, beide beobachtet am 03.10.2026.
Um diese Raten in eine Zahl umzurechnen, finden Sie hier eine Schätzung mit dem Rechenweg. Nehmen wir einen Auftrag mit 1 Mio. Input-Token und 100k Output-Token ohne Cache-Treffer.
gpt-5.5: 1 × 1,50 $ + 0,1 × 9,00 $ = 1,50 $ + 0,90 $ = 2,40 $.laguna-s-2.1: 1 × 0,10 $ + 0,1 × 0,20 $ = 0,10 $ + 0,02 $ = 0,12 $.
Dies sind Schätzungen basierend auf den aufgeführten Raten pro Token. Ihre endgültige Abrechnung ist der Nutzungsdatensatz (Usage record). Die Tokenisierung unterscheidet sich je nach Modell, daher erzeugt derselbe Text bei verschiedenen Modellen unterschiedliche Token-Anzahlen.
Wir behaupten hier keine Ersparnis. Um mit dem zu vergleichen, was Sie heute zahlen, legen Sie die TokenLab-Raten neben Ihre aktuelle OpenAI-Rechnung oder die OpenAI-Preisseite an dem Tag, an dem Sie wechseln. Preise ändern sich, und der Abrechnungsleitfaden (beobachtet am 03.10.2026) besagt, dass man eine kopierte Preistabelle nicht hart kodieren sollte. Er verweist auf GET /v1/models/:model/pricing für aktuelle Werte.
Andere Modell-IDs folgen demselben Muster. Die Beispiele in der Dokumentation verwenden gpt-5.6-terra und gpt-5.6-luna für Chat Completions sowie claude-sonnet-5 und gemini-3.5-flash auf ihren eigenen Routen. Lesen Sie die akzeptierten Formate jedes Modells, bevor Sie Traffic darauf leiten. Für umfassendere Vergleiche siehe das Modellverzeichnis, den OpenRouter vs. TokenLab Vergleich und die Modell-Rankings. Bild- und Videoteams können mit der besten KI-Bildmodell-API 2026 und der besten KI-Videomodell-API 2026 beginnen. Für Coding-Aufgaben siehe beste KI-Modelle für Coding.
Was Sie als Nächstes prüfen sollten, wenn Sie von OpenAI zu TokenLab migrieren
TokenLab dokumentiert, dass das OpenAI SDK mit Chat Completions und Responses funktioniert. Das ist eine Kompatibilität mit dem Anfrage- und Antwortformat, kein Versprechen, dass sich jedes Modell gleich verhält. Der Leitfaden zu API-Formaten (beobachtet am 03.10.2026) besagt, dass optionale Parameter vom Modell abhängen. Er besagt auch, dass ein Modell nicht notwendigerweise alle vier API-Formate akzeptiert, und tokenlab.accepted_request_formats zeigt, welche es akzeptiert. Behandeln Sie jeden der folgenden Bereiche als etwas, das Sie mit Ihrem echten Traffic testen sollten.
Streaming
stream: true sendet partielle Nachrichten-Deltas als Server-Sent Events. Setzen Sie stream_options mit include_usage: true, um die Token-Nutzung in Stream-Chunks zu erhalten, wie in der Referenz zu Create Chat Completion (beobachtet am 03.10.2026) dokumentiert.
stream = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Count to five."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")
Zwei Verhaltensweisen, die Sie einplanen sollten: Wenn ein Stream unterbrochen wird, nachdem Output eingegangen ist, behandeln Sie ihn nicht als vollständige Antwort. Der Leitfaden zur Fehlerbehandlung (beobachtet am 03.10.2026) warnt, dass eine Wiederholung zu unterschiedlichem Output oder einer zweiten Abrechnung führen kann. Und das Streaming kann enden, bevor die Abrechnung erfolgt, daher kann die Abrechnungs-ID fehlen.
Tool-Aufrufe
Die Chat Completions-Referenz listet tools, tool_choice und parallel_tool_calls auf. Es heißt, parallele Aufrufe funktionieren, "wenn vom gewählten Modell unterstützt". Funktionsaufrufe sind dokumentiert als "vom gewählten Modell unterstützt", prüfen Sie also die Liste der Fähigkeiten. In der obigen Tabelle listen sowohl gpt-5.5 als auch laguna-s-2.1 Tool-Nutzung auf, aber nur gpt-5.5 listet JSON-Mode und Vision. Senden Sie Ihre echten Tool-Schemas, kein Spielzeugbeispiel, und prüfen Sie, ob die zurückgegebenen Argumente geparst werden können.
Wenn Sie planen, Claude-Modelle aufzurufen, beachten Sie die Regel im Migrationsleitfaden. Claude-Tool-Aufrufe, Thinking-Blöcke und Anthropic-Nachrichtenfelder gehören zu /v1/messages, und Chat Completions garantiert diese nicht.
Fehler-Shapes
Chat Completions und Responses geben ein error-Objekt im OpenAI-Stil zurück. Gemäß dem Leitfaden zur Fehlerbehandlung sind nur message und type immer vorhanden. Felder wie code, param, retryable und retry_after erscheinen, wenn sie relevant sind. Verzweigen Sie basierend auf dem HTTP-Status und code, nicht auf dem Nachrichtentext, und sorgen Sie dafür, dass Ihr Parser fehlende Felder toleriert. Anthropic Messages und Gemini behalten ihre eigenen Fehlerformate bei, daher wird ein Parser nicht jede Route abdecken.
| Status | Code | Bedeutung |
|---|---|---|
| 401 | invalid_api_key |
Key fehlt, ist ungültig, inaktiv oder widerrufen |
| 401 | expired_api_key |
Key ist abgelaufen |
| 402 | insufficient_balance |
Kontostand deckt die Anfrage nicht ab |
| 402 | quota_exceeded |
Das eigene Nutzungslimit des Keys wurde erreicht |
| 403 | model_not_allowed |
Dieser Key kann das angeforderte Modell nicht verwenden |
| 429 | rate_limit_exceeded |
Zu viele Anfragen; warten Sie auf Retry-After |
Quellen: Authentifizierung und Fehlerbehandlung, beobachtet am 03.10.2026.
Diese Tabelle korrigiert eine häufige Annahme. Ein leeres Guthaben ist ein 402, kein 401. Wenn Ihr aktueller Code jedes 4xx als schlechten Key behandelt, aktualisieren Sie ihn.
Timeouts und Retries
Der Migrationsleitfaden besagt, dass vorhandener Retry-, Timeout- und Streaming-Code normalerweise bleiben kann. Überprüfen Sie ihn anhand der dokumentierten Retry-Regeln.
- Wiederholen Sie 400, 401, 402, 403, 404 oder 413 Antworten nicht unverändert.
- Wiederholen Sie 429 nach der vom Server bereitgestellten Verzögerung.
- Wiederholen Sie 500–504 nur, wenn
retryableauftruesteht, und respektieren Sieretry_after. - Ein
503 all_channels_failedkann mitretryable: falsezurückkommen. In diesem Fall hat der Vorgang keine Kapazität in der gewählten Lieferstufe, eine Wiederholung hilft also nicht.
Speichern Sie die Request-ID aus den Antwort-Headern zusammen mit dem Modell und Ihrer eigenen Job-ID. Sie benötigen sie für eine Untersuchung.
Abrechnung
Ein Guthaben funktioniert über alle Modelle hinweg, ohne Abonnement oder Mindestumsatz, gemäß dem Abrechnungsleitfaden. Jede abgeschlossene Anfrage wird einmal berechnet, für die Lieferoption, die sie produziert hat. Die Optionen sind TokenLab Verified, Official und Auto, wobei Auto zuerst Verified, dann Official versucht. Legen Sie ein Ausgabenlimit für jeden API-Key fest, wenn Sie einen harten Stopp wünschen. Wenn das Limit erreicht ist, geben Anfragen mit diesem Key 402 zurück.
Nicht-streaming OpenAI-kompatible Antworten enthalten billing_transaction_id, wenn die Abrechnung abgeschlossen ist, bevor die Antwort gesendet wird. Sie kann auch im X-Billing-Transaction-ID Header erscheinen. Speichern Sie sie und gleichen Sie sie mit der Nutzungsseite ab, anstatt mit Ihrer eigenen Token-Mathematik.
Verifizierungs-Checkliste nach der Migration von OpenAI zu TokenLab
Führen Sie diese Schritte in der angegebenen Reihenfolge mit einem Staging-Key aus, bevor Produktions-Traffic verschoben wird. Jede Zeile lässt sich auf ein oben dokumentiertes Verhalten zurückführen.
| Schritt | Was auszuführen ist | Was Sie sehen sollten |
|---|---|---|
| 1. Modell-Discovery | GET /v1/models/gpt-5.5 (kein Key nötig) |
Lebenszyklus active und die akzeptierten Formate, die Sie verwenden möchten |
| 2. Authentifizierte Anfrage | Das Python- oder cURL-Beispiel oben | Eine nicht-leere Antwort; die Anfrage erscheint in der Requests-Ansicht mit Modell, Status und Nutzung |
| 3. Nutzungsfelder | Lesen Sie usage bei einer Nicht-Streaming-Antwort |
prompt_tokens, completion_tokens, total_tokens |
| 4. Streaming | stream: true mit include_usage: true |
SSE-Chunks, dann Nutzung; ein unterbrochener Stream wird als unvollständig behandelt |
| 5. Tool-Aufrufe | Ihre echten tools und tool_choice |
Argumente werden geparst und entsprechen Ihrem Schema |
| 6. Vision oder JSON-Mode | Nur wenn das Modell vision oder json-mode listet |
Erwarteter Output; überspringen Sie den Test, wenn die Fähigkeit nicht gelistet ist |
| 7. Schlechter Key | Anfrage mit gelöschtem oder falschem Key | 401 invalid_api_key |
| 8. Kein Guthaben oder Key-Limit | Verwenden Sie einen Key mit niedrigem Limit oder einen leeren Workspace | 402 insufficient_balance oder quota_exceeded |
| 9. Modell-Einschränkung | Beschränken Sie die Modellliste eines Keys, dann fordern Sie ein anderes Modell an | 403 model_not_allowed |
| 10. Timeout und Retry | Erzwingen Sie ein Timeout im Staging | Ihr Code wiederholt nur gemäß retryable und retry_after |
| 11. Abrechnung | Vergleichen Sie billing_transaction_id und Nutzung mit Ihrer Schätzung |
Gebühr entspricht dem aktuellen Preis des Modells und den aufgezeichneten Token |
Nachdem die Tabelle bestanden wurde, ändern Sie Ihre Produktionskonfiguration und stellen Sie bereit. Behalten Sie den alten OpenAI-Key aktiv, bis die Nutzung bestätigt, dass der neue Pfad stabil ist.
Häufig gestellte Fragen
Muss ich meine Modellnamen ändern, wenn ich von OpenAI wechsle?
Nicht notwendigerweise, aber bestätigen Sie jeden einzelnen. TokenLab-Modell-IDs sind exakte Strings, prüfen Sie diese also mit GET /v1/models oder GET /v1/models/{model}. Am 03.10.2026 listete die Live-API gpt-5.5 als active. Wenn eine Anfrage model_not_found zurückgibt, ist die ID unbekannt oder nicht verfügbar. Lesen Sie die Modellliste und verwenden Sie eine aktuelle ID.
Werden sich Streaming und Tool-Aufrufe exakt wie bei der OpenAI-API verhalten?
TokenLab dokumentiert Streaming über SSE und Funktionsaufrufe über das OpenAI-kompatible Anfrageformat. Die Dokumentation besagt auch, dass unterstützte Optionen vom gewählten Modell abhängen. Wir behandeln das Ergebnis daher als kompatibel, nicht als identisch. Testen Sie Streaming, tools, tool_choice und jedes response_format, das Sie verwenden, mit dem spezifischen Modell, das Sie ausführen möchten.
Welchen Statuscode erhalte ich, wenn mein Guthaben aufgebraucht ist?
Sie erhalten HTTP 402 mit dem Code insufficient_balance. Ein Key, der sein eigenes Ausgabenlimit erreicht hat, gibt ebenfalls 402 zurück, mit quota_exceeded. Ein fehlender, ungültiger oder widerrufener Key gibt 401 zurück. Wiederholen Sie keine dieser Anfragen unverändert. Laden Sie das Guthaben auf, erhöhen Sie das Key-Limit oder ersetzen Sie den Key.
Kann ich Claude- oder Gemini-Modelle über denselben OpenAI-Client aufrufen?
Der Modellkatalog listet claude-sonnet-5 und gemini-3.5-flash mit openai_chat_completions unter ihren Anfrageformaten. Einfacher Chat kann daher über denselben Client laufen. Claude-spezifische Felder wie Thinking-Blöcke und Claude-Tool-Nutzung gehören zu /v1/messages. Gemini-native Felder bleiben auf der /v1beta Route. Behalten Sie ein API-Format pro Konversation bei.
Starten Sie das Bauen auf TokenLab
Erstellen Sie einen Key bei TokenLab, setzen Sie die Basis-URL auf https://api.tokenlab.sh/v1 und führen Sie die Quickstart-Anfrage aus, bevor Sie die Produktion berühren.
Quellen
Preis geprüft am 2026-10-03
- TokenLab Docs: QuickstartGeprüft am 2026-10-03
- TokenLab Docs: AuthenticationGeprüft am 2026-10-03
- TokenLab Docs: Migration GuidesGeprüft am 2026-10-03
- TokenLab Docs: SDKs & LibrariesGeprüft am 2026-10-03
- TokenLab Docs: API formatsGeprüft am 2026-10-03
- TokenLab Docs: Handle API errorsGeprüft am 2026-10-03
- TokenLab Docs: Billing and pricingGeprüft am 2026-10-03
- TokenLab Docs: Create Chat CompletionGeprüft am 2026-10-03



