Skip to main content
TokenLabはマルチフォーマットに対応しています。OpenAI互換クライアント、AnthropicネイティブのMessages呼び出し、GeminiネイティブのREST呼び出し、そしてメディアエンドポイントを、それぞれの自然な形式のまま維持できます。最も安全な移行方法は、すべてのワークロードを一つの汎用フォーマットに変換しようとしないことです。アプリケーションが必要とする動作を保持するルートを選択してください。

ルートマッピング

クイック移行レシピ

OpenAIからTokenLabへ

SDKの base_url / baseURLhttps://api.tokenlab.sh/v1 に変更するだけです。ロールアウトを容易にするため、既存のOpenAI APIキーの環境変数名はそのまま使用可能です。モデルIDは GET /v1/models を確認した後に置き換えてください。

OpenRouterからTokenLabへ

以前OpenRouterのOpenAI互換ベースURLを使用していた箇所で https://api.tokenlab.sh/v1 を使用してください。プロバイダー接頭辞付きのモデルIDを削除し、/v1/models から取得したTokenLabのパブリックモデルIDを使用します。ワークロードがClaude MessagesやGeminiの generateContent を必要とする場合は、OpenAI互換チャット経由で無理に実行せず、ネイティブのTokenLabエンドポイントへ移行してください。

LiteLLMからTokenLabへ

LiteLLMの custom_openai/<model> ルートを使用し、api_base: https://api.tokenlab.sh/v1 を設定してください。LiteLLMのエイリアスと実際のTokenLabモデルIDを分離しておくことで、アプリケーションのプロンプトを変更することなくルーティングポリシーを変更できます。

TokenLab経由のClaude Messages

Anthropic SDKクライアントの接続先を https://api.tokenlab.sh に設定し、messages.create を呼び出します。SDKのベースURLに /v1 を追加しないでください。SDKが /v1/messages パスを管理します。

TokenLab経由のGeminiネイティブ

Geminiのペイロードは https://api.tokenlab.sh/v1beta/models/{model}:generateContent に維持してください。アプリがGeminiの動作に依存している場合、Geminiネイティブの contentsparts、ファイル、キャッシュされたコンテンツ、関数宣言、および組み込みツールはこのルートで維持する必要があります。

OpenAI互換の移行

既存のリトライ、タイムアウト、ストリーミングコードはそのまま維持できますが、本番環境のトラフィックを流す前に GET /v1/models でモデルIDを検証してください。画像生成については、model を明示的に送信し、画像ガイドを確認してください。画像モデルはチャットモデルよりも差異が大きいためです。

Anthropicの移行

Claudeネイティブのツール使用、思考フロー、およびAnthropicのメッセージセマンティクスには /v1/messages を使用してください。OpenAI互換の動作変更を意図的に行いたい場合を除き、Anthropic専用フィールドをChat Completions経由で変換しないでください。

Geminiの移行

アプリがGeminiネイティブの動作に依存している場合は、Geminiの組み込みツール、File API参照、キャッシュされたコンテンツ、関数宣言、およびネイティブのコンテンツパーツを /v1beta で維持してください。

メディアの移行

  1. GET /v1/models?recommended_for=image|video|music|3d をクエリします。
  2. リストレスポンス内の GET /v1/models および利用可能な場合は完全な GET /v1/models/{model} を読み取ります。
  3. 特に画像エンドポイントでは、model を明示的に送信します。
  4. 非同期ジョブ用に task_idpoll_url、エンドポイント、モデル、および独自のジョブIDを保存します。
  5. 費用の照合はプロバイダーのタスクIDではなく、使用量レコードと billing_transaction_id を通じて行います。
メディアワークロードは、レイテンシ、リトライ、最終的なアセットの挙動がチャット補完とは異なるため、独自のロールアウト計画が必要です。

本番環境ロールアウト計画

移行の落とし穴

  • アプリがネイティブのAnthropic、Gemini、またはResponsesの動作を必要とする場合、すべてのモデルを1つのOpenAI Chat Completionsパスの背後に配置しないでください。
  • 古い画像のデフォルト設定を前提としないでください。model は明示的に送信してください。
  • タスクが既に作成されているかを確認せずに、非同期作成リクエストをリトライしないでください。
  • プロバイダー固有の識別子をログやUIに公開しないでください。
  • 請求額をプロバイダーのタスクIDで比較しないでください。TokenLabの使用量レコードを使用してください。

APIリファレンス