統合ガイド
Anthropic SDK(Python と TypeScript)
ネイティブの Anthropic /v1/messages API と公式 anthropic SDK を ToRouter に対して利用します。
ToRouter は https://portal.torouter.ai/v1/messages でネイティブの Anthropic Messages API を公開しています。公式の anthropic Python パッケージと @anthropic-ai/sdk は変更なしで動作します。Base URL とキーを設定して、client.messages.create(...) で Claude(またはカタログ内の他のモデル)を呼び出してください。
設定
| 項目 | 値 |
|---|---|
| Base URL | https://portal.torouter.ai (SDK が /v1/messages を付与します) |
| API キー | sk-*** |
| モデル | claude-opus-4-7、claude-sonnet-4-5、claude-haiku-4-5 など |
環境変数 ANTHROPIC_BASE_URL と ANTHROPIC_API_KEY は自動検出されます。
コード
from anthropic import Anthropic
client = Anthropic(
base_url="https://portal.torouter.ai",
api_key="sk-***",
)
msg = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(msg.content[0].text)import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
baseURL: 'https://portal.torouter.ai',
apiKey: 'sk-***',
});
const msg = await client.messages.create({
model: 'claude-opus-4-7',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Hello' }],
});
console.log(msg.content[0].type === 'text' ? msg.content[0].text : '');curl https://portal.torouter.ai/v1/messages \
-H "x-api-key: sk-***" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-7",
"max_tokens": 1024,
"messages": [{"role":"user","content":"Hello"}]
}'プロンプトキャッシュはそのまま通過します
システム / ユーザーコンテンツに付与した cache_control ブロックは、Anthropic 直接接続および Anthropic-on-OpenRouter アカウントの両方に変更なしで転送されます。ToRouter はこのフィールドを削除しません。そのため、トークン削減効果はそのまま利用量ダッシュボードに反映されます。
よくあるハマり
https://portal.torouter.ai(/v1なし)を使用してください。SDK が自分で/v1/messagesを付与します。フルパスを設定すると/v1/v1/messagesになり 404 が返ります。- 認証ヘッダーは
Authorization: Bearerではなくx-api-keyです(SDK が処理するので、生 HTTP の場合のみ関係します)。 - OpenAI 形式の
/v1/chat/completionsパスも Claude モデルを受け付けます。OpenAI プロトコルを使いたい場合は openai-python を参照してください。