計費與限流
本頁說明一次請求從發出到結算的扣費過程,以及出錯、取消與限流等情況下是否計費。各類模型的單價與計價方式見模型定價。
什麼時候扣費
Section titled “什麼時候扣費”每次請求都會經過「預扣 → 結算」兩步:
- 預扣:請求轉發給上游前,先從金鑰額度與帳戶餘額中預扣一筆預估費用。任一不足,請求直接被拒絕,不會發往上游。
- 結算:請求完成後,按上游返回的真實用量計算實際費用。多扣的部分退回,少扣的部分補扣。
預估費用的計算方式:
| 模型類型 | 預估方式 |
|---|---|
| 按 token 計費 | 輸入 token 數加上請求中的 max_tokens,按模型單價估算 |
| 階梯價模型 | 按最高一檔價格估算,結算時再按實際檔位計費 |
| 按次或按張計費 | 直接預扣單次價格 |
| 非同步任務(影片、音樂等) | 提交時預扣預估金額,任務結束後結算 |
出錯是否計費
Section titled “出錯是否計費”原則是:沒有產生可計費用就不計費,預扣金額全額退回。
| 場景 | 是否計費 |
|---|---|
| 金鑰無效、過期,或餘額、金鑰額度不足 | 不計費,請求不會發往上游 |
| 請求參數錯誤、模型不可用、無可用渠道 | 不計費 |
被限流(429) | 不計費 |
| 上游返回錯誤(4xx / 5xx) | 不計費,預扣金額全額退回 |
| 上游返回成功,但用量為 0 | 不計費 |
| 串流輸出過程中上游中斷或逾時 | 按已生成的內容計費 |
| 非同步任務失敗或逾時(24 小時未完成) | 不計費,預扣金額全額退回 |
RouteAPI 在上游出錯時會自動重試或切換到其他渠道。整個過程只預扣一次、結算一次,失敗的嘗試不計費,你只為最後成功的那一次付費。如果最終由回退模型完成請求,按實際服務該請求的模型價格計費。
串流請求一旦開始向你輸出內容,就不會再重試。此時上游中斷,按已生成的部分計費。
手動取消是否計費
Section titled “手動取消是否計費”| 場景 | 是否計費 |
|---|---|
| 非串流請求,在收到回應前斷開連線 | 不計費,預扣金額全額退回 |
| 串流請求,中途斷開連線 | 計費,見下方說明 |
| 非同步任務(影片、音樂、Midjourney) | 提交後不支援取消 |
串流請求中途斷開時,上游通常已經在生成,並會繼續生成到結束。RouteAPI 會繼續讀取上游的輸出直到生成結束,並按上游實際生成的用量計費,而不只是你已經收到的部分。想控制這部分費用,請用 max_tokens 限制輸出長度。
為保護平台與上游的穩定性,平台可能對每個帳戶的模型請求頻率做限制。限制按帳戶統計,同一帳戶下的所有 API 金鑰共享額度。
觸發限流時返回 429 Too Many Requests,回應主體與其他錯誤格式一致:
{ "error": { "message": "... (request id: ...)", "type": "error", "code": "" }}- 被限流的請求在預扣之前就被拒絕,不計費。
- 上游返回
429時,RouteAPI 會自動切換到其他渠道重試。重試後仍被限流,才會把429返回給你。 - 回應不帶
Retry-After標頭。建議用戶端採用指數退避重試,例如 1 秒、2 秒、4 秒,並加上隨機抖動。 - 拆分多個 API 金鑰不能提高限流額度。如需更高的請求頻率,請與我們聯絡。
開放平台 API(/api/open/v1)有單獨的限流規則,見開放平台 API 錯誤與限制。
在使用日誌中可以查看每次扣費請求的明細:
| 欄位 | 說明 |
|---|---|
| 時間 | 請求時間 |
| 金鑰 | 發起請求的 API 金鑰名稱 |
| 模型 | 實際計費的模型 |
| 用時 / 首字 | 總耗時;串流請求同時顯示首字延遲 |
| 輸入 | 輸入 token 數,命中快取時分開顯示快取讀取與寫入 |
| 輸出 | 輸出 token 數 |
| 花費 | 本次實際扣費金額 |
| 明細 | 單價、倍率與計費過程 |
介面回應的 usage 欄位也會返回本次的 token 用量:
| 欄位 | 說明 |
|---|---|
prompt_tokens | 輸入 token |
completion_tokens | 輸出 token,推理模型的推理 token 也計入這裡 |
total_tokens | 輸入與輸出合計 |
prompt_tokens_details.cached_tokens | 命中快取的輸入 token |
如果帳戶享有專屬折扣,日誌中的花費已經是折扣後的金額。