コアガイド

✨ TokenLab API 統合スキル

管理中の TokenLab API 統合スキルをインストールし、coding agent がモデルを発見し、対応状況を読み、API エラーから回復できるようにします。

このページを読み、現在のエージェントに TokenLab Skill を追加してください。インストール済みバージョンと設定を確認し、既存のアカウント、プロバイダー、権限、その他の設定を保持してください。ファイルをバックアップし、変更を示してください。API キーはローカルで入力するため、チャットで要求・表示しないでください。最初に設定の読み込みを確認し、有料テストは実行前に説明してください。
https://tokenlab.sh/docs/ja/integrations/coding-agent-skill

このページは、管理中の共有 tokenlab-api-integration スキルを説明します。正規の配布元は hedging8563/tokenlab-skills で、公開リポジトリには意図的にこのスキルだけを残しています。

このページはスキルのインストールと agent ワークフロー向けです。エンドポイント、SDK、クライアント設定は各ツールの専用統合ページまたは API Reference を参照してください。

このスキルでできること

  • TokenLab のチャット、画像、音声、動画、翻訳などの API ファミリー向けに、最小の実行可能サンプルを生成します。
  • OpenAI 互換クライアントでは https://api.tokenlab.sh/v1 を使い、Anthropic や Gemini のネイティブルートに切り替えるべき場面を説明します。
  • 古いリストを推測するのではなく、/v1/models、/llms.txt、recommended_for の候補一覧でモデルを発見します。
  • 非チャットリクエストを再試行する前にモデルの対応状況を読み、不対応フィールドを静かに捨てないようにします。
  • did_you_mean、suggestions、retry_after、recommended_request などの Agent-First エラーヒントを扱います。

インストール

正規の非対話インストールコマンドを使います:

npx skills add https://github.com/hedging8563/tokenlab-skills --skill tokenlab-api-integration -y

TokenLab skills リポジトリから共有 tokenlab-api-integration スキルをインストールします。

ツールが installer に対応していない場合は、リポジトリの skills/tokenlab-api-integration/ をツールの共有 skills または rules ディレクトリへコピーしてください。

既存インストールの更新

TokenLab skills リポジトリ整理前にインストールした場合は、同じコマンドを再実行してください。現在の公開パッケージは小さく、生成されたローカル検索スクリプトに依存しません。

インストール確認

coding agent に聞きます:

利用できる skills は何ですか?

tokenlab-api-integration が見えればインストール成功です。

API Key の取得

TokenLab にアクセス

tokenlab.sh を開きます

サインイン

アカウントを作成するかログインします

API Key を取得

Dashboard → API Keys を開いて新しい key を作成します

key をコピー

key は sk-... で始まります。安全に保存してください。

API key をプロンプトやソースコードに貼り付けないでください。スキルは使用する環境変数を確認し、その変数から key を読むコードを生成します。

推奨 Agent ワークフロー

現在のモデル一覧を確認し、選択したモデルの tokenlab.accepted_request_formats と公開リクエスト項目を読みます。会話とツール呼び出しでは同じ形式を維持します。形式間で項目は自動変換されません。エラーを理由に選択済みのモデルやプロトコルを勝手に変更しないでください。

最小チャット例

この例は OpenAI Python SDK と TokenLab base URL を使います:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["TOKENLAB_API_KEY"],
    base_url="https://api.tokenlab.sh/v1",
)

response = client.chat.completions.create(
    model="gpt-5.6-luna",
    messages=[{"role": "user", "content": "Hello!"}],
)

print(response.choices[0].message.content)

実行方法:

pip install openai
export TOKENLAB_API_KEY="sk-your-api-key"
python app.py

モデル発見と対応状況

古い同梱リストよりライブ発見を優先します:

# 機械可読 API 概要
curl https://api.tokenlab.sh/llms.txt

# モデル一覧
curl "https://api.tokenlab.sh/v1/models" -H "Authorization: Bearer $TOKENLAB_API_KEY"
curl "https://api.tokenlab.sh/v1/models?category=image" -H "Authorization: Bearer $TOKENLAB_API_KEY"

# 非チャット向けランキング候補
curl "https://api.tokenlab.sh/v1/models?recommended_for=image" -H "Authorization: Bearer $TOKENLAB_API_KEY"
curl "https://api.tokenlab.sh/v1/models?recommended_for=video" -H "Authorization: Bearer $TOKENLAB_API_KEY"
curl "https://api.tokenlab.sh/v1/models?recommended_for=translation" -H "Authorization: Bearer $TOKENLAB_API_KEY"

# 非チャットリクエストを再試行する前に単一モデルの対応状況を読む
curl "https://api.tokenlab.sh/v1/models/gpt-image-2" -H "Authorization: Bearer $TOKENLAB_API_KEY"

# 価格だけの詳細
curl "https://api.tokenlab.sh/v1/models/gpt-image-2/pricing" -H "Authorization: Bearer $TOKENLAB_API_KEY"

ネイティブプロトコルの選択

通常のチャット、画像、embedding、音声、rerank の例では OpenAI 互換の /v1 が既定です。モデル名やプロバイダー名、Chat レスポンスヘッダーからネイティブプロトコルの利用可否を推測しないでください。GET /v1/models/{model} を確認し、モデル詳細で公開されたリクエスト形式だけを使用します。

確認するフィールドは tokenlab.accepted_request_formats です。

プロトコルのエンドポイントは、Chat Completions が /v1/chat/completions、Responses が /v1/responses、Messages が /v1/messages、Gemini が /v1beta/models/{model}:generateContent です。

Agent-First エラー回復

エラーには coding agent が直接解析できるフィールドが含まれます:

HTTP ステータスとエラーの code を優先します。モデル名の誤りでは did_you_mean を参照できますが、ユーザーの選択なしにモデルを変更しないでください。429 では Retry-After または retry_after に従い、エラーが許可し、再試行が明示的に選択された場合だけ再試行します。検証、認証、残高、権限のエラーは修正が必要です。作成リクエストがタイムアウトした場合は、再送する前に既存タスクの有無を確認します。

対応 API ファミリー

ファミリー主なパス
Chat と Responses/v1/chat/completions, /v1/responses
Claude ネイティブ messages/v1/messages
Gemini ネイティブリクエスト/v1beta/models/{model}:generateContent
画像/v1/images/generations, /v1/images/edits
動画/v1/videos/generations
音楽/v1/music/generations
Worlds/v1/worlds/generations と world 状態・メディアアセット endpoint
3D/v1/3d/generations
音声/v1/audio/speech, /v1/audio/transcriptions, /v1/audio/translations
Realtime/v1/realtime?model={model}
Embeddings と rerank/v1/embeddings, /v1/rerank
テキスト翻訳/v1/translations

ベストプラクティス

API Key の安全性

環境変数とサーバー側呼び出しを使い、フロントエンドコードで key を公開しないでください。

非チャットは契約優先

画像、動画、音楽、3D、翻訳、音声、embedding、rerank を再試行する前に /v1/models?recommended_for=... と /v1/models/:model を読みます。

最小の実行可能例

抽象化、キュー、UI フローを追加する前に、まず 1 つの動く呼び出しを作ります。

構造化ヒントを使う

コードを変更する前に did_you_mean、retry_after、alternatives、recommended_request を解析します。

FAQ

リソース

API やアカウントの問題にはアプリ内サポートを使い、プレビュー確認後に明示的に送信します。特定のリクエストはリクエスト一覧と調査ガイドから確認してください。Skill 自体の不具合は GitHub Issuesへ報告できます。

このページの内容