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

概要

TokenLab は複数の API 形式を公開しているため、一般的なコーディングツール、SDK、フレームワークが最小限のグルーコードで統合可能です。 このページは、マーケティング用のマトリックスよりも意図的に範囲を絞っています。
  • Supported (サポート済み): 具体的なセットアップ手順が文書化されており、TokenLab がその手順で期待されるプロトコル形式を公開していることを意味します。
  • 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 の互換性

文書化されたツールパス

ツールサポートレベル形式備考
Cursor限定的にサポートOpenAI 互換BYOK 標準チャット/エディタフローには対応していますが、Tab Completion のような Cursor 管理機能の代替としては機能しません
Claude Code CLI強力なネイティブパスAnthropicthinking および tool_choice のアダプターカバレッジを備えたネイティブな /v1/messages ルート
Codex CLIモデル/パス制限付きでサポートOpenAI Responses/v1/responses を Codex 特有のワークフロー向けの高度なパスとして扱ってください。Responses 専用の一部のフィールドは、すべてのモデルやルーティングパスで保証されているわけではありません
Gemini CLIベストエフォート / 実験的Geminiカスタム TokenLab ベース URL フローは、公式の Gemini CLI 統合ではありません
OpenCodeサポート済みOpenAI 互換デフォルトでは OpenAI 互換プロバイダーを使用してください。明示的に必要な場合にのみ Responses ベースのプロバイダーに移行してください
OpenHandsサポート済みOpenAI 互換openai/<model> と TokenLab の /v1 ベース URL を使用して、LiteLLM/OpenAI 互換パスを使用してください
他の OpenAI 互換エディタやエージェントツールも、同じベース URL パターンで動作することがよくあります。本番環境で使用する前に、そのツール独自のカスタムプロバイダーサポートを確認してください。

設定例

Base URL: https://api.tokenlab.sh/v1
API Key: sk-your-tokenlab-key
Cursor は内部的に Anthropic 形式のツール形式を使用します。TokenLab は両方をサポートしています:
  • OpenAI 形式: { type: "function", function: { name, parameters } }
  • Anthropic 形式: { name, input_schema } (type フィールドなし)

SDK の互換性

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

