實際費用與任務用量
生成任務 billing 與 usage 欄位的實際費用口徑
定價目錄反映目前費率, 實際扣費以生成回應, 任務查詢, Webhook 和用量記錄為準. 模型定價和帳戶用量是兩個不同口徑的資料, 不要用目前價格倒推歷史扣費.
實際費用欄位
費用可以確認時, 生成回應使用以下物件:
{
"billing": {
"status": "settled",
"credits": "100",
"cost_usd": "0.5"
}
}| 欄位 | 含義 |
|---|---|
status | pending, settled 或 refunded |
credits | 已確認消耗的 ToAPIs Credits, 以十進位字串回傳 |
cost_usd | 同一筆已確認費用的 USD 金額, 以十進位字串回傳 |
pending 表示最終金額尚未確認, 因此不回傳金額欄位. refunded 表示已確認淨費用為零. 缺少整個 billing 物件表示平台無法確認安全的公開值, 不代表該請求免費.
此物件可能出現在:
- 統一圖片和影片任務查詢
GET /v1/tasks/{task_id} - 非同步圖片任務查詢
GET /v1/images/generations/{task_id} - 非同步影片任務查詢
GET /v1/videos/generations/{task_id}(相容GET /v1/video/generations/{task_id}與GET /v1/videos/{task_id}) - 任務 Webhook 的
data.billing - 相容的非串流同步圖片生成或編輯回應頂層
billing
對於非同步任務, 任務完成後可將任務查詢介面作為取得最終費用的後備方式. 串流圖片回應, 不支援的供應商回應格式, Playground 請求和延遲批次計費可能不回傳此物件.
任務用量欄位
圖片和影片任務查詢在頂層 usage 回傳已確認的計費量, 成功 Webhook 在 data.usage 回傳相同口徑的欄位. 計費量, 模型回報的 token 明細及工具次數可並存, 依可用性分別回傳.
| 欄位 | 型別 | 說明 |
|---|---|---|
charge_type | string | 計費方式: per_request, per_second 或 per_token |
requests | integer | 實際計費次數. 一般圖片請求的 n 不會直接乘算次數; Midjourney 影片的有效 batch_size 會計入計費次數 |
billed_tokens | integer | 實際用於計價的 token 數. 部分圖片路徑使用設定的預扣 token 基數, 不保證等於上游實際生成量 |
output_seconds | integer | 參與計費的輸出影片時長, 單位為整數秒 |
input_seconds | integer | 參與計費的輸入影片時長, 單位為整數秒 |
input_images | integer | 扣除免費額度後參與計費的輸入圖片數 |
input_tokens, output_tokens, prompt_tokens, completion_tokens, total_tokens | integer | 影片模型回報的非負整數 token 明細. 依供應商實際提供的欄位回傳; 已確認的按 token 結算可補齊 total_tokens |
tool_usage | object | 工具次數, 可包含 web_search, image_search, grounding_queries; 依實際可用欄位回傳, 與 token 明細獨立 |
計費量來自任務儲存的計費記錄: 固定計費使用建立時確認的數量, 後置結算使用最終結算數量, 不按目前價格或金額倒推. per_request 對應 requests, per_second 對應 output_seconds, per_token 對應 billed_tokens; 輸入影片時長和輸入圖片等附加項依需要回傳, 為零時省略.
只儲存了金額而未儲存可驗證計費量的歷史任務, 會省略無法確認的欄位. 未提供的 token 明細也不補零. 按 token 結算後, 影片 token 分項只有在上報總量與最終計費量一致時才保留. usage 和 billing 的可用性相互獨立: 缺少 usage 不代表沒有扣費, 也不會阻止結果回傳.
但只要回傳了 charge_type 等計費量, 就一定同時回傳 billing.status=settled 和實際金額. 提交時一次扣清的固定計費任務同樣回傳 settled. 任務查詢和 Webhook 使用相同的確認條件和欄位取值.