Kern
API-Referenz
Vollständige Referenz für die TokenLab API
Übersicht
TokenLab ist native-first und OpenAI-kompatibel. Verwende provider-native Routen wie POST /v1/messages für Anthropic und /v1beta/models/...:generateContent für Gemini, wenn du natives Verhalten brauchst. Nutze OpenAI-kompatible /v1-Endpunkte, wenn du bestehende OpenAI-ähnliche SDKs oder Tools migrierst. POST /v1/responses bleibt ein optionaler erweiterter Pfad für Responses-spezifisches Verhalten.
Basis-URL
https://api.tokenlab.shAuthentifizierung
Modellanfragen verwenden einen TokenLab-API-Key. Der übliche Authentifizierungsheader lautet:
Authorization: Bearer sk-your-api-keyGET /v1/models, GET /v1/models/{model} und GET /v1/pricing sind öffentlich und benötigen keinen Schlüssel. Anthropic Messages akzeptiert auch x-api-key; Gemini unterstützt neben Bearer auch x-goog-api-key oder ?key=. /v1/management/* benötigt ein Management-Token (mt-...).
Holen Sie Ihren API-Schlüssel vom Dashboard.
Generierungsanfragen unterstützen X-TokenLab-Delivery-Policy: auto | verified | official. Der Header hat Vorrang vor der API-Key-Einstellung und diese vor dem Workspace-Standard. auto verwendet zuerst TokenLab Verified, bei Bedarf Official; berechnet wird die erfolgreiche Zustellart. verified nutzt TokenLab-Preise, official basiert auf den öffentlichen Herstellerpreisen; maßgeblich ist der angezeigte TokenLab-Preis. Realtime übernimmt die Key- oder Workspace-Einstellung ohne Query-Override. Ungültige Header ergeben 400; eine nicht verfügbare Zustellart ergibt 503 delivery_tier_unavailable mit Request-ID.
Zum interaktiven Playground: Der Playground auf dieser Dokumentationsseite dient nur zu Demonstrationszwecken und unterstützt das Eingeben von API-Schlüsseln nicht. Um die API zu testen, verwenden Sie bitte:
- cURL - Kopieren Sie die Beispielbefehle und ersetzen Sie
sk-your-api-keydurch Ihren tatsächlichen Schlüssel - Postman - Importieren Sie unsere OpenAPI spec
- SDK - Verwenden Sie das OpenAI/Anthropic SDK mit unserer Basis-URL
Unterstützte Endpunkte
Chat & Textgenerierung
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/chat/completions | POST | OpenAI-kompatible Chat-Completions |
/v1/messages | POST | Anthropic-kompatible Messages-API |
/v1/responses | POST | OpenAI Responses API |
Embeddings und Reranking
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/embeddings | POST | Text-Embeddings erstellen |
/v1/rerank | POST | Dokumente neu bewerten (Rerank) |
Bilder
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/images/generations | POST | Bilder aus Text generieren |
/v1/images/edits | POST | Bilder bearbeiten |
/v1/images/generations/{id} | GET | Statuspfad für Bildaufgaben bei aufgabenbasierten Bildantworten |
Bildmodelle können ein fertiges Bild oder eine asynchrone Aufgabe zurückgeben. Enthält die Antwort poll_url, verwenden Sie diese URL zum Abfragen der Aufgabe.
Audio
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/audio/speech | POST | Text-zu-Sprache (TTS) |
/v1/audio/transcriptions | POST | Sprache-zu-Text (STT) |
Realtime
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/realtime?model={model} | WS | Realtime-WebSocket-Sitzungen |
Verwenden Sie /v1/realtime für WebSocket-Upgrade-Anfragen. Ein normales GET /v1/realtime gibt Endpunkt-Metadaten für Clients zurück, die WebSocket-Routen nicht direkt auswerten können. Dies ist nicht die OpenAI-Realtime-REST-Oberfläche; client secret, translation client secret, Calls und legacy beta session-Endpunkte sind derzeit nicht öffentlich verfügbar.
Video
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/videos/generations | POST | Video-Generierungsaufgabe erstellen |
/v1/tasks/{id} | GET | Status asynchroner Aufgaben für Video-Jobs abrufen |
/v1/videos/generations/{id} | GET | Abwärtskompatibler Statuspfad für Videoaufgaben |
Für neue Clients bevorzugen Sie /v1/tasks/{id} und folgen Sie der von Create-Antworten zurückgegebenen poll_url. Behalten Sie /v1/videos/generations/{id} nur aus Gründen der Rückwärtskompatibilität.
Asynchrone Aufgaben
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/tasks/{id} | GET | Vereinheitlichter Endpunkt für den Status asynchroner Aufgaben. Empfohlen, wenn Sie einem zurückgegebenen poll_url folgen |
Dieser Endpunkt ist nicht auf Video, Musik und 3D beschränkt. Einige Bildaufgaben können ebenfalls /v1/tasks/{id} als kanonischen Polling-Pfad verwenden.
Musik
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/music/generations | POST | Musik-Generierungsaufgabe erstellen |
/v1/music/generations/{id} | GET | Musik-spezifischer Statuspfad |
Für neue Clients bevorzugen Sie zunächst die zurückgegebene poll_url. Wenn Sie einen festen Task-Status-Endpunkt benötigen, verwenden Sie /v1/tasks/{id}; behalten Sie /v1/music/generations/{id} für musik-spezifische Kompatibilitätspfade.
3D-Generierung
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/3d/generations | POST | 3D-Modell-Generierungsaufgabe erstellen |
/v1/3d/generations/{id} | GET | 3D-spezifischer Statuspfad |
Für neue Clients bevorzugen Sie zunächst die zurückgegebene poll_url. Wenn Sie einen festen Task-Status-Endpunkt benötigen, verwenden Sie /v1/tasks/{id}; behalten Sie /v1/3d/generations/{id} für 3D-spezifische Kompatibilitätspfade.
Modelle
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1/models | GET | Alle verfügbaren Modelle auflisten |
/v1/models/{model} | GET | Informationen zu einem bestimmten Modell abrufen |
Gemini (v1beta)
Native Unterstützung des Google Gemini API-Formats:
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/v1beta/models/{model}:generateContent | POST | Inhalte generieren (Gemini-Format) |
/v1beta/models/{model}:streamGenerateContent | POST | Inhalte streamen/generieren (Gemini-Format) |
Gemini-Endpunkte unterstützen die Authentifizierung über den Query-Parameter ?key= zusätzlich zum standardmäßigen Bearer-Token.
Antwortformat
Jeder Endpunkt behält sein API-Format bei. Die folgenden Erfolgs- und Fehlerbeispiele verwenden das Chat-Completions-Format.
Erfolgsantwort
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1234567890,
"model": "gpt-5.6-terra",
"choices": [{"index": 0, "message": {"role": "assistant", "content": "Hello!"}, "finish_reason": "stop"}],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}Routing-Transparenz
TokenLab legt keine Anbieter-, Kanal-, Richtlinien- oder Zugangsdaten-Details in öffentlichen Antwortkörpern offen. Verlassen Sie sich nicht auf _routing oder andere interne Routing-Felder als Teil des öffentlichen API-Vertrags.
Für Debugging und Support können Sie öffentliche Antwort-Header verwenden, wenn sie vorhanden sind:
| Header | Beschreibung |
|---|---|
X-Routing-Time-MS | Zeit für die Routenauswahl, wenn verfügbar |
X-Request-ID | Request-Kennung für Support und Debugging, wenn verfügbar |
X-Task-ID | Öffentliche asynchrone Task-Kennung für taskbasierte Antworten, wenn verfügbar |
X-Billing-Transaction-ID | Abrechnungstransaktionskennung nach finaler Abrechnung, wenn verfügbar |
Fehlerantwort
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key",
"code": "invalid_api_key"
}
}Ratenlimits
Standardwerte:
| Rolle | Anfragen/min |
|---|---|
| Benutzer | 1.000 |
| Partner | 10.000 |
| VIP | 10.000 |
Kontaktieren Sie den Support für benutzerdefinierte Rate Limits. Exakte Werte können je nach Kontokonfiguration variieren.
Wenn Rate Limits überschritten werden, gibt die API einen Statuscode 429 zurück mit einem Retry-After-Header, der angibt, wie lange gewartet werden soll.
OpenAPI-Spezifikation
OpenAPI-Spezifikation
Laden Sie die vollständige OpenAPI 3.1-Spezifikation herunter