Gateway クイックスタート
AI Gateway の利用申請とキー作成の後、Claude Code・Codex・OpenAI/Anthropic SDK・curl を https://api.agentlab.cresclab.com につなぎます。手順はコピー可。
始める前に#
- Gateway を開く Agent Lab コンソールに登録し、ワークスペースで AI Gateway を開きます。Gateway がまだオンになっていなければ、AI Gateway のページから利用を申請してください。ワークスペースで有効にします。コンソールのページにも同じ案内が表示されます。
- キーを作成 はじめに タブで API キーを作成 を選び、名前を付けます。キーは一度しか表示されないので、すぐにコピーしてください。
- クライアントを選ぶ 以下のいずれかのセクションに従います。コンソールの はじめに タブにも、あなたのキーとワークスペースのモデルを入れた同じ手順が表示されます。
どの例も、キーを環境変数 AGENTLAB_API_KEY から読み取ります。
export AGENTLAB_API_KEY=<your API key>モデル名は GET /v1/models で取得できます。auto と、ワークスペースで許可されたすべてのモデルが一覧されます。以下のモデル名は例です。
Claude Code#
Claude Code は Anthropic Messages を使い、/v1/messages を自分で付け足すため、ベース URL には /v1 を付けません。送信前にモデル名を確認するので、Claude のモデル名をそのまま指定し、auto はヘッダーで指定します。
export ANTHROPIC_BASE_URL=https://api.agentlab.cresclab.com
export ANTHROPIC_AUTH_TOKEN=$AGENTLAB_API_KEY
export ANTHROPIC_MODEL=claude-sonnet-5-5
export ANTHROPIC_CUSTOM_HEADERS="X-AgentLab-Routing: auto"
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-5-5
claude常に指定したモデルを使う場合は、ANTHROPIC_CUSTOM_HEADERS の行を省きます。haiku の行は、Claude Code がバックグラウンドで行う小さな呼び出しを安価なモデルに送ります。
Codex#
Codex は OpenAI Responses を使います。~/.codex/config.toml にプロバイダーを追加します。
model = "gpt-5.6-luna"
model_provider = "agentlab"
[model_providers.agentlab]
name = "Agent Lab"
base_url = "https://api.agentlab.cresclab.com/v1"
wire_api = "responses"
env_key = "AGENTLAB_API_KEY"
http_headers = { "X-AgentLab-Routing" = "auto" }そのあと実行します。
codex常に指定したモデルを使う場合は、http_headers の行を削除します。
OpenAI SDK#
pip install openaiimport os
from openai import OpenAI
client = OpenAI(base_url="https://api.agentlab.cresclab.com/v1", api_key=os.environ["AGENTLAB_API_KEY"])
reply = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Hello"}],
)
print(reply.model, reply.choices[0].message.content)reply.model は応答したモデルです。
Anthropic SDK#
pip install anthropicimport os
from anthropic import Anthropic
client = Anthropic(base_url="https://api.agentlab.cresclab.com", api_key=os.environ["AGENTLAB_API_KEY"])
reply = client.messages.create(
model="auto",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(reply.model, reply.content[0].text)curl#
Chat Completions:
curl https://api.agentlab.cresclab.com/v1/chat/completions \
-H "Authorization: Bearer $AGENTLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "auto", "messages": [{"role": "user", "content": "Hello"}]}'Anthropic Messages:
curl https://api.agentlab.cresclab.com/v1/messages \
-H "Authorization: Bearer $AGENTLAB_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model": "auto", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}'OpenAI Responses:
curl https://api.agentlab.cresclab.com/v1/responses \
-H "Authorization: Bearer $AGENTLAB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "auto", "input": "Hello"}'リクエストにタグを付ける#
チーム・機能・顧客ごとの支出を見るには、{"team": "support"} のような文字列値の JSON オブジェクトを X-AgentLab-Metadata ヘッダーに付けます。上のどのエンドポイントでも使えます。上限と表示される場所はタグを参照してください。
動作を確認する#
コンソールで AI Gateway › 使用量 を開きます。リクエストが、そのキー、応答したモデル、費用とともに一覧されます。拒否されたリクエストのコードはエラーで確認できます。