跳轉到主要內容

概覽

LemonData 揭露多種 API 格式,以便常見的開發工具、SDK 與框架透過最少的黏合程式碼完成整合。 本頁面刻意比行銷矩陣範圍更窄:
  • Supported 表示我們記錄了具體的設定路徑,且 LemonData 揭露該路徑所期待的協定形態。
  • Strong native path 表示該 repo 也有針對該協定家族的直接轉接器或請求格式證據。
  • Best-effort 表示整合可以運作,但上游客戶端不將此自訂 gateway 工作流程視為穩定契約。
不支援的欄位處理方式並不一致。在相容性路徑上,某些欄位會被忽略或正規化。在 /v1/responses 上,當該路徑無法保證請求的行為時,不支援的欄位可能會回傳明確的 400503 錯誤。

支援的 API 格式

EndpointFormatUse Case
/v1/chat/completionsOpenAI Chat通用相容性
/v1/responsesOpenAI Responses有狀態對話
/v1/messagesAnthropic MessagesClaude 原生功能
/v1beta/models/:model:generateContentGoogle GeminiGemini 原生功能

IDE 與 CLI 相容性

已記錄的工具路徑

ToolSupport LevelFormatNotes
CursorSupported with limitsOpenAI-compatible適用於 BYOK 標準的 chat/editor 流程,但不是用來取代 Cursor 管理的功能(例如 Tab Completion)
Claude Code CLIStrong native pathAnthropic原生的 /v1/messages 路由,對 thinking 與 tool_choice 有轉接器覆蓋
Codex CLISupported with model/path limitsOpenAI Responses/v1/responses 視為針對 Codex 特定工作流程的進階路徑;某些僅在 Responses 中的欄位並不保證在每個模型或路由路徑可用
Gemini CLIBest-effort / experimentalGemini自訂的 LemonData base URL 流程並非穩定的上游契約
OpenCodeSupportedOpenAI-compatible預設使用 OpenAI 相容的 provider;僅在您明確需要時,才改用以 Responses 為基礎的 provider
其他 OpenAI 相容的編輯器與代理工具通常也可用相同的 base URL 模式,但此 repo 目前未維護 Windsurf、Aider、Continue.dev、Cline/Roo Code、GitHub Copilot 等客戶端的工具專屬回歸測試覆蓋。

設定範例

Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor 在內部使用 Anthropic 風格的工具格式。LemonData 支援兩種格式:
  • OpenAI format: { type: "function", function: { name, parameters } }
  • Anthropic format: { name, input_schema } (no type field)

SDK 相容性

已記錄的 SDK 與框架路徑

SDK / FrameworkLanguageSupport LevelNotes
OpenAI SDKPython/JS/GoSupported core pathChat Completions 與 Embeddings 為預設記錄路徑;某些僅在 Responses 的欄位並不保證在每個模型與路由路徑可用
Anthropic SDKPython/JSStrong native path原生 Messages 路由,對工具、thinking 與 prompt caching 有直接證據
Vercel AI SDKTypeScriptRecommended integration pattern優先使用 @ai-sdk/openai-compatible;僅在您明確想要 Responses 原生行為時使用 @ai-sdk/openai
LangChainPython/JSSupported standard surfacesChatOpenAIOpenAIEmbeddings 為預期範圍;供應商原生的擴充項目不在範圍內
LlamaIndexPythonSupported via OpenAILike對於第三方 gateway(例如 LemonData)請使用 OpenAILike,而非內建的 OpenAI 類別
Dify-Supported with scope limits適用於 OpenAI provider 與以 chat-completions 為導向的流程;不適合 Codex 專屬的 Responses 或 WebSocket 行為

Chat Completions 參數

核心參數

ParameterTypeDescription
modelstring模型識別碼(必填)
messagesarray對話訊息(必填)
max_tokensinteger最大輸出 tokens
temperaturenumber抽樣溫度(0-2)
top_pnumberNucleus 抽樣(0-1)
streamboolean啟用串流

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 選項

FormatExampleDescription
String"auto", "none", "required"簡單選擇
OpenAI Object{ "type": "function", "function": { "name": "fn" } }強制指定特定函式
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Anthropic 原生格式

進階參數

ParameterTypeDescription
stream_optionsobject{ include_usage: true } 用於 token 計數
reasoning_effortstring"low", "medium", "high",用於具推理能力的 GPT-5 系列模型
service_tierstring"auto""default"
seedinteger決定性輸出
logprobsboolean回傳對數機率
top_logprobsinteger回傳 top logprobs 的數量(0-20)
logit_biasobjecttoken 偏差映射(-100 到 100)
frequency_penaltynumber重複懲罰(-2 到 2)
presence_penaltynumber主題出現懲罰(-2 到 2)
stopstring/array停止序列
ninteger完成次數(1-128)
userstring用戶識別以供追蹤

OpenAI 進階功能

ParameterTypeDescription
modalitiesarray["text", "audio"] 表示多模態
audioobject音訊輸出設定(voice, format)
predictionobject預測輸出以加快完成速度
metadataobject用於追蹤的鍵值對
storeboolean是否儲存以便後續取回

提供者特定選項

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

Anthropic Messages 參數

核心參數

ParameterTypeDescription
modelstring模型識別碼
messagesarray對話訊息
max_tokensinteger最大輸出(最高可到 128000)
systemstring/arraysystem prompt
streamboolean啟用串流

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 參數

核心參數

ParameterTypeDescription
modelstring模型識別碼
inputstring/array輸入內容
instructionsstring系統指示
max_output_tokensinteger最大輸出 tokens
previous_response_idstring繼續對話用

進階參數

ParameterTypeDescription
truncation_strategystring"auto""disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstring用於推理模型
service_tierstring優先等級

Tool 格式

支援 OpenAI 與 Anthropic 工具格式:
// OpenAI format
{ "type": "function", "name": "fn", "parameters": {...} }

// Anthropic format (Cursor compatibility)
{ "name": "fn", "input_schema": {...} }

Gemini API 參數

核心參數

ParameterTypeDescription
contentsarray對話內容
systemInstructionobjectsystem prompt
generationConfigobject生成設定

Tools

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

Safety Settings

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

額外參數

ParameterTypeDescription
cachedContentstring快取內容參考
responseMimeTypestring"text/plain""application/json"
responseSchemaobject用於結構化輸出的 JSON schema

串流

所有端點皆支援 Server-Sent Events (SSE) 串流:
# 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}}'

錯誤處理

LemonData 回傳 OpenAI 相容的錯誤回應:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
詳情請參閱 Error Handling Guide

最佳實務

所有 schema 都使用 .passthrough() — 未知參數會被轉發到上游提供者。
對於串流回應,請啟用 stream_options.include_usage 以獲得準確的 token 計數。
請對齊您所使用 SDK 的預期格式。LemonData 同時接受 OpenAI 與 Anthropic 格式。