API Key 檢測工具
測試任何 OpenAI 相容 API 的 Key 與 Base URL,直接在瀏覽器裡完成。
關於這個工具
當 AI 工具連不上模型 API,原因通常不外乎幾種:Base URL 少了或多了一段路徑、Key 屬於另一家供應商、模型 ID 不存在,或是瀏覽器擋下了請求。這個檢測器會從你的瀏覽器送出跟你的工具相同的請求,告訴你是哪一種。凡是遵循 OpenAI 格式的 API 都能用,不限於 cheapaimodel。
檢測方式
整理 Base URL
送出任何請求之前,網址會先依下方的規則整理,免得一個小小的打錯掩蓋了真正的問題。已知需要 /v1 的主機(OpenAI 與 cheapaimodel)會自動加上;其他主機只會提醒你,因為有些供應商不加也能用。
Base URL 修正
https://api.example.com/v1已加上 https://。http://localhost:11434/v1已加上 http://。https://api.example.com/v1已將 http:// 改為 https://。透過 HTTPS 提供的頁面無法呼叫純 HTTP;如果你的伺服器只支援 HTTP,請用 curl 測試。https://api.example.com/v1已移除結尾的 /chat/completions:你的工具會在每個請求自動加上它。/chat/completionshttps://api.example.com/已移除多餘的斜線。/v1/https://api.example.com/v1/v1 出現了兩次,已保留一個。/v1https://api.example.com/v1已移除查詢字串或 # 片段。?key=abchttps://api.openai.com/v1已加上這個 API 需要的 /v1。https://api那是我們的網站,不是 API,已改用 API 位址。console.cheapaimodel.ai/v1
列出模型
送出 GET <base_url>/models,Key 放在 Authorization 標頭裡。這不花任何費用,能確認網址和這組 Key 搭得起來。請求超過 15 秒即放棄。
傳送測試訊息(選用)
只有在你按下按鈕時才會送出:一次串流的 chat completion,內容是「Reply with OK.」,max_tokens 為 16。首個 token 是從送出到收到第一段串流資料的時間;總時間一直算到串流結束。如果模型不接受 max_tokens,會改用 max_completion_tokens 再送一次。請求超過 30 秒即放棄。
解讀回應
回應裡的錯誤代碼優先於 HTTP 狀態:model_not_found 代表模型 ID 錯了,insufficient_quota 代表額度用完了。沒有錯誤代碼時就看狀態:401 是 Key 的問題,403 是權限或餘額,404 是路徑,429 是速率限制,5xx 是供應商那邊。純文字的 404 通常代表少了 /v1;回傳 HTML 頁面則代表填的是網站網址,不是 API。
分辨 CORS 與伺服器停機
如果瀏覽器不讓頁面看到回應,頁面會以 no-cors 模式對同一個網址再送一個請求,不帶你的 Key。伺服器有回應,代表它有在運作但擋下網頁(CORS),這時要用 curl 指令測試;沒有回應,就代表從你的網路連不到它。
你的 Key 會送到哪裡
請求會從這個頁面直接送到你輸入的 Base URL。Key 只存在這個頁面的記憶體裡:不會送到 cheapaimodel、不會存在瀏覽器裡,也不會放進網址列,關閉分頁就消失。除非你選擇顯示,curl 指令會遮住它。
常見錯誤與修正方法
Key 遭拒(401)
伺服器不接受這組 API Key。可能是打錯、已撤銷或已過期,也可能屬於跟這個 Base URL 不同的供應商。請重新複製 Key(不要帶空格),並確認它是這家供應商的。
拒絕存取(403)
Key 有效,但不允許這次呼叫:可能是模型、你的 IP 位址或帳號受到限制,也可能是餘額不足。
不是 API 路徑(404)
伺服器回傳的是純文字 404,而不是 API 錯誤。最常見的原因是 Base URL 少了 /v1。
找不到模型
這組 Key 沒有這個 ID 的模型可用。模型 ID 必須完全相符:請從上方清單或供應商的模型頁面複製。
請求太頻繁(429)
請求太多,或這組 Key 已達供應商的上限。請稍等一下再試;如果一直發生,請查看供應商的速率限制。
被瀏覽器擋下(CORS)
伺服器連得到,但不允許網頁讀取它的回應。這跟你的 Key 無關:在終端機執行下方的 curl 指令,就能看到真正的回應。
逾時
15 秒內沒有回應。伺服器可能過載,或這個網址指向一個永遠不會回應的地方。