Crescendo Lab ドキュメント デプロイ
日本語
無料で始める

Gateway クイックスタート

AI Gateway の利用申請とキー作成の後、Claude Code・Codex・OpenAI/Anthropic SDK・curl を https://api.agentlab.cresclab.com につなぎます。手順はコピー可。

最終更新

始める前に#

  1. Gateway を開く Agent Lab コンソールに登録し、ワークスペースで AI Gateway を開きます。Gateway がまだオンになっていなければ、AI Gateway のページから利用を申請してください。ワークスペースで有効にします。コンソールのページにも同じ案内が表示されます。
  2. キーを作成 はじめに タブで API キーを作成 を選び、名前を付けます。キーは一度しか表示されないので、すぐにコピーしてください。
  3. クライアントを選ぶ 以下のいずれかのセクションに従います。コンソールの はじめに タブにも、あなたのキーとワークスペースのモデルを入れた同じ手順が表示されます。

どの例も、キーを環境変数 AGENTLAB_API_KEY から読み取ります。

bash
export AGENTLAB_API_KEY=<your API key>

モデル名は GET /v1/models で取得できます。auto と、ワークスペースで許可されたすべてのモデルが一覧されます。以下のモデル名は例です。

Claude Code#

Claude Code は Anthropic Messages を使い、/v1/messages を自分で付け足すため、ベース URL には /v1 を付けません。送信前にモデル名を確認するので、Claude のモデル名をそのまま指定し、auto はヘッダーで指定します。

bash
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 にプロバイダーを追加します。

~/.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" }

そのあと実行します。

bash
codex

常に指定したモデルを使う場合は、http_headers の行を削除します。

OpenAI SDK#

bash
pip install openai
python
import 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#

bash
pip install anthropic
python
import 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:

bash
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:

bash
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:

bash
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 › 使用量 を開きます。リクエストが、そのキー、応答したモデル、費用とともに一覧されます。拒否されたリクエストのコードはエラーで確認できます。