コア
APIリファレンス
TokenLab API の完全なリファレンス
概要
TokenLab は native-first かつ OpenAI 互換 です。ネイティブな挙動が必要な場合は、Anthropic では POST /v1/messages のような provider-native のルートを、Gemini では /v1beta/models/...:generateContent を使用してください。既存の OpenAI 形式の SDK やツールを移行している場合は、OpenAI 互換 な /v1 エンドポイントを使用してください。POST /v1/responses は、Responses 固有の動作向けの上級者向けオプション経路のままです。
ベースURL
https://api.tokenlab.sh認証
モデルへのリクエストには TokenLab API キーを使用します。標準の認証ヘッダーは次のとおりです。
Authorization: Bearer sk-your-api-keyGET /v1/models、GET /v1/models/{model}、GET /v1/pricing は公開されており、キーは不要です。Anthropic Messages は x-api-key も、Gemini は Bearer に加えて x-goog-api-key または ?key= も受け付けます。/v1/management/* には管理トークン(mt-...)が必要です。
APIキーはダッシュボードから取得してください。
生成リクエストは X-TokenLab-Delivery-Policy: auto | verified | official を受け付けます。ヘッダー、API キー設定、ワークスペース既定値の順に優先されます。auto は TokenLab Verified を優先し、必要に応じて Official を使用します。課金は完了した方式に基づきます。verified は TokenLab 価格、official はモデル提供元の公開価格を基にし、実際の料金は TokenLab の表示に従います。Realtime はキーまたはワークスペース設定を使い、クエリでの上書きはできません。不正なヘッダーは 400、利用できない方式は 503 delivery_tier_unavailable とリクエスト ID を返します。
Interactive Playground について: このドキュメントサイト上のプレイグラウンドはデモ目的のみで提供されており、APIキーの入力には対応していません。APIをテストするには、次のいずれかを使用してください:
- cURL - サンプルコマンドをコピーし、
sk-your-api-keyを実際のキーに置き換えてください - Postman - 当社のOpenAPI仕様をインポートしてください
- SDK - 当社のベースURLを使用して OpenAI/Anthropic SDK を利用してください
サポートされているエンドポイント
チャットとテキスト生成
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/chat/completions | POST | OpenAI互換のチャット補完 |
/v1/messages | POST | Anthropic互換のメッセージAPI |
/v1/responses | POST | OpenAI Responses API |
埋め込み & 再ランク
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/embeddings | POST | テキスト埋め込みを作成 |
/v1/rerank | POST | ドキュメントを再ランク |
画像
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/images/generations | POST | テキストから画像を生成 |
/v1/images/edits | POST | 画像を編集 |
/v1/images/generations/{id} | GET | タスクベースの画像レスポンス向けの画像タスクステータスパス |
画像モデルは完成画像または非同期タスクを返します。レスポンスに poll_url がある場合、その URL でタスクを確認してください。
音声
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/audio/speech | POST | テキスト読み上げ(TTS) |
/v1/audio/transcriptions | POST | 音声からテキスト(STT) |
リアルタイム
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/realtime?model={model} | WS | リアルタイム WebSocket セッション |
/v1/realtime は WebSocket アップグレード要求に使用します。通常の GET /v1/realtime は、WebSocket ルートを直接確認できないクライアント向けにエンドポイントメタデータを返します。これは OpenAI Realtime REST 面ではありません。client secret、translation client secret、Calls、legacy beta session エンドポイントは現在公開していません。
動画
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/videos/generations | POST | 動画生成タスクを作成 |
/v1/tasks/{id} | GET | 動画ジョブの非同期タスクステータスを取得 |
/v1/videos/generations/{id} | GET | レガシー互換の動画タスクステータスパス |
新しいクライアントの場合は /v1/tasks/{id} を優先し、create レスポンスで返される poll_url に従ってください。/v1/videos/generations/{id} は後方互換性のために残してください。
非同期タスク
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/tasks/{id} | GET | 統一された非同期タスクステータスのエンドポイント。返された poll_url をたどる場合に推奨 |
このエンドポイントは動画、音楽、3D に限定されません。一部の画像タスクも標準的なポーリングパスとして /v1/tasks/{id} を使用する場合があります。
音楽
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/music/generations | POST | 音楽生成タスクを作成 |
/v1/music/generations/{id} | GET | 音楽専用のステータスパス |
新しいクライアントの場合は、まず返却された poll_url を優先してください。固定のタスクステータスエンドポイントが必要な場合は /v1/tasks/{id} を使用し、音楽専用の互換パスとして /v1/music/generations/{id} を維持してください。
3D生成
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/3d/generations | POST | 3Dモデル生成タスクを作成 |
/v1/3d/generations/{id} | GET | 3D専用のステータスパス |
新しいクライアントの場合は、まず返却された poll_url を優先してください。固定のタスクステータスエンドポイントが必要な場合は /v1/tasks/{id} を使用し、3D専用の互換パスとして /v1/3d/generations/{id} を維持してください。
モデル
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1/models | GET | 利用可能なモデルをすべて一覧表示 |
/v1/models/{model} | GET | 特定モデルの情報を取得 |
Gemini (v1beta)
ネイティブな Google Gemini API フォーマットのサポート:
| エンドポイント | メソッド | 説明 |
|---|---|---|
/v1beta/models/{model}:generateContent | POST | コンテンツを生成(Geminiフォーマット) |
/v1beta/models/{model}:streamGenerateContent | POST | ストリームでコンテンツを生成(Geminiフォーマット) |
Gemini エンドポイントは、標準の Bearer トークンに加え ?key= クエリパラメータによる認証をサポートします。
レスポンス形式
各エンドポイントは対応する API 形式を保ちます。以下の成功・エラー例は Chat Completions 形式です。
成功レスポンス
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1234567890,
"model": "gpt-5.6-terra",
"choices": [{"index": 0, "message": {"role": "assistant", "content": "Hello!"}, "finish_reason": "stop"}],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}ルーティングの透明性
TokenLab は、公開レスポンス本文でプロバイダー、チャンネル、ポリシー、認証情報の詳細を公開しません。_routing やその他の内部ルーティングフィールドを公開 API 契約の一部として依存しないでください。
デバッグやサポートでは、レスポンスに含まれている場合のみ、次の公開レスポンスヘッダーを使用できます。
| ヘッダー | 説明 |
|---|---|
X-Routing-Time-MS | ルート選択にかかった時間(利用可能な場合) |
X-Request-ID | サポートとデバッグ用のリクエスト識別子(利用可能な場合) |
X-Task-ID | タスクベースのレスポンスで使う公開非同期タスク識別子(利用可能な場合) |
X-Billing-Transaction-ID | 最終課金後の課金トランザクション識別子(利用可能な場合) |
エラーレスポンス
{
"error": {
"message": "Invalid API key provided",
"type": "invalid_api_key",
"code": "invalid_api_key"
}
}レート制限
レート制限はロールベースで、管理者により設定可能です。デフォルト値:
| ロール | リクエスト/分 |
|---|---|
| ユーザー | 1,000 |
| パートナー | 10,000 |
| VIP | 10,000 |
カスタムのレート制限についてはサポートにお問い合わせください。正確な値はアカウント設定により異なる場合があります。
レート制限を超えた場合、API は 429 ステータスコードを返し、待機時間を示す Retry-After ヘッダーが付与されます。
OpenAPI 仕様
OpenAPI仕様
OpenAPI 3.1 の完全な仕様をダウンロード