Skip to main content

概要

TokenLab は 1 つの API キーで Chat Completions、Responses、Anthropic Messages、Gemini ネイティブの 4 つのプロトコル面を提供します。ネイティブ入口は、モデルがその形式を公開し、同一プロトコルの upstream ルートがある場合にのみ利用でき、Chat Completions へフォールバックしません。別プロトコルへ一方向にコンパイルできるのは Chat 入口だけです。

OpenAI フォーマット

/v1/chat/completions 標準フォーマット、最も幅広い互換性

Responses

/v1/responses ネイティブ Responses のライフサイクルとイベント

Anthropic フォーマット

/v1/messages Extended thinking、Claude 固有の機能

Gemini フォーマット

/v1beta/models/:model:generateContent Google エコシステムとの統合

なぜマルチフォーマットか?

フォーマット比較

OpenAI フォーマット

既存の OpenAI SDK 統合や、移植性のあるチャット/embedding フローには、この互換経路を使用してください。Claude または Gemini のネイティブな挙動が必要な場合は、下記の Anthropic または Gemini 形式を使用してください。
適している用途:
  • 一般的な用途
  • 既存の OpenAI SDK 統合
  • 最大の互換性

Anthropic フォーマット

Anthropic のネイティブ Messages API。Extended thinking のような Claude 固有の機能にはこのフォーマットが必要です。

拡張思考 (Claude Opus 4.6)

Anthropic フォーマットでのみ利用可能:
適している用途:
  • Claude 固有の機能
  • Extended thinking モード
  • ネイティブ Anthropic SDK ユーザー

Gemini フォーマット

Google エコシステム統合のためのネイティブな Google Gemini API フォーマットです。

ストリーミング

適している用途:
  • Google Cloud 統合
  • 既存の Gemini SDK コード
  • ネイティブ Gemini 機能
Gemini Files と Cache: ネイティブ Gemini ルートでは /upload/v1beta/files/v1beta/files/v1beta/files:register/v1beta/cachedContents を利用できます。Files は Gemini File API 互換の上流チャネルを使い、明示的な Cache リソースは Vertex AI チャネルにもルーティングできます。TokenLab 経由で作成したリソースは同じ上流チャネル/key に束縛され、後続の generateContent でもその束縛が使われます。

ツール互換性の境界

関数ツールを一方向にコンパイルできるのは Chat 入口だけで、対象が完全なツールループを表現できる場合に限ります。プロバイダー固有のネイティブツールは、それぞれのネイティブルートに残す必要があります。
  • OpenAI Responses のホスト型およびネイティブツール、たとえば tool_searchweb_searchfile_searchcode_interpreter、MCP、shell/apply_patch、computer-use ツールには /v1/responses が必要です。
  • Anthropic の server/native ツール、たとえば web_search_*web_fetch_*code_execution_*tool_search_*、bash、computer-use、text-editor ツールには /v1/messages が必要です。
  • Gemini の組み込みツール、たとえば googleSearchcodeExecutionurlContextcomputerUse、および同種の tools フィールドには /v1beta が必要です。
TokenLab はネイティブプロトコルのリクエストを Chat Completions へ格下げしません。未知のフィールドやツール構成は best-effort で転送され、対応可否は選択された upstream が判断します。

適切なフォーマットの選び方

マイグレーションガイド

OpenAI 公式APIから

Anthropic 公式APIから

Google AI Studio から

ポータブル Chat 互換性

1 つのクライアントから異なる upstream プロトコルで提供されるモデルへ接続する場合は /v1/chat/completions を使用します。移植可能な Chat リクエストは、完全に表現できる場合に限り Responses、Messages、Gemini へ一方向にコンパイルできます。Responses、Messages、Gemini のネイティブリクエストが Chat に変換されることはなく、モデル名やプロバイダー名だけではネイティブ対応を意味しません。

Responses と Gemini の境界

現在の Responses 面は create、compact、retrieve、delete、SSE を含みます。background は HTTP のみです。WebSocket が受け付けるのは response.create だけで、stream は暗黙です。この transport では backgroundresponse.cancel を提供しません。delete は cancel ではありません。 Gemini では ProtoJSON の lowerCamelCase と proto 元来の snake_case の両方が公式で、混在リクエストもそのまま保持されます。現在の面は model list/get、generateContentstreamGenerateContentcountTokensembedContentbatchEmbedContents を含み、Interactions と Live は含みません。未知のフィールドは best-effort で転送され、対応可否は upstream が判断します。