Zum Hauptinhalt springen

Übersicht

LemonData stellt mehrere API-Formate bereit, sodass gängige Coding-Tools, SDKs und Frameworks sich mit minimalem Glue-Code integrieren können. Diese Seite ist bewusst enger gefasst als eine Marketing-Matrix:
  • Unterstützt bedeutet, dass wir einen konkreten Einrichtungsweg dokumentieren und LemonData die von diesem Weg erwartete Protokollform bereitstellt.
  • Starker nativer Pfad bedeutet, dass das Repository zusätzlich direkte Adapter- oder Anfrageformat-Nachweise 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 gehandhabt. Bei Kompatibilitätsrouten werden einige Felder ignoriert oder normalisiert. Bei /v1/responses können nicht unterstützte Felder explizit 400- oder 503-Fehler zurückgeben, wenn diese Route das angeforderte Verhalten nicht garantieren kann.

Unterstützte API-Formate

EndpunktFormatAnwendungsfall
/v1/chat/completionsOpenAI ChatUniverselle Kompatibilität
/v1/responsesOpenAI ResponsesZustandsbehaftete Konversationen
/v1/messagesAnthropic MessagesClaude-native Funktionen
/v1beta/models/:model:generateContentGoogle GeminiGemini-native Funktionen

IDE- & CLI-Kompatibilität

Dokumentierte Tool-Pfade

ToolUnterstützungsstufeFormatAnmerkungen
CursorUnterstützt mit EinschränkungenOpenAI-compatibleFunktioniert für BYOK-Standard-Chat-/Editor-Flows, nicht als Ersatz für von Cursor verwaltete Funktionen wie Tab Completion
Claude Code CLIStarker nativer PfadAnthropicNative /v1/messages-Route mit Adapter-Unterstützung für thinking und tool_choice
Codex CLIUnterstützt mit Modell-/Pfad-EinschränkungenOpenAI ResponsesBehandle /v1/responses als erweiterten Pfad für Codex-spezifische Workflows; einige Responses-exklusive Felder werden nicht für jedes Modell und jeden gerouteten Pfad garantiert
Gemini CLIBest-Effort / experimentellGeminiDer benutzerdefinierte LemonData-Base-URL-Flow ist kein stabiler Upstream-Vertrag
OpenCodeUnterstütztOpenAI-compatibleVerwenden Sie standardmäßig einen OpenAI-kompatiblen Provider; wechseln Sie zu einem Responses-basierten Provider nur, wenn Sie ihn explizit benötigen
Andere OpenAI-kompatible Editoren und Agent-Tools funktionieren oft mit demselben Base-URL-Muster, dieses Repo pflegt jedoch derzeit keine toolspezifische Regressionsabdeckung für Windsurf, Aider, Continue.dev, Cline/Roo Code, GitHub Copilot und ähnliche Clients.

Konfigurationsbeispiele

Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor verwendet intern ein Anthropic-ähnliches Tool-Format. LemonData unterstützt beide:
  • OpenAI format: { type: "function", function: { name, parameters } }
  • Anthropic format: { name, input_schema } (kein type-Feld)

SDK-Kompatibilität

Dokumentierte SDK- & Framework-Pfade

SDK / FrameworkSpracheUnterstützungsstufeAnmerkungen
OpenAI SDKPython/JS/GoUnterstützte KernpfadeChat Completions und Embeddings sind der standardmäßig dokumentierte Pfad; einige Responses-exklusive Felder werden nicht für jedes Modell und jeden gerouteten Pfad garantiert
Anthropic SDKPython/JSStarker nativer PfadNative Messages-Route mit direktem Nachweis 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 Standard-OberflächenChatOpenAI und OpenAIEmbeddings sind der beabsichtigte Umfang; anbieter-native Extras sind nicht abgedeckt
LlamaIndexPythonUnterstützt über OpenAILikeVerwenden Sie OpenAILike, nicht die eingebauten OpenAI-Klassen, für Drittanbieter-Gateways wie LemonData
Dify-Unterstützt mit Scope-EinschränkungenOpenAI-Provider- und chat-completions-orientierte Flows sind der beabsichtigte Pfad; nicht geeignet für Codex-spezifische Responses- oder WebSocket-Verhalten

Chat Completions-Parameter

Kernparameter

ParameterTypBeschreibung
modelstringModellbezeichner (erforderlich)
messagesarrayKonversationsnachrichten (erforderlich)
max_tokensintegerMaximale Ausgabetoken
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 Options

FormatExampleDescription
String"auto", "none", "required"Einfache Auswahl
OpenAI Object{ "type": "function", "function": { "name": "fn" } }Erzwinge eine bestimmte Funktion
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Anthropic-natives Format

Erweiterte Parameter

ParameterTypBeschreibung
stream_optionsobject{ include_usage: true } für Token-Zählungen
reasoning_effortstring"low", "medium", "high" für reasoning-aktivierte GPT-5-Modelle
service_tierstring"auto" oder "default"
seedintegerDeterministische Ausgaben
logprobsbooleanLog-Wahrscheinlichkeiten zurückgeben
top_logprobsintegerAnzahl der Top-Logprobs (0-20)
logit_biasobjectToken-Bias-Mapping (-100 bis 100)
frequency_penaltynumberWiederholungsstrafe (-2 bis 2)
presence_penaltynumberThemenstrafe (-2 bis 2)
stopstring/arrayStop-Sequenzen
nintegerAnzahl der Vervollständigungen (1-128)
userstringBenutzerkennung für Tracking

OpenAI-Erweiterte Funktionen

ParameterTypBeschreibung
modalitiesarray["text", "audio"] für multimodale Ausgaben
audioobjectAudioausgabe-Konfiguration (voice, format)
predictionobjectVorgeschätzte Ausgabe für schnellere Vervollständigung
metadataobjectSchlüssel-Wert-Paare zur Nachverfolgung
storebooleanSpeichern zur späteren Abfrage

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

ParameterTypBeschreibung
modelstringModellbezeichner
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
modelstringModellbezeichner
inputstring/arrayEingabebereich
instructionsstringSystemanweisungen
max_output_tokensintegerMaximale Ausgabetoken
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 compatibility)
{ "name": "fn", "input_schema": {...} }

Gemini-API-Parameter

Kernparameter

ParameterTypBeschreibung
contentsarrayKonversationsinhalte
systemInstructionobjectSystem-Prompt
generationConfigobjectGenerierungseinstellungen

Tools

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

Safety-Einstellungen

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

Zusätzliche Parameter

ParameterTypBeschreibung
cachedContentstringReferenz zu gecachten Inhalten
responseMimeTypestring"text/plain" oder "application/json"
responseSchemaobjectJSON-Schema für strukturierte Ausgaben

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 Fehlerantworten zurück:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
Siehe Leitfaden zur Fehlerbehandlung für Details.

Empfohlene Vorgehensweisen

Alle Schemata verwenden .passthrough() – unbekannte Parameter werden an Upstream-Provider weitergereicht.
Aktivieren Sie stream_options.include_usage für genaue Token-Anzahlen in Streaming-Antworten.
Passen Sie das Format an das von Ihrem SDK erwartete Format an. LemonData akzeptiert sowohl OpenAI- als auch Anthropic-Formate.