Zum Hauptinhalt springen

Übersicht

TokenLab stellt mehrere API-Formate bereit, sodass gängige Coding-Tools, SDKs und Frameworks mit minimalem Anpassungsaufwand integriert werden können. Diese Seite ist bewusst fokussierter als eine Marketing-Matrix:
  • Unterstützt (Supported) bedeutet, dass wir einen konkreten Einrichtungspfad dokumentieren und TokenLab das Protokollformat bereitstellt, das dieser Pfad erwartet.
  • Starker nativer Pfad (Strong native path) bedeutet, dass das Repository auch direkte Adapter- oder Request-Format-Belege für diese Protokollfamilie enthält.
  • Best-effort bedeutet, dass die Integration funktionieren kann, der Upstream-Client diesen benutzerdefinierten Gateway-Workflow jedoch nicht als stabilen Vertrag behandelt.
Nicht unterstützte Felder werden nicht einheitlich behandelt. Auf Kompatibilitätsrouten werden einige Felder ignoriert oder normalisiert. Auf /v1/responses können nicht unterstützte Felder explizite 400 oder 503 Fehler zurückgeben, wenn die Route das angeforderte Verhalten nicht garantieren kann.

Unterstützte API-Formate

EndpunktFormatAnwendungsfall
/v1/chat/completionsOpenAI ChatUniverselle Kompatibilität
/v1/responsesOpenAI ResponsesZustandsbehaftete Konversationen
/v1/messagesAnthropic MessagesNative Claude-Funktionen
/v1beta/models/:model:generateContentGoogle GeminiNative Gemini-Funktionen

IDE & CLI Kompatibilität

Dokumentierte Tool-Pfade

ToolSupport-LevelFormatHinweise
CursorUnterstützt mit EinschränkungenOpenAI-kompatibelFunktioniert für BYOK-Standard-Chat/Editor-Flows, nicht als Ersatz für Cursor-verwaltete Funktionen wie Tab Completion
Claude Code CLIStarker nativer PfadAnthropicNative /v1/messages-Route mit Adapter-Abdeckung für Thinking und tool_choice
Codex CLIUnterstützt mit Modell-/Pfad-EinschränkungenOpenAI ResponsesBehandeln Sie /v1/responses als erweiterten Pfad für Codex-spezifische Workflows; einige Responses-only-Felder sind nicht über jedes Modell und jeden Pfad garantiert
Gemini CLIBest-effort / experimentellGeminiDer benutzerdefinierte TokenLab-Basis-URL-Flow ist keine offizielle Gemini CLI-Integration
OpenCodeUnterstütztOpenAI-kompatibelVerwenden Sie standardmäßig einen OpenAI-kompatiblen Provider; wechseln Sie nur dann zu einem Responses-basierten Provider, wenn Sie dies explizit benötigen
OpenHandsUnterstütztOpenAI-kompatibelVerwenden Sie den LiteLLM/OpenAI-kompatiblen Pfad mit openai/<model> und der /v1-Basis-URL von TokenLab
Andere OpenAI-kompatible Editoren und Agent-Tools funktionieren oft mit demselben Basis-URL-Muster; prüfen Sie die Unterstützung für benutzerdefinierte Provider des jeweiligen Tools, bevor Sie es in der Produktion einsetzen.

Konfigurationsbeispiele

Base URL: https://api.tokenlab.sh/v1
API Key: sk-your-tokenlab-key
Cursor verwendet intern das Tool-Format im Anthropic-Stil. TokenLab unterstützt beides:
  • OpenAI-Format: { type: "function", function: { name, parameters } }
  • Anthropic-Format: { name, input_schema } (kein type-Feld)

SDK Kompatibilität

Dokumentierte SDK- & Framework-Pfade

