OpenRouterからFastMetalへ移行する:モデルID対応表つき
OpenRouterとFastMetalはどちらもOpenAI互換のゲートウェイなので、移行で変更するのは base_url と model の2か所だけです。 SDKの入れ替えもリクエスト形式の書き直しも必要ありません。
この記事では、実際のコードの書き換え例、主要モデルのID対応表、Claude Codeなどのツールの設定、そしてつまずきやすい点をまとめます。逆方向(FastMetal → OpenRouter)も手順は同じです。
変更するのは2か所だけ
| 項目 | OpenRouter | FastMetal |
|---|---|---|
| ベースURL | https://openrouter.ai/api/v1 | https://api.fastmetal.ai/v1 |
| APIキー | OpenRouterで発行 | FastMetalのダッシュボードで発行 |
| モデルID | anthropic/claude-opus-5 | anthropic-claude-opus-5 |
| リクエスト形式 | Chat Completions | 同じ |
| レスポンス形式 | Chat Completions | 同じ |
messages、max_tokens、temperature、stream、tools といったパラメータの扱いは共通です。Chat Completions APIの形式に沿って書かれていれば、そのまま動きます。
ステップ1:APIキーを取得する
FastMetalに登録してAPIキーを発行します。キーは sk- で始まる文字列です。プリペイド式なので、有料モデルを使う場合は残高をチャージしてください。無料モデルだけを試すならチャージは不要です。
export FASTMETAL_API_KEY="sk-..."
ステップ2:コードを書き換える
Python(OpenAI SDK)
変更するのは2行だけです。
from openai import OpenAI
# 変更前(OpenRouter)
# client = OpenAI(
# api_key=os.environ["OPENROUTER_API_KEY"],
# base_url="https://openrouter.ai/api/v1",
# )
# 変更後(FastMetal)
client = OpenAI(
api_key=os.environ["FASTMETAL_API_KEY"],
base_url="https://api.fastmetal.ai/v1",
)
resp = client.chat.completions.create(
model="anthropic-claude-opus-5", # ← "anthropic/claude-opus-5" から変更
max_tokens=500,
messages=[
{"role": "user", "content": "移行が完了したか確認するための一文を書いて"},
],
)
print(resp.choices[0].message.content)
print(resp.usage)
curl
curl https://api.fastmetal.ai/v1/chat/completions \
-H "Authorization: Bearer $FASTMETAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"max_tokens": 200,
"messages": [
{"role": "user", "content": "こんにちは"}
]
}'
TypeScript
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.FASTMETAL_API_KEY,
baseURL: 'https://api.fastmetal.ai/v1',
});
const resp = await client.chat.completions.create({
model: 'deepseek-v4-pro',
max_tokens: 500,
messages: [{ role: 'user', content: 'こんにちは' }],
});
console.log(resp.choices[0].message.content);
ステップ3:モデルIDを対応させる
ここが唯一の手作業です。OpenRouterは 提供元/モデル名 の形式、FastMetalはスラッシュを使わない形式です。
| OpenRouter | FastMetal |
|---|---|
anthropic/claude-opus-5 | anthropic-claude-opus-5 |
anthropic/claude-sonnet-5 | anthropic-claude-sonnet-5 |
anthropic/claude-fable-5 | anthropic-claude-fable-5 |
anthropic/claude-haiku-4.5 | anthropic-claude-haiku-4-5 |
openai/gpt-5.6-sol | gpt-5.6-sol |
openai/gpt-5.6-luna | gpt-5.6-luna |
google/gemini-3.5-flash | gemini-3.5-flash |
x-ai/grok-4.5 | grok-4.5 |
deepseek/deepseek-v4-pro | deepseek-v4-pro |
deepseek/deepseek-v4-flash | deepseek-v4-flash |
z-ai/glm-5.2 | glm-5.2 |
moonshotai/kimi-k3 | kimi-k3 |
minimax/minimax-m3 | minimax-m3 |
qwen/qwen3.8-max | qwen3.8-max |
変換規則は完全に機械的ではありません。 多くは提供元プレフィックスを外すだけですが、Anthropicのモデルは anthropic- を残したうえでドットがハイフンになります(claude-haiku-4.5 → anthropic-claude-haiku-4-5)。一方でGPTやGLMはドットをそのまま残します(gpt-5.6-sol、glm-5.2)。
推測せず、モデルカタログで確認してください。 全モデルのIDはAPIからも取得できます。
curl https://api.fastmetal.ai/v1/models \
-H "Authorization: Bearer $FASTMETAL_API_KEY"
ステップ4:ツールの接続先を変える
Claude Code
Anthropic互換のエンドポイントも提供しているので、環境変数を差し替えるだけです。
export ANTHROPIC_AUTH_TOKEN="$FASTMETAL_API_KEY"
export ANTHROPIC_BASE_URL="https://api.fastmetal.ai"
export ANTHROPIC_MODEL="anthropic-claude-sonnet-5" # 任意
OpenAI互換の設定を持つツール全般
Cline、Roo Code、Continue など、OpenAI互換のベースURLとキーを設定できるツールは、その2項目を書き換えるだけです。設定画面での名称は「Base URL」「API Base」「Custom endpoint」などツールによって異なります。
主要なツールごとの手順はドキュメントのガイドにまとめています。
つまずきやすい点
モデルIDのスラッシュ
anthropic/claude-opus-5 のままリクエストすると、そのIDのモデルは存在しないためエラーになります。対応表か /v1/models で確認してください。
:free サフィックスは使わない
OpenRouterの :free に相当するのは、FastMetalでは random-free などの独立したモデルIDです。既存のIDに :free を付けても動きません。
残高切れは429で返る
プリペイド式なので、残高を使い切るとリクエストが拒否されます。レスポンスは HTTP 429 で、本文に budget_exceeded が含まれます。レート制限の429と区別するには、ステータスコードではなく本文のマーカーで判定してください。
HTTP-Referer / X-Title ヘッダは不要
OpenRouterのランキングに表示するための任意ヘッダです。送っても害はありませんが、FastMetalでは使いません。
単価は円建てになる
usage のトークン数は同じですが、課金は円建てです。ドル建ての予算計算をそのまま持ち込まないよう注意してください。単価は料金ページで確認できます。
移行後の確認
最後に、残高とモデル一覧が取れることを確認します。
# モデル一覧が返れば、キーとベースURLは正しい
curl -s https://api.fastmetal.ai/v1/models \
-H "Authorization: Bearer $FASTMETAL_API_KEY" | head -40
実際に1リクエスト投げて usage が返ってくれば移行完了です。ダッシュボードの利用状況にも即座に反映されます。
よくある質問
Q. コードの書き換えはどのくらい必要ですか?
OpenAI SDKを使っているなら base_url と model の2か所だけです。OpenRouter固有のパラメータ(provider オブジェクトや HTTP-Referer ヘッダ)を使っている場合は、その部分の削除が追加で必要になります。
Q. FastMetalにないモデルはどうすればいいですか? モデルカタログに載っていないモデルは呼び出せません。両方のキーを併用して、モデルごとに使い分けることもできます。
Q. FastMetalからOpenRouterに戻せますか?
戻せます。手順は同じで、base_url とモデルIDを元に戻すだけです。OpenAI互換の形式で書いておけば、どちらにも縛られません。
Q. 移行するとコストは変わりますか? 課金通貨が円建てになり、ドル決済に伴う為替と海外事務手数料がなくなります。モデルごとの単価は料金ページで確認してください。実質コストの比較はOpenRouterの料金の記事にまとめています。
まとめ
OpenAI互換どうしの移行なので、変えるのはベースURL・APIキー・モデルIDの3つだけです。唯一手間がかかるのはモデルIDの対応で、変換規則が完全に一様ではないため、上の対応表かモデルカタログで確認してください。
同じコードのまま両方を試せるので、実際に叩いて比べるのがいちばん早いはずです。APIキーの取得はこちらから。