モデルIDは移植できません。api.anthropic.comは日付付きIDを、Geminiは独自のバージョン文字列を要求し、各ゲートウェイは独自のスラッグを定義します。ここでの404は「このホストにはその完全一致文字列のモデルがない」という意味です。解決策は常に、エンドポイントに提供モデルを問い合わせることです。
エラー
{
"error": {
"type": "model_not_found",
"message": "The model 'claude-sonnet' does not exist or you do not have access to it.",
"code": "model_not_found"
}
}原因と対処法の概要
| 原因 | 対処法 |
|---|---|
| 別のホストのモデルID | 各APIには独自の名前空間があります。ブログ記事ではなく、エンドポイント自身のモデル一覧からIDをコピーしてください。 |
| 非推奨または名称変更されたバージョン | プロバイダーは日付付きスナップショットを廃止します。現在のIDに固定し、非推奨の通知を購読してください。 |
| 入力ミスまたは途中で切れたスラッグ | claude-sonnetはどのモデルにも存在しません。正確な文字列が重要です。 |
| モデルは存在するが、キーまたはプランで無効になっている | 一部のホストはプランによってモデルへのアクセスを制限します。一覧エンドポイントには、あなたのキーで呼び出せるモデルが表示されます。 |
呼び出しているエンドポイントからモデルを一覧表示する
GET /v1/modelsは、OpenAI互換ホストにおける信頼できる情報源です。キーで使用できるIDを正確に返します。
curl -s https://api.kunavo.com/v1/models \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
| python3 -c "import json,sys; print('\n'.join(m['id'] for m in json.load(sys.stdin)['data']))"モデルをハードコードせず実行時に解決する
カタログは変化します(新しいスナップショット、廃止)。起動時にモデル一覧を解決し、設定済みスラッグをフォールバック付きで優先し、/v1/modelsから設定済みスラッグが消えたときにアラートを出してください。本番で404になる前に対応できます。
Kunavo経由で呼び出している場合
Kunavoは、GET /v1/modelsにモデルごとのメタデータとともに掲載される、安定した人間可読のスラッグ(claude-sonnet-5、gpt-5-6-terra、claude-fable-5)を使用します。廃止されたスラッグはサイトのモデルページで後継モデルへ301リダイレクトされるため、リンクが壊れません。リストエンドポイントが権威ある情報源であり、llms.txtもそれを読み取るエージェントに同じことを伝えます。
よくある質問
同じモデルIDが、あるAPIでは動作し別のAPIでは404になるのはなぜですか?
IDはホストごとに名前空間が異なるためです。Anthropicの日付付きID、Geminiのバージョン付き名、各ゲートウェイのスラッグは、関連するモデルに対してもすべて異なる文字列です。常に対象エンドポイント自身のモデル一覧からコピーしてください。
モデル廃止に将来対応するにはどうすればよいですか?
起動時に/v1/modelsを解決し、モデルIDをコードではなく設定に置き、フォールバックチェーンを定義し、設定済みIDが消えたときに通知してください。本番の404を設定変更に変えられます。