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

概要

LemonData APIは、すべての主要なAI開発ツールとのドロップイン互換性を考慮して設計されています。このガイドでは、サポートされているパラメータと検証済みの統合について説明します。
すべてのパラメータは検証されますが、アップストリームプロバイダーにそのまま渡されます。特定のモデルでサポートされていないパラメータは、互換性を最大限に確保するために、エラーを出さずに無視されます。

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

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

IDE & CLIの互換性

検証済みツール

ツールステータスフォーマット備考
Cursor✅ 完全OpenAIAnthropicツールフォーマットをサポート
Claude Code CLI✅ 完全Anthropic拡張思考(Extended thinking)、tool_choice
Windsurf✅ 完全OpenAI標準的なOpenAIフォーマット
Aider✅ 完全OpenAIすべてのモデルをサポート
Continue.dev✅ 完全OpenAI/Anthropicデュアルフォーマットサポート
OpenCode✅ 完全OpenAIマルチプロバイダーサポート
Cline/Roo Code✅ 完全OpenAIOpenRouterフォーマット経由
GitHub Copilot✅ 完全OpenAI標準フォーマット
Codex CLI✅ 完全OpenAIOpenAI Responses API
Gemini CLI✅ 完全GeminiネイティブGeminiフォーマット

設定例

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/Go✅ 完全すべてのパラメータをサポート
Anthropic SDKPython/JS✅ 完全拡張思考(Extended thinking)、ツール
Vercel AI SDKTypeScript✅ 完全streamText, generateObject
LangChainPython/JS✅ 完全ChatOpenAI, bind_tools
LlamaIndexPython✅ 完全OpenAI互換
Dify-✅ 完全OpenAIフォーマット

Chat Completionsパラメータ

コアパラメータ

パラメータ説明
modelstringモデル識別子(必須)
messagesarray会話メッセージ(必須)
max_tokensinteger最大出力トークン
temperaturenumberサンプリング温度 (0-2)
top_pnumber核サンプリング (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_effortstringo1/o3モデル用の "low", "medium", "high"
service_tierstring"auto" または "default"
seedinteger決定論的な出力
logprobsbooleanログ確率を返す
top_logprobsinteger上位ログ確率の数 (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オーディオ出力設定(音声、フォーマット)
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最大出力(最大128,000)
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-5",
  "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_effortstring推論モデル用
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}'

# 使用状況トラッキングあり
-d '{"...", "stream_options": {"include_usage": true}}'

エラーハンドリング

LemonDataはOpenAI互換のエラーレスポンスを返します:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
詳細はエラーハンドリングガイドを参照してください。

ベストプラクティス

すべてのスキーマは .passthrough() を使用しており、未知のパラメータはアップストリームプロバイダーに転送されます。
ストリーミングレスポンスで正確なトークン数を取得するには、stream_options.include_usage を有効にしてください。
SDKが期待するフォーマットに合わせてください。LemonDataはOpenAIとAnthropicの両方のフォーマットを受け入れます。