Übersicht
Die LemonData API ist für Drop-in-Kompatibilität mit allen gängigen KI-Entwicklungstools konzipiert. Dieser Leitfaden dokumentiert unterstützte Parameter und verifizierte Integrationen.
Alle Parameter werden validiert, aber an die Upstream-Provider weitergereicht. Nicht unterstützte Parameter für spezifische Modelle werden stillschweigend ignoriert, um maximale Kompatibilität zu gewährleisten.
Endpoint Format Anwendungsfall /v1/chat/completionsOpenAI Chat Universelle Kompatibilität /v1/responsesOpenAI Responses Stateful Konversationen /v1/messagesAnthropic Messages Claude-native Funktionen /v1beta/models/:model:generateContentGoogle Gemini Gemini-native Funktionen
IDE- & CLI-Kompatibilität
Tool Status Format Anmerkungen Cursor ✅ Vollständig OpenAI Anthropic-Tool-Format unterstützt Claude Code CLI ✅ Vollständig Anthropic Extended Thinking, tool_choice Windsurf ✅ Vollständig OpenAI Standard-OpenAI-Format Aider ✅ Vollständig OpenAI Alle Modelle unterstützt Continue.dev ✅ Vollständig OpenAI/Anthropic Unterstützung für duale Formate OpenCode ✅ Vollständig OpenAI Multi-Provider-Unterstützung Cline/Roo Code ✅ Vollständig OpenAI Über OpenRouter-Format GitHub Copilot ✅ Vollständig OpenAI Standardformat Codex CLI ✅ Vollständig OpenAI OpenAI Responses API Gemini CLI ✅ Vollständig Gemini Natives Gemini-Format
Konfigurationsbeispiele
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor verwendet intern das Tool-Format im Anthropic-Stil. LemonData unterstützt beide:
OpenAI-Format: { type: "function", function: { name, parameters } }
Anthropic-Format: { name, input_schema } (kein type-Feld)
export ANTHROPIC_BASE_URL = "https://api.lemondata.cc"
export ANTHROPIC_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export LOCAL_ENDPOINT = "https://api.lemondata.cc/v1"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_BASE = "https://api.lemondata.cc/v1"
aider --model gpt-4o
SDK-Kompatibilität
Verifizierte SDKs
SDK Sprache Status Anmerkungen OpenAI SDK Python/JS/Go ✅ Vollständig Alle Parameter unterstützt Anthropic SDK Python/JS ✅ Vollständig Extended Thinking, Tools Vercel AI SDK TypeScript ✅ Vollständig streamText, generateObject LangChain Python/JS ✅ Vollständig ChatOpenAI, bind_tools LlamaIndex Python ✅ Vollständig OpenAI-kompatibel Dify - ✅ Vollständig OpenAI-Format
Chat Completions Parameter
Kernparameter
Parameter Typ Beschreibung modelstring Modell-Identifikator (erforderlich) messagesarray Konversationsnachrichten (erforderlich) max_tokensinteger Maximale Output-Tokens temperaturenumber Sampling-Temperatur (0-2) top_pnumber Nucleus-Sampling (0-1) streamboolean Streaming aktivieren
{
"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
}
Format Beispiel Beschreibung String "auto", "none", "required"Einfache Auswahl OpenAI Object { "type": "function", "function": { "name": "fn" } }Spezifische Funktion erzwingen Anthropic Object { "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Natives Anthropic-Format
Erweiterte Parameter
Parameter Typ Beschreibung stream_optionsobject { include_usage: true } für Token-Zählungreasoning_effortstring "low", "medium", "high" für o1/o3-Modelleservice_tierstring "auto" oder "default"seedinteger Deterministische Ausgaben logprobsboolean Log-Wahrscheinlichkeiten zurückgeben top_logprobsinteger Anzahl der Top-Logprobs (0-20) logit_biasobject Token-Bias-Map (-100 bis 100) frequency_penaltynumber Wiederholungs-Penalty (-2 bis 2) presence_penaltynumber Themen-Penalty (-2 bis 2) stopstring/array Stop-Sequenzen ninteger Anzahl der Vervollständigungen (1-128) userstring Benutzer-Identifikator für Tracking
Erweiterte OpenAI-Funktionen
Parameter Typ Beschreibung modalitiesarray ["text", "audio"] für Multimodalitätaudioobject Audio-Output-Konfiguration (Stimme, Format) predictionobject Vorhergesagter Output für schnellere Vervollständigung metadataobject Key-Value-Paare für Tracking storeboolean Für späteren Abruf speichern
Provider-spezifische 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
Parameter Typ Beschreibung modelstring Modell-Identifikator messagesarray Konversationsnachrichten max_tokensinteger Maximaler Output (bis zu 128000) systemstring/array System-Prompt streamboolean Streaming aktivieren
{
"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-5" ,
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
}
}
Responses API Parameter
Kernparameter
Parameter Typ Beschreibung modelstring Modell-Identifikator inputstring/array Input-Inhalt instructionsstring System-Anweisungen max_output_tokensinteger Maximale Output-Tokens previous_response_idstring Konversation fortsetzen
Erweiterte Parameter
Parameter Typ Beschreibung truncation_strategystring "auto" oder "disabled"includearray ["reasoning.encrypted_content"]reasoning_effortstring Für Reasoning-Modelle service_tierstring Prioritätsstufe
Unterstützt sowohl OpenAI- als auch Anthropic-Tool-Formate:
// OpenAI format
{ "type" : "function" , "name" : "fn" , "parameters" : { ... } }
// Anthropic format (Cursor compatibility)
{ "name" : "fn" , "input_schema" : { ... } }
Gemini API Parameter
Kernparameter
Parameter Typ Beschreibung contentsarray Konversationsinhalt systemInstructionobject System-Prompt generationConfigobject Generierungseinstellungen
{
"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
Parameter Typ Beschreibung cachedContentstring Referenz auf gecachten Inhalt responseMimeTypestring "text/plain" oder "application/json"responseSchemaobject JSON-Schema für strukturierten Output
Streaming
Alle Endpunkte unterstützen Server-Sent Events (SSE) Streaming:
# Chat Completions
curl https://api.lemondata.cc/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-d '{"model": "gpt-4o", "messages": [...], "stream": true}'
# With usage tracking
-d '{"...", "stream_options": {"include_usage": true}}'
Fehlerbehandlung
LemonData gibt OpenAI-kompatible Fehlermeldungen zurück:
{
"error" : {
"message" : "Invalid API key" ,
"type" : "invalid_api_key" ,
"code" : "invalid_api_key"
}
}
Siehe Leitfaden zur Fehlerbehandlung für Details.
Best Practices
Passthrough für unbekannte Parameter verwenden
Alle Schemata verwenden .passthrough() – unbekannte Parameter werden an die Upstream-Provider weitergeleitet.
stream_options für genaue Abrechnung bevorzugen
Aktivieren Sie stream_options.include_usage für genaue Token-Zählungen in Streaming-Antworten.
Passendes tool_choice-Format verwenden
Verwenden Sie das von Ihrem SDK erwartete Format. LemonData akzeptiert sowohl OpenAI- als auch Anthropic-Formate.