メインコンテンツへスキップ

概要

LemonData は複数の API フォーマットを公開しており、一般的なコーディングツール、SDK、およびフレームワークが最小限の接着コードで統合できるようにしています。 このページはマーケティングのマトリックスより意図的に範囲を狭めています:
  • Supported(サポート) は、具体的なセットアップ手順を文書化しており、LemonData がそのパスが期待するプロトコル形状を公開していることを意味します。
  • Strong native path(強力なネイティブパス) は、リポジトリにもそのプロトコルファミリ向けの直接的なアダプタまたはリクエスト形式の証拠があることを意味します。
  • Best-effort(ベストエフォート) は、統合は機能する可能性があるが、上流クライアントがこのカスタムゲートウェイワークフローを安定した契約として扱っていないことを意味します。
サポートされていないフィールドは一様に扱われるわけではありません。互換性ルートでは、一部のフィールドが無視されたり正規化されたりします。/v1/responses では、要求された動作を保証できない場合にサポートされていないフィールドが明示的に 400 または 503 エラーを返すことがあります。

サポートされているAPIフォーマット

エンドポイントフォーマットユースケース
/v1/chat/completionsOpenAI Chatユニバーサル互換性
/v1/responsesOpenAI Responsesステートフルな会話
/v1/messagesAnthropic MessagesClaude ネイティブ機能
/v1beta/models/:model:generateContentGoogle GeminiGemini ネイティブ機能

IDE と CLI の互換性

文書化されたツールパス

ツールサポートレベルフォーマット備考
CursorSupported with limits(制限付きサポート)OpenAI-compatibleBYOK 標準のチャット/エディタフローでは動作しますが、Tab Completion のような Cursor 管理の機能の代替にはなりません
Claude Code CLIStrong native path(強力なネイティブパス)Anthropicthinking と tool_choice に対するアダプタのカバレッジを持つネイティブの /v1/messages ルート
Codex CLISupported with model/path limits(モデル/パス制限ありでサポート)OpenAI ResponsesCodex 固有のワークフローに対する高度なパスとして /v1/responses を扱ってください。Responses 専用の一部フィールドはすべてのモデルやルーティングパスで保証されるわけではありません
Gemini CLIBest-effort / experimental(ベストエフォート / 実験的)Geminiカスタム LemonData base URL フローは上流の安定した契約ではありません
OpenCodeSupported(サポート)OpenAI-compatibleデフォルトで OpenAI 互換プロバイダを使用してください。明示的に Responses ベースのプロバイダが必要な場合のみ移行してください
他の OpenAI 互換エディタやエージェントツールも同じ base URL パターンで動作することが多いですが、このリポジトリは現時点で 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 形式: { type: "function", function: { name, parameters } }
  • Anthropic 形式: { name, input_schema }(type フィールドは無し)

SDK の互換性

文書化された SDK とフレームワークのパス

SDK / フレームワーク言語サポートレベル備考
OpenAI SDKPython/JS/GoSupported core path(コアパスをサポート)Chat Completions と Embeddings がデフォルトの文書化パスです。Responses 専用の一部フィールドはすべてのモデルやルーティングパスで保証されるわけではありません
Anthropic SDKPython/JSStrong native path(強力なネイティブパス)ツール、thinking、プロンプトキャッシュに対する直接的な証拠を持つネイティブの Messages ルート
Vercel AI SDKTypeScript推奨統合パターン@ai-sdk/openai-compatible を優先してください。Responses ネイティブの振る舞いが明示的に必要な場合にのみ @ai-sdk/openai を使用してください
LangChainPython/JSSupported standard surfaces(標準サーフェスをサポート)ChatOpenAIOpenAIEmbeddings が想定される範囲です。ベンダーネイティブの拡張は範囲外です
LlamaIndexPythonOpenAILike 経由でサポートLemonData のようなサードパーティゲートウェイには組み込みの OpenAI クラスではなく OpenAILike を使用してください
Dify-範囲制限付きでサポートOpenAI プロバイダおよび chat-completions 指向フローが想定経路です。Codex 固有の Responses や WebSocket 挙動には適していません

Chat Completions パラメータ

コアパラメータ

パラメータ説明
modelstringモデル識別子(必須)
messagesarray会話メッセージ(必須)
max_tokensinteger出力の最大トークン数
temperaturenumberサンプリング温度(0-2)
top_pnumberNucleus サンプリング(0-1)
streambooleanストリーミングを有効にする

ツール呼び出し

{
  "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 オプション

フォーマット説明
String"auto", "none", "required"単純な選択
OpenAI Object{ "type": "function", "function": { "name": "fn" } }特定の関数を強制
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Anthropic ネイティブ形式

高度なパラメータ

パラメータ説明
stream_optionsobjectトークン数のために { include_usage: true }
reasoning_effortstringreasoning 対応の GPT-5 モデル向けに "low", "medium", "high"
service_tierstring"auto" または "default"
seedinteger再現性のある出力
logprobsbooleanログ確率を返す
top_logprobsinteger上位ロg確率の数(0-20)
logit_biasobjectトークンバイアスマップ(-100〜100)
frequency_penaltynumber繰り返しのペナルティ(-2〜2)
presence_penaltynumberトピック出現のペナルティ(-2〜2)
stopstring/arrayストップシーケンス
ninteger生成完了数(1-128)
userstringトラッキング用のユーザ識別子

OpenAI の高度機能

パラメータ説明
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 パラメータ

コアパラメータ

パラメータ説明
modelstringモデル識別子
messagesarray会話メッセージ
max_tokensinteger最大出力(最大 128000)
systemstring/arrayシステムプロンプト
streambooleanストリーミングを有効にする

ツール呼び出し

{
  "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 パラメータ

コアパラメータ

パラメータ説明
modelstringモデル識別子
inputstring/array入力コンテンツ
instructionsstringシステム指示
max_output_tokensinteger出力の最大トークン数
previous_response_idstring会話を継続するため

高度なパラメータ

パラメータ説明
truncation_strategystring"auto" または "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringreasoning モデル向け
service_tierstring優先度のティア

ツール形式

OpenAI と Anthropic 両方のツール形式をサポートします:
// OpenAI format
{ "type": "function", "name": "fn", "parameters": {...} }

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

Gemini API パラメータ

コアパラメータ

パラメータ説明
contentsarray会話コンテンツ
systemInstructionobjectシステムプロンプト
generationConfigobject生成設定

ツール

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

セーフティ設定

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

追加パラメータ

パラメータ説明
cachedContentstringキャッシュ済みコンテンツ参照
responseMimeTypestring"text/plain" または "application/json"
responseSchemaobject構造化出力のための JSON スキーマ

ストリーミング

すべてのエンドポイントは 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 を参照してください。

ベストプラクティス

すべてのスキーマは .passthrough() を使用しています — 不明なパラメータは上流プロバイダへ転送されます。
ストリーミングレスポンスで正確なトークン数を得るには stream_options.include_usage を有効にしてください。
SDK が期待する形式に合わせてください。LemonData は OpenAI と Anthropic の両方の形式を受け入れます。