/ai/v1/images,影片使用 /ai/v1/videos,統一任務記錄使用 /ai/v1/tasks。
- 圖片生成預設同步,傳入
async: true後非同步執行。 - 影片生成固定非同步。
- 圖片和影片詳情介面用於取得媒體任務的最新狀態。
/ai/v1/tasks提供圖片、影片和 LLM 任務的統一唯讀檢視。
影片教學:非同步任務
講解非同步任務的整體機制,並以非同步生圖為例示範完整呼叫流程。
前往主控台開啟非同步任務
使用
/ai/v1 媒體任務介面前,請先為目前帳戶開啟非同步任務功能。快速開始
以下範例使用wan2.6-t2v 建立影片。該模型接受 duration 和 size;不同模型的有效欄位可能不同。
如何選擇三組介面
Base URL 為
https://aihubmix.com,驗證方式為 Bearer Token:
/ai/v1/tasks 不提供建立介面。圖片和影片必須透過對應的媒體生成介面建立;LLM
恢復任務由平台在用戶端中斷後自動儲存。媒體介面和統一任務介面的差異
媒體詳情介面與統一任務介面回傳相同的任務頂層欄位,但output 項目和查詢行為不同:
因此,輪詢媒體生成狀態時應使用圖片或影片詳情介面;需要統一篩選任務、讀取結果中繼資料或恢復 LLM 回應時使用
/ai/v1/tasks。
如何探索非同步媒體模型並取得 Schema
探索流程分為兩個步驟。先從公開模型目錄取得支援非同步介面的文生圖或文生影片模型,再使用模型的model_id 取得對應端點的請求 Schema。
取得支援非同步介面的模型清單
模型目錄與 Playground 使用相同的資料來源。type=image_generation 回傳文生圖模型,type=video 回傳文生影片模型。加入 schema_checked=true 後,清單只包含已發布並核對請求 Schema 的模型。
type 篩選目前只接受一個值,因此需要分別請求兩種模型類型。
回應格式為 {success, message, data}。data 中與非同步媒體整合相關的欄位如下。
取得單一模型的請求 Schema
不同模型支援的欄位、列舉和數值範圍可能不同。提交圖片或影片請求前,可以透過同一個公開介面取得指定模型目前可用的端點和請求 JSON Schema。modality 為 image 或 video。endpoints 陣列中的每一項描述一個可用的呼叫協定。
同一個模型可能同時回傳
/ai/v1 與 OpenAI 相容 /v1 端點。OpenAI 相容介面可能暫不支援最新模型,請優先使用 /ai/v1 端點。非同步任務介面應依 path 選擇 /ai/v1/images/generations 或 /ai/v1/videos,再讀取該項目的 request.schema。不要依賴 endpoints 陣列位置。
下面的命令可以直接擷取兩個非同步任務端點的請求 Schema。
404 model_not_found。端點資料暫時無法使用時回傳 500 endpoints_unavailable。
支援的模型和欄位
圖片和影片協定都定義了跨模型標準欄位,但每個模型會依據實際能力縮小欄位、列舉和數值範圍。呼叫前應透過模型 Schema 介面取得對應模型目前的參數限制。 例如:wan2.6-t2v支援duration、size和seed,不接受resolution、aspect_ratio、frame_images、input_references或generate_audio。qwen-image-2.0支援n、size、seed、negative_prompt、image和images,不接受aspect_ratio或mask。
LLM 中斷恢復模型
目前支援以下模型:- gpt-5.6-sol
- gpt-5.5-pro
- gpt-5.4-pro
- gpt-5.2-pro
- claude-fable-5
- claude-opus-5
如何建立圖片任務
同步圖片
省略async 或設定為 false 時,介面會等待生成完成並回傳任務物件:
GET /ai/v1/images 尋找對應任務。
非同步圖片
將async 設定為布林值 true 後,介面會立即回傳任務物件,生成在背景繼續:
GET /ai/v1/images/{id} 查詢非同步圖片任務。完成後,直接請求每個 output 項目中的 content_url;該 URL 已包含對應圖片的 result_id。
圖片請求中的
async 必須是布林值。webhook_url 和 webhook_events_filter
僅能與 async: true 一起使用。圖片標準欄位
如何建立影片任務
影片請求一律非同步,不支援透過Prefer: wait 改為同步等待。標準協定使用整數 duration 表示秒數:
影片標準欄位
input_references 項目的結構:
type 可以是 image_url、video_url 或 audio_url。
frame_images 項目的結構:
frame_type 可以是 first_frame 或 last_frame。
媒體任務物件
圖片和影片專用介面回傳以下結構:
媒體
output 項目:
狀態說明
用戶端可以每 15 秒查詢一次,直到狀態變為
completed、failed 或 cancelled。15 秒是用戶端輪詢建議,不是伺服器協定限制。
如何查詢媒體任務
查詢媒體詳情
查詢媒體清單
建立回應遺失時,可以透過對應媒體清單找回任務 ID:如何使用統一任務介面
統一任務介面支援以下篩選條件:
統一任務詳情:
output 項目:
/ai/v1/tasks/{id}/content。多產物任務需要請求 /ai/v1/tasks/{id}/content/{result_id};未指定結果 ID 時回傳 400 result_id_required。
統一任務清單、詳情和內容介面按建立任務時的 Bearer Token 隔離。同一帳戶下的其他
API Key 無法讀取該任務。
如何下載媒體結果
下載圖片
圖片完成後,逐項請求媒體任務物件中的output[].content_url:
/ai/v1/images/{id}/content/{result_id}。媒體任務物件不另外公開 result_id,用戶端直接使用 content_url 即可。
當 b64_json 非空時,可以直接對該欄位進行 Base64 解碼。
下載影片
如何使用 Webhook
非同步圖片和影片支援任務層級 Webhook:webhook_url 最長 512 個字元,並且不能指向本機、私人網路或其他受限位址。省略 webhook_events_filter 時,平台推送 completed、failed 和 cancelled;明確傳入時,陣列不可為空、不可重複,並且必須與 webhook_url 一起使用。
未在請求中傳入 webhook_url 時,非同步圖片和影片會嘗試使用帳戶中設定的預設回呼位址。無效的帳戶預設位址會被忽略,不會阻止任務建立。
回呼請求
results 僅在結果已存檔時出現,下載仍需要 Bearer Token。
重試與去重
平台採用至少一次投遞,同一個事件可能重複送達:- HTTP
2xx表示接收成功。 - HTTP
5xx、網路錯誤或逾時會觸發重試。 - HTTP
3xx和4xx不會重試。 - 最多投遞 6 次,重試間隔依序為 1、4、16、64、256 秒。
event_id,重複收到相同事件時直接回傳 2xx。
LLM 中斷恢復如何生效
LLM 中斷恢復用於取回用戶端斷線後的最終回應。請求方式、串流行為和回應格式保持不變,也不會在請求開始時預先回傳任務 ID。 以下條件需要同時符合:
平台僅在偵測到回應未完整交付且用戶端已斷線時建立恢復任務,並儲存最終 JSON 或 SSE。正常完成並完整交付給用戶端的 LLM 請求不會建立恢復任務。
LLM 回應標頭包含
X-Aihubmix-Request-Id。用戶端應儘早儲存該值,以便在主控台中定位對應請求。公開任務 API 目前無法按請求 ID 篩選;可以按模型和建立時間查詢最近的 LLM 任務:
output 項目包含 type=response、content_type、content_url 和 truncated。GET /ai/v1/tasks/{id}/content 回傳儲存的原始 JSON 或 SSE。
錯誤回應與錯誤碼
本節適用於/ai/v1/images/*、/ai/v1/videos/*,以及 /ai/v1/tasks/* 中
object=image 或 object=video 的媒體任務。用戶端需要同時處理 HTTP 非 2xx 回應和
HTTP 200、status=failed 的任務終態。
提交 HTTP 5xx 錯誤回饋
僅在請求回傳 HTTP
5xx 時提交回饋,並附上 error.tid。HTTP 非 2xx 錯誤
invalid_request 和 schema_violation 列顯示的是後備 message 範本。服務能夠定位具體欄位或
參數限制時會回傳動態 message;用戶端應以 code 判斷錯誤類型,不要依賴 message 固定比對。
media_form_unsupported 的 message 會依已確認的原因產生,常見範本如下:
例如,模型允許 PNG、JPEG、WebP、HEIC 和 HEIF 時,GIF 圖片會回傳:
HTTP 200 + Task status=failed
查詢請求成功不代表生成成功。任務為 failed 時,用戶端從任務物件的 error.code 和
error.message 讀取失敗原因:
完整影片範例
常見問題
媒體任務應該查詢/ai/v1/tasks/{id} 還是媒體詳情介面?
輪詢生成狀態時使用媒體詳情介面:圖片查詢 /ai/v1/images/{id},影片查詢 /ai/v1/videos/{id}。/ai/v1/tasks/{id} 回傳唯讀快照。
為什麼影片請求中的 seconds 回傳參數錯誤?
/ai/v1/videos 標準協定使用整數 duration,單位為秒。具體允許值由對應模型支援的參數決定。
為什麼 resolution 在部分影片模型中回傳參數錯誤?
標準影片協定包含 resolution 和 size,但具體模型會縮小欄位。例如 wan2.6-t2v 使用 size,不接受 resolution。
建立回應遺失後如何找回媒體任務?
圖片請求 GET /ai/v1/images,影片請求 GET /ai/v1/videos。清單支援 after、limit 和 order 分頁參數。
為什麼兩種詳情介面的 output 欄位不同?
媒體詳情介面提供直接下載所需的簡化欄位;統一任務介面額外提供 result_id 和 content_type,並為 LLM 存檔提供 truncated。
Webhook 沒收到怎麼辦?
確認回呼位址可公開存取並及時回傳 2xx,然後使用媒體詳情介面查詢最終狀態。
更新時間:2026-08-12