SDK / FrameworkSpracheSupport-LevelHinweise
OpenAI SDKPython/JS/GoUnterstützter KernpfadKompatibilitätspfad für /v1 Chat Completions und Embeddings; verwenden Sie native Provider-Routen für anbieterspezifisches Verhalten und gehen Sie nicht davon aus, dass Responses-only-Felder bei jedem Modell funktionieren
Anthropic SDKPython/JSStarker nativer PfadNative Messages-Route mit direktem Beleg für Tools, Thinking und Prompt Caching
Vercel AI SDKTypeScriptEmpfohlenes IntegrationsmusterBevorzugen Sie @ai-sdk/openai-compatible; verwenden Sie @ai-sdk/openai nur, wenn Sie explizit Responses-natives Verhalten wünschen
LangChainPython/JSUnterstützte StandardoberflächenChatOpenAI und OpenAIEmbeddings sind der beabsichtigte Umfang; anbieterspezifische Extras liegen außerhalb des Umfangs
LlamaIndexPythonUnterstützt via OpenAILikeVerwenden Sie OpenAILike, nicht die integrierten OpenAI-Klassen, für Gateways von Drittanbietern wie TokenLab
OpenAI Agents SDKPythonUnterstützter Chat-Completions-PfadVerwenden Sie AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") mit OpenAIChatCompletionsModel; natives Responses-Verhalten hängt vom gewählten Modell und der Route ab
AutoGenPythonUnterstützter benutzerdefinierter EndpunktpfadVerwenden Sie OpenAIChatCompletionClient mit base_url: https://api.tokenlab.sh/v1
Semantic Kernel.NETUnterstützter benutzerdefinierter EndpunktpfadVerwenden Sie den benutzerdefinierten Endpunkt des OpenAI Chat Completion Connectors und verweisen Sie auf https://api.tokenlab.sh/v1
CrewAIPythonUnterstützter benutzerdefinierter EndpunktpfadSetzen Sie OPENAI_API_BASE oder LLM(base_url=...) auf den /v1-Endpunkt von TokenLab
Pydantic AIPythonUnterstützter OpenAI-kompatibler Provider-PfadVerwenden Sie OpenAIChatModel mit OpenAIProvider(base_url="https://api.tokenlab.sh/v1")
DSPyPythonUnterstützter benutzerdefinierter EndpunktpfadVerwenden Sie dspy.LM("openai/<model>", api_base="https://api.tokenlab.sh/v1")
LangflowPython / WebUnterstützt mit EinschränkungenVerwenden Sie das Feld OpenAI API Base der OpenAI-Komponente mit dem /v1-Endpunkt von TokenLab
HaystackPythonUnterstützter benutzerdefinierter EndpunktpfadVerwenden Sie OpenAIChatGenerator(api_base_url="https://api.tokenlab.sh/v1")
GraphitiPythonUnterstützter benutzerdefinierter EndpunktpfadVerwenden Sie OpenAIGenericClient mit dem /v1-Endpunkt von TokenLab
Dify-Unterstützt mit EinschränkungenDer OpenAI-Provider und Chat-Completions-orientierte Flows sind der beabsichtigte Pfad; nicht geeignet für Codex-spezifische Responses oder WebSocket-Verhalten
FlowiseWeb / NodeUnterstützt mit EinschränkungenVerwenden Sie den TokenLab-Chat-Node, falls verfügbar, oder einen ChatOpenAI-kompatiblen Node, der auf https://api.tokenlab.sh/v1 verweist
Mem0PythonUnterstützter benutzerdefinierter EndpunktpfadBehalten Sie den OpenAI-Provider bei und setzen Sie openai_base_url auf den /v1-Endpunkt von TokenLab
AgnoPythonUnterstützter PfadVerwenden Sie den TokenLab-Modell-Wrapper, falls verfügbar, oder den OpenAI-kompatiblen Basis-URL-Pfad
Browser UsePythonUnterstützter benutzerdefinierter EndpunktpfadVerwenden Sie ChatOpenAILike mit dem /v1-Endpunkt von TokenLab
VoltAgentTypeScriptUnterstützter benutzerdefinierter EndpunktpfadÜbergeben Sie einen AI SDK OpenAI-Provider, der mit baseURL: "https://api.tokenlab.sh/v1" konfiguriert ist
RagasPythonUnterstützter benutzerdefinierter EndpunktpfadÜbergeben Sie AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") an llm_factory
GuardrailsPythonUnterstützter ValidierungspfadÜbergeben Sie ein OpenAI SDK Chat Completions Callable, das mit dem /v1-Endpunkt von TokenLab konfiguriert ist
Prompt flowPython / CLIUnterstützter benutzerdefinierter EndpunktpfadErstellen Sie eine OpenAI-Verbindung mit base_url=https://api.tokenlab.sh/v1
PromptfooCLI / NodeUnterstützter PfadVerwenden Sie OpenAI Chat- oder Responses-Provider mit apiBaseUrl: https://api.tokenlab.sh/v1
Portkey GatewayGatewayUnterstützter PfadVerwenden Sie TokenLab als Upstream-Provider für OpenAI-kompatiblen Chat- und Responses-Traffic
HeliconeGateway / ObservabilityUnterstützter Observability-PfadLeiten Sie OpenAI-kompatible Anfragen über das Helicone Gateway mit Helicone-Target-Url: https://api.tokenlab.sh
LangfuseObservabilityUnterstützter Tracing-PfadKonfigurieren Sie die Langfuse OpenAI-Integration mit der /v1-Basis-URL von TokenLab
OpenLITObservabilityUnterstützter Tracing-PfadInstrumentieren Sie einen OpenAI SDK-Client, der mit der /v1-Basis-URL von TokenLab konfiguriert ist
OpenLLMetryObservabilityUnterstützter Tracing-PfadVerwenden Sie die OpenAI SDK-Instrumentierung mit der /v1-Basis-URL von TokenLab
PhoenixObservabilityUnterstützter Tracing-PfadAuto-instrumentieren Sie den OpenAI SDK-Client, der mit der /v1-Basis-URL von TokenLab konfiguriert ist
OpikObservabilityUnterstützter Tracing-PfadUmschließen Sie einen OpenAI SDK-Client, der mit der /v1-Basis-URL von TokenLab konfiguriert ist
LangBotBot PlatformUnterstützter Chat-PfadVerwenden Sie den TokenLab-Requester, falls verfügbar, oder konfigurieren Sie einen OpenAI-kompatiblen Requester mit dem /v1-Endpunkt von TokenLab
Open WebUIWeb ChatUnterstützter Chat-App-PfadFügen Sie TokenLab als OpenAI-kompatible API-Verbindung hinzu und aktualisieren Sie die Modellliste
Chatbox / DeepChat / Jan / LibreChat / Cherry StudioDesktop / WebUnterstützter Chat-App-PfadVerwenden Sie den OpenAI-kompatiblen benutzerdefinierten Provider-Flow der jeweiligen App; diese Apps sind meist auf Chat-Completions ausgerichtet