SDK / フレームワーク言語サポートレベル備考
OpenAI SDKPython/JS/Goコアパスをサポート/v1 Chat Completions および Embeddings の互換パス。プロバイダー固有の動作にはネイティブプロバイダーのルートを使用し、Responses 専用フィールドがすべてのモデルで動作すると想定しないでください
Anthropic SDKPython/JS強力なネイティブパスツール、thinking、プロンプトキャッシングのエビデンスを備えたネイティブ Messages ルート
Vercel AI SDKTypeScript推奨される統合パターン@ai-sdk/openai-compatible を優先してください。明示的に Responses ネイティブの動作が必要な場合にのみ @ai-sdk/openai を使用してください
LangChainPython/JS標準インターフェースをサポートChatOpenAI および OpenAIEmbeddings が対象範囲です。ベンダー固有の拡張機能は対象外です
LlamaIndexPythonOpenAILike 経由でサポートTokenLab のようなサードパーティゲートウェイには、組み込みの OpenAI クラスではなく OpenAILike を使用してください
OpenAI Agents SDKPythonチャット補完パスをサポートOpenAIChatCompletionsModel と共に AsyncOpenAI(base_url="https://api.tokenlab.sh/v1") を使用してください。ネイティブな Responses の動作は選択したモデルとルートに依存します
AutoGenPythonカスタムエンドポイントパスをサポートbase_url: https://api.tokenlab.sh/v1 を指定して OpenAIChatCompletionClient を使用してください
Semantic Kernel.NETカスタムエンドポイントパスをサポートOpenAI チャット補完コネクタのカスタムエンドポイントを使用し、https://api.tokenlab.sh/v1 を指定してください
CrewAIPythonカスタムエンドポイントパスをサポートOPENAI_API_BASE または LLM(base_url=...) を TokenLab の /v1 エンドポイントに設定してください
Pydantic AIPythonOpenAI 互換プロバイダーパスをサポートOpenAIProvider(base_url="https://api.tokenlab.sh/v1") を指定して OpenAIChatModel を使用してください
DSPyPythonカスタムエンドポイントパスをサポートdspy.LM("openai/<model>", api_base="https://api.tokenlab.sh/v1") を使用してください
LangflowPython / Web範囲制限付きでサポートOpenAI コンポーネントの OpenAI API Base フィールドに TokenLab の /v1 エンドポイントを使用してください
HaystackPythonカスタムエンドポイントパスをサポートOpenAIChatGenerator(api_base_url="https://api.tokenlab.sh/v1") を使用してください
GraphitiPythonカスタムエンドポイントパスをサポートTokenLab の /v1 エンドポイントを指定して OpenAIGenericClient を使用してください
Dify-範囲制限付きでサポートOpenAI プロバイダーおよびチャット補完指向のフローが対象です。Codex 特有の Responses や WebSocket の動作には適していません
FlowiseWeb / Node範囲制限付きでサポート利用可能な場合は TokenLab チャットノードを使用するか、https://api.tokenlab.sh/v1 を指定した ChatOpenAI 互換ノードを使用してください
Mem0PythonカスタムエンドポイントパスをサポートOpenAI プロバイダーを維持し、openai_base_url を TokenLab の /v1 エンドポイントに設定してください
AgnoPythonサポート済みパス利用可能な場合は TokenLab モデルラッパーを使用するか、OpenAI 互換のベース URL パスを使用してください
Browser UsePythonカスタムエンドポイントパスをサポートTokenLab の /v1 エンドポイントを指定して ChatOpenAILike を使用してください
VoltAgentTypeScriptカスタムエンドポイントパスをサポートbaseURL: "https://api.tokenlab.sh/v1" で設定された AI SDK OpenAI プロバイダーを渡してください
RagasPythonカスタムエンドポイントパスをサポートAsyncOpenAI(base_url="https://api.tokenlab.sh/v1")llm_factory に渡してください
GuardrailsPython検証パスをサポートTokenLab の /v1 エンドポイントで設定された OpenAI SDK チャット補完呼び出し可能オブジェクトを渡してください
Prompt flowPython / CLIカスタムエンドポイントパスをサポートbase_url=https://api.tokenlab.sh/v1 を指定して OpenAI 接続を作成してください
PromptfooCLI / Nodeサポート済みパスapiBaseUrl: https://api.tokenlab.sh/v1 を指定して OpenAI チャットまたは Responses プロバイダーを使用してください
Portkey GatewayGatewayサポート済みパスOpenAI 互換のチャットおよび Responses トラフィックのアップストリームプロバイダーとして TokenLab を使用してください
HeliconeGateway / Observability可観測性パスをサポートHelicone-Target-Url: https://api.tokenlab.sh を指定して、Helicone Gateway 経由で OpenAI 互換リクエストをルーティングしてください
LangfuseObservabilityトレースパスをサポートTokenLab の /v1 ベース URL で Langfuse OpenAI 統合を設定してください
OpenLITObservabilityトレースパスをサポートTokenLab の /v1 ベース URL で設定された OpenAI SDK クライアントをインストルメントしてください
OpenLLMetryObservabilityトレースパスをサポートTokenLab の /v1 ベース URL で OpenAI SDK インストルメンテーションを使用してください
PhoenixObservabilityトレースパスをサポートTokenLab の /v1 ベース URL で設定された OpenAI SDK クライアントを自動インストルメントしてください
OpikObservabilityトレースパスをサポートTokenLab の /v1 ベース URL で設定された OpenAI SDK クライアントをラップしてください
LangBotBot Platformチャットパスをサポート利用可能な場合は TokenLab リクエスターを使用するか、TokenLab の /v1 エンドポイントで OpenAI 互換リクエスターを設定してください
Open WebUIWeb ChatチャットアプリパスをサポートOpenAI 互換 API 接続として TokenLab を追加し、モデルリストを更新してください
Chatbox / DeepChat / Jan / LibreChat / Cherry StudioDesktop / Webチャットアプリパスをサポート各アプリの 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
}

ツール選択オプション

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

高度なパラメータ

パラメータ説明
stream_optionsobjectChat Completions のみ: { include_usage: true } でトークン数を取得
reasoning_effortstring推論対応 GPT-5 モデル用の "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最大出力 (最大 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
  }
}

拡張 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_effortstring推論モデル用
service_tierstring優先度ティア

ツール形式

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

// Anthropic 形式 (Cursor 互換性)
{ "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 スキーマ

ストリーミング

Chat Completions や Responses を含む stream: true を公開する生成エンドポイントは、Server-Sent Events (SSE) を使用します:
# Chat Completions
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-xxx" \
  -d '{"model": "gpt-4o", "messages": [...], "stream": true}'

# Chat Completions 使用状況追跡
-d '{"...", "stream_options": {"include_usage": true}}'

エラーハンドリング

TokenLab は OpenAI 互換のエラーレスポンスを返します:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
詳細は Error Handling Guide を参照してください。

ベストプラクティス

不明なパラメータは、選択されたパブリックルートとモデルがそれらをサポートしている場合にのみ転送されます。
Chat Completions のストリーミングでは、正確なトークン数のために stream_options.include_usage を有効にしてください。Responses には独自のストリーミングコントラクトがあり、この Chat 専用オプションは公開されていません。
SDK が期待する形式に合わせてください。TokenLab は OpenAI 形式と Anthropic 形式の両方を受け入れます。