簡短回答
三條黃金法則,覆蓋 90% 的超時問題:
- 圖片類同步介面 timeout 設到 360 秒兜底——圖片生成沒有非同步任務 ID,客戶端提前斷開 = 照常計費但拿不到圖。
- 推理型模型要留足時間——
gemini-3.1-pro-preview、gpt-5.6-sol、gpt-5.5-pro等模型無論流式還是非流式,總耗時都可能達到幾分鐘。 - 別用 CDN 節點跑長請求——
api-cf.apiyi.com走 Cloudflare,超過約 100 秒會返回524,只適合快速文本呼叫。
429(併發不足),可聯絡客服排查配額。一張表看懂該設多少 timeout
四個關鍵點詳解
① 圖片類同步介面:timeout 設到 360 秒
① 圖片類同步介面:timeout 設到 360 秒
API易 的圖片模型全部是同步呼叫——發出請求後保持連線等待,結果直接在響應體裡返回。沒有非同步任務 ID,也沒有輪詢介面,斷開就丟結果。為什麼預設值會誤傷:主流 HTTP 客戶端預設超時普遍在 30-60 秒,而圖片生成是真正的”長請求”:
- GPT-Image-2 在
high品質 + 2K/4K 下實測 3-5 分鐘 - Nano Banana 系列 4K 出圖約 50 秒起步,高峰期更久
- 多圖參考類任務常常超過 5 分鐘
② 推理型文本模型:流式和非流式都慢
② 推理型文本模型:流式和非流式都慢
普通文本模型通常幾秒內就返回,容易讓人誤以為”文本呼叫不用管 timeout”。但推理型(reasoning / thinking)模型是例外:
gemini-3.1-pro-previewgpt-5.6-solgpt-5.5-pro(更貴也更慢)- 其他開啟了高思考預算(high reasoning effort)的模型
stream=True 就會立刻有資料,但推理模型在思考階段可能長時間不吐任何 token,客戶端的 read timeout 一樣會被觸發;而且從首字到最後一個 token 的總時長依舊很長。實踐建議:呼叫推理型模型時把 timeout 設到 300-600 秒,並把思考檔位(reasoning_effort / thinking)與預期耗時對應起來——檔位越高,需要留的時間越多。③ Base URL 節點選擇:CDN 節點不能跑長請求
③ Base URL 節點選擇:CDN 節點不能跑長請求
API易 的
api-cf.apiyi.com 是套了 Cloudflare 全球 CDN 的介面地址。它的優勢是全球加速、海外訪問延遲低,但存在約 100 秒的請求超時上限,超過就會返回 524 錯誤。⚠️ 注意:這不只影響圖片介面。任何可能超過 100 秒的呼叫都不適合走這個節點,包括:- ❌ 圖片生成 / 編輯
- ❌ 影片生成
- ❌ 長文本輸出(萬字級文章、長篇翻譯、大段程式碼生成)
- ❌ 推理型模型的深度思考任務
api.apiyi.com(中國大陸推薦)或 vip.apiyi.com(海外推薦)。完整節點對比見 Base URL 配置指南。④ 遇到 429 併發不足:聯絡客服排查
④ 遇到 429 併發不足:聯絡客服排查
如果超時的同時還伴隨大量
429 Too Many Requests,那多半不是 timeout 的問題,而是併發配額問題。併發限制是針對單一模型的,不是整個賬號共享。個別模型(尤其是剛上線或供給緊張的模型)可能配額偏低。處理方式:- 先實現指數退避重試,避免瞬時打滿
- 若長期、穩定地出現 429,聯絡本站客服排查——我們可以核查該模型的實際配額並協助調整
程式碼示例
- Python
- Node.js
- cURL
已經調大 timeout 還是超時?逐層排查
1
第一步:確認 SDK 的真實 timeout 生效
有些框架會在 HTTP 客戶端外再包一層超時。列印實際生效的配置,確認你改的那個引數真的被用上了。
2
第二步:檢查鏈路上的每一跳
請求鏈路上任何一層超時小於生成耗時,都會先於你的客戶端斷開:
- 自建反向代理:Nginx 的
proxy_read_timeout(預設 60 秒) - 雲負載均衡:空閒連線超時
- API 閘道 / CDN:回源超時
- Serverless 函式:執行時長上限(很多平臺預設 30-60 秒)
- 任務佇列 worker:單任務超時
3
第三步:確認沒有走 CDN 節點
檢查 Base URL 是不是
api-cf.apiyi.com。如果是長請求場景,換成 api.apiyi.com 或 vip.apiyi.com。判斷依據:報 524 基本可以確定是 Cloudflare 層超時,而不是模型太慢。4
第四步:區分超時與併發不足
看錯誤碼:
524 / 連線中斷 是超時問題;429 是併發配額問題。兩者的解決方向完全不同。5
第五步:查呼叫日誌確認實際耗時
在控制台的呼叫日誌裡檢視該請求的實際耗時和計費情況,據此反推合理的 timeout 值。
常見疑問
超時斷開的請求,能退費嗎?
超時斷開的請求,能退費嗎?
不能。客戶端斷開後,服務端與上游的生成任務仍然完成了,成本已經真實產生。所以正確做法是一次性把 timeout 調到安全上限,而不是設一個小值再靠重試——重試只會讓計費翻倍。
能不能提供非同步介面,斷線後憑 ID 取回結果?
能不能提供非同步介面,斷線後憑 ID 取回結果?
圖片介面目前是原廠透傳的同步模式,且我們不記錄使用者業務資料,因此無法提供”斷線後憑 ID 取回”的能力。推薦做法:同步呼叫 + 合理 timeout + 在自己後臺記錄任務狀態,等價於一個輕量非同步佇列。詳見 圖片介面是同步還是非同步?影片類模型本身是非同步任務制,不受此限制。
開啟流式輸出能避免超時嗎?
開啟流式輸出能避免超時嗎?
部分能,但不要依賴它。流式確實能讓首字更早到達,降低”整體無響應”的風險。但推理型模型在思考階段可能長時間不吐 token,read timeout 一樣會觸發;而且完整輸出的總時長並不會變短。正確做法是:流式 + 足夠大的 timeout,兩者一起用。
timeout 設得特別大會有副作用嗎?
timeout 設得特別大會有副作用嗎?
對計費沒有影響——計費只看實際消耗的 token 和呼叫,與你等了多久無關。唯一要注意的是業務層的資源佔用:長連線會佔住一個 worker / 連線池槽位,高併發場景建議用非同步 IO 或獨立的長任務佇列來跑圖片和推理請求。
524 和 429 有什麼區別?
524 和 429 有什麼區別?
524:Cloudflare 層的超時,說明你走了api-cf.apiyi.com且請求超過約 100 秒。換節點即可。429:併發或速率超限,與耗時無關。先做指數退避,長期出現請聯絡客服排查配額。
相關文件
圖片 API 呼叫須知與最佳實踐
各圖片模型的 timeout 速查表與輸出格式對照
Base URL 怎麼填?
四個節點的區別與選擇建議
圖片介面是同步還是非同步?
同步呼叫模式與客戶端任務管理方案
API 可以開多少併發?
各類模型的併發限制與配額申請
聯絡我們
企業微信客服
郵件諮詢
客服郵箱:[email protected]商務合作:[email protected]
