model_not_found(404)の原因と直し方:The model does not exist

この記事の要点
model_not_foundは、指定したモデルが存在しないか、そのリクエストから使えないときのHTTP 404です。- 原因の多くは、IDの打ち間違い、提供が終わったモデル、プロジェクトの権限、接続先ごとのIDの形式の違いです。
- Anthropicでは、同じ404が
not_found_errorとして返ります。 - 確実なのは、モデル一覧のAPIから正しいIDを取得して比べる方法です。
The model ... does not exist と返ってきたときに確かめることを、順にまとめます。
model_not_found のエラー本文
OpenAIの開発者フォーラムに投稿された実例では、次の本文が返っています。
{
"error": {
"message": "The requested model 'gpt-4-1106-preview' does not exist.",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}
The model ... does not exist or you do not have access to it. という文言の報告もあります。文言は変わることがあるので、判定には code を使います。OpenAIの公式ドキュメントは、404の model_not_found について、ID、モデル、プロジェクト、削除の有無を確かめるよう案内しています。
Anthropicでは、エラーのドキュメントにある not_found_error が404で返ります。本文の形は次のとおりです。
{
"type": "error",
"error": {
"type": "not_found_error",
"message": "The requested resource could not be found."
},
"request_id": "req_011CSHoEeqs5C35K2UUqR7Fy"
}
よくある原因
| 原因 | 例 | 直し方 |
|---|---|---|
| 打ち間違い | gpt-40(数字のゼロとoの取り違え) | 一覧からコピーする |
| 提供が終わった | 古い日付つきのID | 後継のIDに変える |
| キーから使えない | プロジェクトでモデルが許可されていない | 権限の設定を確かめる |
| 接続先とIDの形式が合わない | 別サービスのIDをそのまま使った | 接続先の一覧で確かめる |
| パスの誤り | /v1 の重複 | base_url を確かめる |
モデル一覧で正しいIDを確かめる
推測より、接続先に聞くのが確実です。
curl -s https://api.fastmetal.ai/v1/models \
-H "Authorization: Bearer $FASTMETAL_API_KEY" \
| python3 -c "import json,sys; print('\n'.join(sorted(m['id'] for m in json.load(sys.stdin)['data'])))"
コードの中で、近いIDを候補として出すこともできます。
import difflib
import os
from openai import NotFoundError, OpenAI
client = OpenAI(
api_key=os.environ["FASTMETAL_API_KEY"],
base_url="https://api.fastmetal.ai/v1",
)
wanted = "deepseek-v4-1-flash"
try:
resp = client.chat.completions.create(
model=wanted,
messages=[{"role": "user", "content": "こんにちは"}],
max_tokens=64,
)
print(resp.choices[0].message.content)
except NotFoundError:
ids = [m.id for m in client.models.list().data]
print("近いID:", difflib.get_close_matches(wanted, ids, n=5, cutoff=0.4))
FastMetalのモデルIDの決まり
FastMetalでは、IDの形に次の決まりがあります。
- Anthropicのモデルには接頭辞が付きます(
anthropic-claude-sonnet-5)。ほかのモデルはそのままです(gpt-6.1-sol、kimi-k3)。 - IDのドットは残ります(
deepseek-v4.1-flash)。 - カタログのURLではドットがハイフンに変わります(
/models/deepseek/deepseek-v4-1-flash)。URLの末尾をそのままIDとして使うことはできません。
Claude Codeでは、モデルIDの問題に見えるエラーの原因が別にあることがあります。ANTHROPIC_BASE_URL に /v1 を付けると /v1/v1/messages への404になり、Claude Codeはこれをモデルの権限の問題として表示します。
Claude Codeに組み込まれたHaikuのID(claude-haiku-4-5-20251001 など)はFastMetalでは拒否され、この場合は400になります(2026年10月に確認)。ANTHROPIC_DEFAULT_HAIKU_MODEL に anthropic-claude-haiku-4-5 などを設定します。手順はClaude Codeのガイドにあります。
FastMetalは、モデル一覧の95以上のモデルを1つのAPIキーで呼び出せる日本のAIゲートウェイです。単価は料金ページで確認できます。
よくある質問
昨日まで使えていたモデルで急に404になりました
提供が終わったか、IDが変わった可能性があります。モデル一覧を取得して、同じIDが残っているかを確かめます。
モデル一覧にあるのに404になります
使っているエンドポイントがそのモデルに対応しているかを確かめます。キーやプロジェクトごとの権限も確認します。
model_not_found はリトライで直りますか
直りません。IDか権限を直す必要があるので、リトライの対象から外します。
別のサービスのモデルIDをそのまま使えますか
使えないことが多いです。形式は接続先ごとに決まっています。FastMetalでは /v1/models が返すIDを使います。
まとめ
model_not_found が出たら、推測で直さず、接続先のモデル一覧と突き合わせます。FastMetalでは接頭辞とドットの決まりに注意します。
どのモデルが使えるかは、無料でアカウントを作成して、一覧のAPIで確かめられます。