HappyHorse圖生視頻模型,以首幀圖片為基礎,支援通過文本描述進行引導,產生物理真實、運動流暢的視頻。
適用範圍
為確保調用成功,請務必保證模型、endpoint URL和API Key 均屬於同一地區。跨地區調用將會失敗。
- 選擇模型:確認模型所屬的地區。
- 選擇 URL:選擇對應的地區 Endpoint URL,支援HTTP URL。
- 配置API Key:擷取該地區的API Key,再配置API Key到環境變數。
本文的範例程式碼適用於新加坡地區。
HTTP調用
圖生視頻任務耗時較長(通常為1-5分鐘),API採用非同步呼叫的方式。整個流程包含 "建立任務 -> 輪詢擷取" 兩個核心步驟,具體如下:
步驟1:建立任務擷取任務ID
- 新加坡
- 美國(維吉尼亞)
- 華北2(北京)
- 德國(法蘭克福)
- 中國香港
- 日本(東京)
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis{WorkspaceId}替換為真實的業務空間ID。
- 建立成功後,使用介面返回的
task_id查詢結果,task_id 有效期間為 24 小時。請勿重複建立任務,輪詢擷取即可。 - 新手指引請參見Postman。
請求參數Content-Typestring(必選)請求內容類型。此參數必須設定為application/json。Authorizationstring(必選)請求身份認證。介面使用阿里雲百鍊API Key進行身份認證。樣本值:Bearer sk-xxxx。X-DashScope-Asyncstring(必選)非同步處理配置參數。HTTP請求只支援非同步,必須設定為enable。請求體(Request Body)modelstring (必選)模型名稱。可選值:
object (必選)輸入的基本資料,如提示詞等。
屬性 prompt string (可選)文本提示詞。用於描述期望產生的視頻內容。支援任何語言輸入,長度不超過5000個非中文字元或2500個中文字元,超過部分將自動截斷。media array (必選)輸入媒體列表。用於指定視頻產生所需的映像。
media[] 元素屬性 type string (必選)媒體素材類型。可選值為:
string (必選)媒體素材URL。
傳入映像(type=first_frame) 首幀URL,或 Base 64 編碼資料。映像限制:
object (可選)視頻處理參數,如設定視頻解析度、設定視頻時間長度等。
屬性 resolution string (可選)指定產生的視頻解析度檔位,用於控制視頻的清晰度(總像素)。模型根據選擇的解析度檔位,自動縮放至相近總像素。輸出的視頻寬高比與輸入首幀近似一致。可選值:
integer (可選)指定產生視頻的時間長度,單位為秒。取值為[3, 15]之間的整數。預設值為5。watermark boolean (可選)是否在產生的視頻上添加浮水印標識。浮水印位於視頻右下角,文案固定為“Happy Horse”。
integer(可選)隨機數種子,取值範圍為[0, 2147483647]。未指定時,系統自動產生隨機種子。若需提升產生結果的可複現性,建議固定seed值。請注意,由於模型產生具有機率性,即使使用相同 seed,也不能保證每次產生結果完全一致。 |
|
響應參數outputobject任務輸出資訊。
屬性 task_id string任務ID。查詢有效期間24小時。task_status string任務狀態。
枚舉值
string請求唯一標識。可用於請求明細溯源和問題排查。codestring請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤碼。messagestring請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤碼。 |
請儲存 task_id,用於查詢任務狀態與結果。 |
步驟2:根據任務ID查詢結果
- 新加坡
- 美國(維吉尼亞)
- 華北2(北京)
- 德國(法蘭克福)
- 中國香港
- 日本(東京)
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}- 輪詢建議:視頻產生過程約需數分鐘,建議採用輪詢機制,並設定合理的查詢間隔(如 15 秒)來擷取結果。
- 任務狀態流轉:PENDING(排隊中)→ RUNNING(處理中)→ SUCCEEDED(成功)/ FAILED(失敗)。
- 結果連結:任務成功後返回視頻連結,有效期間為 24 小時。建議在擷取連結後立即下載並轉存至永久儲存(如阿里雲 OSS)。
- task_id 有效期間:24小時,逾時後將無法查詢結果,介面將返回任務狀態為
UNKNOWN。
請求參數要求標頭(Headers)Authorizationstring(必選)請求身份認證。介面使用阿里雲百鍊API Key進行身份認證。樣本值:Bearer sk-xxxx。URL路徑參數(Path parameters)task_idstring(必選)任務ID。 |
將 {task_id}完整替換為上一步介面返回的task_id的值。task_id查詢有效期間為24小時,並請將{WorkspaceId}替換為真實的業務空間ID。 |
響應參數outputobject任務輸出資訊。
屬性 task_id string任務ID。查詢有效期間24小時。task_status string任務狀態。
枚舉值
string任務提交時間。時區為UTC+8,格式為 YYYY-MM-DD HH:mm:ss.SSS。scheduled_time string任務執行時間。時區為UTC+8,格式為 YYYY-MM-DD HH:mm:ss.SSS。end_time string任務完成時間。時區為UTC+8,格式為 YYYY-MM-DD HH:mm:ss.SSS。video_urlstring視頻URL。僅在 task_status 為 SUCCEEDED 時返回。連結有效期間24小時,可通過此URL下載視頻。視訊框架率為24fps,格式為MP4(H.264 編碼)。orig_prompt string原始輸入的prompt,對應請求參數prompt。codestring請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤碼。messagestring請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤碼。object輸出資訊統計,只對成功的結果計數。
屬性 input_video_duration integer輸入的視頻的時間長度,單位秒。output_video_duration integer輸出視頻的時間長度,單位秒。duration integer總的視頻時間長度,用於計費。SR integer輸出視頻的解析度檔位。video_count integer輸出視頻的數量。固定為1。string請求唯一標識。可用於請求明細溯源和問題排查。 |
視頻URL僅保留24小時,逾時後會被自動清除,請及時儲存產生的視頻。 |
錯誤碼
如果模型調用失敗並返回報錯資訊,請參見錯誤碼進行解決。
常見問題
視頻的寬高比如何確定?
圖生視頻的寬高比自動跟隨輸入首幀映像,無需手動指定。與HappyHorse-文生視頻不同,圖生視頻不支援 ratio 參數。