Chat Completions Parameter

Kernparameter

ParameterTypBeschreibung
modelstringModell-Identifikator (erforderlich)
messagesarrayKonversationsnachrichten (erforderlich)
max_tokensintegerMaximale Ausgabe-Token
temperaturenumberSampling-Temperatur (0-2)
top_pnumberNucleus-Sampling (0-1)
streambooleanStreaming aktivieren

Tool Calling

{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": { "type": "string" }
          }
        },
        "strict": true
      }
    }
  ],
  "tool_choice": "auto",
  "parallel_tool_calls": true
}

Tool Choice Optionen

FormatBeispielBeschreibung
String"auto", "none", "required"Einfache Auswahl
OpenAI Objekt{ "type": "function", "function": { "name": "fn" } }Spezifische Funktion erzwingen
Anthropic Objekt{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Natives Anthropic-Format

Erweiterte Parameter

ParameterTypBeschreibung
stream_optionsobjectNur Chat Completions: { include_usage: true } für Token-Zählungen
reasoning_effortstring"low", "medium", "high" für GPT-5-Modelle mit Reasoning-Funktion
service_tierstring"auto" oder "default"
seedintegerDeterministische Ausgaben
logprobsbooleanLog-Wahrscheinlichkeiten zurückgeben
top_logprobsintegerAnzahl der Top-Logprobs (0-20)
logit_biasobjectToken-Bias-Map (-100 bis 100)
frequency_penaltynumberWiederholungspenalty (-2 bis 2)
presence_penaltynumberThemen-Penalty (-2 bis 2)
stopstring/arrayStopp-Sequenzen
nintegerAnzahl der Completions (1-128)
userstringBenutzer-Identifikator für Tracking

OpenAI Erweiterte Funktionen

ParameterTypBeschreibung
modalitiesarray["text", "audio"] für Multimodalität
audioobjectAudio-Ausgabekonfiguration (Stimme, Format)
predictionobjectVorhergesagte Ausgabe für schnellere Completion
metadataobjectSchlüssel-Wert-Paare für Tracking
storebooleanFür späteren Abruf speichern

Anbieterspezifische Optionen

{
  "anthropic_options": {
    "thinking": {
      "type": "enabled",
      "budget_tokens": 10000
    },
    "prompt_caching": true
  },
  "google_options": {
    "safety_settings": [...],
    "google_search": true,
    "code_execution": true
  }
}

Anthropic Messages Parameter

Kernparameter

ParameterTypBeschreibung
modelstringModell-Identifikator
messagesarrayKonversationsnachrichten
max_tokensintegerMaximale Ausgabe (bis zu 128000)
systemstring/arraySystem-Prompt
streambooleanStreaming aktivieren

Tool Calling

{
  "tools": [
    {
      "name": "get_weather",
      "description": "Get weather",
      "input_schema": {
        "type": "object",
        "properties": {
          "location": { "type": "string" }
        }
      }
    }
  ],
  "tool_choice": {
    "type": "auto",
    "disable_parallel_tool_use": false
  }
}

Extended Thinking

{
  "model": "claude-opus-4-6",
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Responses API Parameter

Kernparameter

ParameterTypBeschreibung
modelstringModell-Identifikator
inputstring/arrayEingabeinhalt
instructionsstringSystemanweisungen
max_output_tokensintegerMaximale Ausgabe-Token
previous_response_idstringKonversation fortsetzen

Erweiterte Parameter

ParameterTypBeschreibung
truncation_strategystring"auto" oder "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringFür Reasoning-Modelle
service_tierstringPrioritätsstufe

Tool-Format

Unterstützt sowohl OpenAI- als auch Anthropic-Tool-Formate:
// OpenAI-Format
{ "type": "function", "name": "fn", "parameters": {...} }

// Anthropic-Format (Cursor-Kompatibilität)
{ "name": "fn", "input_schema": {...} }

Gemini API Parameter

Kernparameter

ParameterTypBeschreibung
contentsarrayKonversationsinhalt
systemInstructionobjectSystem-Prompt
generationConfigobjectGenerierungseinstellungen

Tools

{
  "tools": [{
    "functionDeclarations": [{
      "name": "search",
      "description": "Search the web",
      "parameters": {...}
    }],
    "codeExecution": {},
    "googleSearch": {}
  }],
  "toolConfig": {
    "functionCallingConfig": {
      "mode": "AUTO"
    }
  }
}

Sicherheitseinstellungen

{
  "safetySettings": [
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    }
  ]
}

Zusätzliche Parameter

ParameterTypBeschreibung
cachedContentstringReferenz auf zwischengespeicherten Inhalt
responseMimeTypestring"text/plain" oder "application/json"
responseSchemaobjectJSON-Schema für strukturierte Ausgabe

Streaming

Generierungs-Endpunkte, die stream: true unterstützen, einschließlich Chat Completions und Responses, verwenden Server-Sent Events (SSE):
# Chat Completions
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

# Chat Completions Usage-Tracking
-d '{"...", "stream_options": {"include_usage": true}}'

Fehlerbehandlung

TokenLab gibt OpenAI-kompatible Fehlerantworten zurück:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
Siehe Error Handling Guide für Details.

Best Practices

Unbekannte Parameter werden nur weitergeleitet, wenn die gewählte öffentliche Route und das Modell diese unterstützen.
Aktivieren Sie für Chat Completions-Streaming stream_options.include_usage für genaue Token-Zählungen. Responses hat einen eigenen Streaming-Vertrag und bietet diese Chat-exklusive Option nicht an.
Stimmen Sie das Format auf das Ihres SDKs ab. TokenLab akzeptiert sowohl OpenAI- als auch Anthropic-Formate.