返回指南
疑難排解·2026年8月30日·閱讀約 6 分鐘

Anthropic API 404 not_found_error:「model: …」— 為什麼存在的模型名稱仍然會回傳 404

這個 404 令人困惑之處在於,該模型通常確實存在——存在於 Anthropic 的文件、部落格文章或上一季的程式碼中。但它不存在於您的 API 金鑰今天獲准存取的模型清單中。

最後審核於 。

這個 404 令人困惑之處在於,該模型通常確實存在——存在於 Anthropic 的文件、部落格文章或上一季的程式碼中。但它不存在於您的 API 金鑰今天獲准存取的模型清單中。

錯誤

response (HTTP 404)
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "model: claude-3-5-sonnet"
  }
}

原因與解決方法一覽

原因解決方法
已退役的日期快照快照會依照已發布的時程淘汰,之後便不再解析。請改用目前的快照。
從未存在的別名`claude-3-5-sonnet` 是一個系列,而不是可呼叫的 ID。Anthropic ID 會帶有版本或日期後綴。
模型確實存在,但未對您的帳戶啟用最新模型可能受方案層級限制。這種 404 與拼字錯誤無法區分——請檢查 models 端點,而不是文件。
Anthropic 端點上的 OpenAI 模型名稱在 api.anthropic.com 使用 `gpt-4o` 代表找不到模型,而不是路由錯誤。如果您想以單一端點使用兩者,請使用閘道。

詢問 API,而不是文件

文件描述的是模型目錄;models 端點描述的是您的模型目錄。兩者不一致時,應以端點為準。凡是不在此清單中的項目,無論在其他地方看起來多麼新,都會回傳 404。

list-models.sh
curl -s https://api.anthropic.com/v1/models \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  | grep '"id"'

有意識地固定,有意識地升級

寫死日期快照能換來可重現性,也會換來一個由他人決定日期的未來 404。從設定讀取模型 ID,表示修正只需在部署時設定值,而不必修改程式碼;同一個切換機制也能讓您在模型忙碌時進行故障切換,而不是在模型不存在時才切換。

model_config.py
import os

# One place to change when a snapshot retires.
MODEL = os.environ.get("LLM_MODEL", "claude-sonnet-5")

resp = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "ping"}],
)

區分 404、400 與 403

404 表示該名稱解析後沒有任何結果。400 表示名稱正確,但請求有問題(參數錯誤、內容格式錯誤)。403 表示模型存在,但您無權使用。只有 404 能透過變更模型字串修正。

如果你透過 Kunavo 呼叫

Kunavo 的模型目錄就是其 /v1/models 端點回傳的清單,其中每個 ID 都可由任何已儲值的金鑰呼叫——不存在針對個別帳戶的模型限制,因此上述「模型確實存在但未對您啟用」的情況不會發生。由於同一個端點同時提供 Claude 與 GPT 系列名稱,OpenAI ID 也不是端點錯誤;它只會進行路由。上游仍可能退役模型,而模型撤下時,其 ID 會被重新導向或加以說明,不會默默留到回傳 404。 目前的 ID 及其每 token 費率位於 Claude API 價格清單.

常見問題

404 會是暫時性錯誤嗎?

不會。不同於 429、500 與 529,使用相同模型字串重試 404 只會再次失敗。請變更字串或停止。

我如何知道快照何時退役?

Anthropic 會發布日期快照的淘汰日期。如果您固定使用快照,該時程就是行事曆項目;如果您從設定讀取 ID,則只需修改一行。

為什麼同事的金鑰使用相同名稱卻能運作?

模型可用性可能因帳戶方案層級而異。比較兩個 /v1/models 回應——差異就是答案。

相關指南

更多錯誤語意請參閱 錯誤參考;透過 註冊 和 身分驗證指南 取得金鑰只需一分鐘。