OpenRouter 第一個請求練習 — Mason AI Lab — 2026-09-21 教學:https://masonailab.com/tools/openrouter-api-guide-2026/ 需要 Node.js 22 或更新版,不需要安裝 npm 套件。 先跑離線測試(不讀取 .env、不連線、不呼叫模型): node --test request.test.mjs 測試回應、模型名稱與 token 數全部是虛構 fixtures,不是模型實測結果。 自行連線: 1. 在電腦建立一個新的私人資料夾,解壓本包;不要放進網站 public 或公開 repo。 2. 到 OpenRouter Keys 建立有 credit limit 的測試 key。 3. 在同資料夾建立 .env 純文字檔,只有一行: OPENROUTER_API_KEY=YOUR_KEY_HERE 將 YOUR_KEY_HERE 改成自己的 key。不要分享、提交或重新打包 .env。 4. 在該資料夾開啟終端機,執行: node --env-file=.env request.mjs 若系統原有 OPENROUTER_API_KEY 環境變數,它會優先於 .env;請確認使用正確的測試 key。 5. 成功時核對 ok、model、content 與 usage;usage 為 null 表示沒有回傳,不代表用量為零。 程式只向 OpenRouter Chat Completions 送一次固定、不含私密資料的訊息。 使用 openrouter/free、stream:false、max_tokens:128,30 秒逾時,不自動重試或改用付費模型。 max_tokens 是輸出 token 限制,不是帳戶金額上限。免費模型也可能受帳戶、容量及資料政策限制。 小 token 預算可能讓推理模型耗盡預算而沒有可見答案;empty_content 或 incomplete_output 不算成功。 本包已做離線程式測試,沒有使用真實 key 或取得線上模型回答;連線品質與 provider 可用性須自行驗收。 錯誤對照: missing_key:未填 key 或仍是佔位文字,程式尚未連線。 401:key 無效或已停用,檢查 .env 與 Key 設定。 402:查看 limitSource;openrouter_key_limit 為 key 上限、openrouter_credits 為 credits/單次預算、 openrouter_in_flight_budget 為同時執行/近期結算預算,可參考 retryAfter 等候。 403:權限、內容或 guardrail 限制;依核准規則檢查,不自動放寬。 429:請求受限;有 retryAfter 時依指示等待,勿連續重送。 503:目前沒有符合路由條件的供應端;檢查可用性與設定。 api_error:也可能出現在 HTTP 200 的 JSON 裡,不能只看 HTTP 狀態。 invalid_json/network_error/timeout:檢查連線及服務狀態,程式不會自動重送。 官方參考: https://openrouter.ai/docs/api_reference/authentication https://openrouter.ai/docs/api_reference/errors-and-debugging https://openrouter.ai/docs/api_reference/limits https://openrouter.ai/docs/cookbook/get-started/free-models-router-playground