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

model_not_found / 404——Claude、Gemini 與閘道之間的模型命名

模型 ID 並不通用:api.anthropic.com 要求帶日期的 ID,Gemini 要求自己的版本字串,而每個閘道都定義不同的 slug。這裡的 404 表示「此主機沒有完全符合該字串的模型」——修正方式一律是詢問端點實際提供哪些模型。

最後審核於 。

模型 ID 並不通用:api.anthropic.com 要求帶日期的 ID,Gemini 要求自己的版本字串,而每個閘道都定義不同的 slug。這裡的 404 表示「此主機沒有完全符合該字串的模型」——修正方式一律是詢問端點實際提供哪些模型。

錯誤

response (HTTP 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,並訂閱淘汰通知。
拼寫錯誤或遭截斷的 slugclaude-sonnet 在任何地方都不是模型;精確字串很重要。
模型存在,但已針對你的金鑰/方案停用有些主機會依方案限制模型——清單端點會顯示你的金鑰可以呼叫哪些模型。

從你正在呼叫的端點列出模型

在任何 OpenAI 相容主機上,GET /v1/models 都是事實標準——它會精確回傳你的金鑰可使用的 ID:

list-models.sh
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']))"

在執行階段解析模型,而不是寫死

模型目錄會變動(新增快照、淘汰模型)。請在啟動時解析模型清單,優先使用已設定的 slug 並提供備援,當已設定的 slug 從 /v1/models 消失時發出警示,而不要讓正式環境中的請求回傳 404。

如果你透過 Kunavo 呼叫

Kunavo 使用穩定且易讀的 slug(claude-sonnet-5、gpt-5-6-terra、claude-fable-5),並在 GET /v1/models 中列出每個模型的中繼資料;已淘汰的 slug 會在網站模型頁面上以 301 重新導向至後繼模型,因此連結不會失效。清單端點具有權威性——任何讀取它的代理程式都能在 llms.txt 中看到相同資訊。

常見問題

為什麼相同的模型 ID 在一個 API 上可用,在另一個 API 上卻回傳 404?

因為 ID 會依主機建立命名空間:Anthropic 的帶日期 ID、Gemini 的版本化名稱,以及每個閘道的 slug,對於相關模型而言都是不同字串。請一律從目標端點自己的模型清單複製。

如何防範模型淘汰?

在啟動時解析 /v1/models,將模型 ID 放在設定中(不要寫死在程式碼裡),定義備援鏈,並在已設定的 ID 消失時通知自己——如此就能把正式環境中的 404 轉化為設定變更。

相關指南

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