視頻風格重繪 API 可將輸入視頻轉換為多種預設藝術風格,並保證畫面動態流暢、內容連貫。支援8種預設風格:日式漫畫、美式漫畫、清新漫畫、3D卡通、國風卡通、紙藝風格、簡易插畫、國風水墨。
重要本文檔僅適用於“中國大陸(北京)”地區。如需使用模型,需使用“中國大陸(北京)”地區的API Key。
效果示意
更多案例請參見附錄:更多風格效果示意。
前提條件
在調用前,您需要擷取 API Key,再配置API Key為環境變數DASHSCOPE_API_KEY。
HTTP調用
因視頻處理耗時間長度,為避免同步請求逾時,視頻風格重繪採用非同步呼叫,分為以下兩步:
- 提交非同步任務:通過
POST 請求提交原始視頻 URL 和期望的風格參數,擷取一個唯一的 task_id。
- 查詢任務結果:使用
task_id 通過 GET 請求輪詢任務狀態,直至任務完成並擷取結果視頻的 URL。
步驟1:提交視頻風格重繪任務
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
請求 要求標頭(Headers) Content-Typestring(必選) 請求內容類型。此參數必須設定為application/json。 Authorizationstring(必選) 請求身份認證。介面使用阿里雲百鍊API-Key進行身份認證。樣本值:Bearer sk-xxxx。 X-DashScope-Asyncstring(必選) 非同步處理配置參數。HTTP請求只支援非同步,必須設定為enable。 重要缺少此要求標頭將報錯:“current user api does not support synchronous calls”。 請求體(Request Body) modelstring(必選) 模型名稱。設定為video-style-transform。 inputobject(必選) 輸入內容。 屬性 video_urlstring(必選) 輸入視頻公網URL。例如:https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4。 輸入視頻要求:
- 解析度:視頻單邊尺寸不小於 256 像素,不超過 4096 像素。長邊與短邊的比例不超過 1.8。
- 格式:支援 MP4、AVI、MKV、MOV、FLV、TS、MPG、MXF。
- 時間長度:不超過 30 秒。
- 大小:不超過 100 MB。
- URL:若原始URL包含中文字元等非ASCII字元,請先進行URL編碼。
parametersobject (可選) 視頻處理參數。 屬性 styleint(可選) 風格類型,預設類型如下:
- 0:日式漫畫,預設值
- 1:美式漫畫
- 2:清新漫畫
- 3:3D卡通
- 4:國風卡通(古裝輸入最佳)
- 5:紙藝風格
- 6:簡易插畫
- 7:國風水墨
video_fpsint(可選) 產生視頻的幀率,預設為15,範圍區間為[15, 25]。 animate_emotionbool(可選) 是否進行面部表情最佳化。預設為true。 開啟後,通常能提升口型與表情同步精度。在人臉地區佔比較小時,關閉此項可能效果更佳。 min_lenint(可選) 指定輸出視頻的短邊像素,用於控制解析度。可選值為720或540,預設為720。 說明此參數值影響計費,720P視頻的費用會高於540P。詳情請參見計費與限流。 use_SRbool(可選) 是否對風格重繪後視頻進行超解析度(Super-Resolution,SR)處理。預設為false。設定為true,將免費提升畫質。 說明若min_len設定為540,開啟此項後,輸出視頻將提升至1080P畫質,但計費仍按照540P標準。這會增加處理耗時,推薦在需要高畫質輸出時開啟。 | 產生720P視頻curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "video-style-transform",
"input": {
"video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
},
"parameters": {
"style": 0,
"video_fps": 15
}
}'
import requests
import os
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# 替換為你的視頻 URL
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
response = requests.post(
"https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
headers={
"Authorization": f"Bearer {DASHSCOPE_API_KEY}",
"X-DashScope-Async": "enable",
},
json={
"model": "video-style-transform",
"input": {
"video_url": video_url
},
"parameters": {
"style": 0,
"video_fps": 15
}
}
)
print(response.json())
產生540P視頻curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "video-style-transform",
"input": {
"video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
},
"parameters": {
"style": 0,
"video_fps": 15,
"min_len": 540
}
}'
import requests
import os
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# 替換為你的視頻 URL
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
response = requests.post(
"https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
headers={
"Authorization": f"Bearer {DASHSCOPE_API_KEY}",
"X-DashScope-Async": "enable",
},
json={
"model": "video-style-transform",
"input": {
"video_url": video_url
},
"parameters": {
"style": 0,
"video_fps": 15,
"min_len": 540
}
}
)
print(response.json())
|
響應 outputobject 任務輸出資訊。 屬性 task_idstring 任務id,任務的唯一標識,用於後續查詢。 task_statusstring 任務狀態。
- PENDING:排隊中
- RUNNING:處理中
- SUSPENDED:掛起
- SUCCEEDED:執行成功
- FAILED:執行失敗
request_idstring 請求唯一標識。可用於請求明細溯源和問題排查。 codestring 請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤資訊。 messagestring 請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤資訊。 | |
步驟2:查詢任務執行狀態和結果
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
重要任務結果資料(如任務狀態、產生的視頻URL等)有效期間為24小時,逾時後會被自動清除。請務必及時查詢並儲存結果。
請求 要求標頭(Headers) Authorizationstring(必選) 請求身份認證。介面使用阿里雲百鍊API-Key進行身份認證。樣本值:Bearer sk-xxxx。 URL路徑參數(Path parameters) task_idstring(必選) 任務id。 | 擷取任務結果您需要將{task_id}替換為真實的task_id。 |
響應 request_idstring 請求唯一標識。可用於請求明細溯源和問題排查。 outputobject 任務輸出資訊。 屬性 output_video_urlstring 結果視頻URL地址。例如:http://xxx/result.mp4。 task_id string 任務ID。查詢有效期間24小時。 task_statusstring 任務狀態。
- PENDING:排隊中
- RUNNING:處理中
- SUSPENDED:掛起
- SUCCEEDED:執行成功
- FAILED:執行失敗
- UNKNOWN:任務不存在或狀態未知。
submit_time 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。 codestring 請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤資訊。 messagestring 請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤資訊。 usageobject 輸出資訊統計。 屬性 durationfloat 產生視頻時間長度(秒)。 SRint 用於計費的視頻短邊像素值(該值與您請求中設定的min_len值相同)。 | 任務執行成功{
"request_id": "b67df059-ca6a-9d51-afcd-xxxxxxxxxxxx",
"output": {
"task_id": "d76ec1e8-ea27-4038-8913-xxxxxxxxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2024-05-16 13:50:01.247",
"scheduled_time": "2024-05-16 13:50:01.354",
"end_time": "2024-05-16 13:50:27.795",
"output_video_url": "http://xxx/result.mp4"
},
"usage": {
"duration": 3,
"SR": 720
}
}
任務執行中任務提交後將處於排隊狀態,在得到調度之後將轉為運行狀態,此時任務的狀態為RUNNING; {
"request_id":"e5d70b02-ebd3-98ce-9fe8-xxxxxxxxxxxx",
"output":{
"task_id":"13b1848b-5493-4c0e-xxxxxxxxxxxx",
"task_status":"RUNNING",
"submit_time":"2025-09-08 15:53:13.143",
"scheduled_time":"2025-09-08 15:53:13.169"
}
}
任務執行失敗{
"request_id": "dccfdf23-b38e-97a6-a07b-xxxxxxxxxxxx",
"output": {
"task_id": "4cbabbdf-2c1f-43f4-b983-xxxxxxxxxxxx",
"task_status": "FAILED",
"submit_time": "2024-05-16 14:15:14.103",
"scheduled_time": "2024-05-16 14:15:14.154",
"end_time": "2024-05-16 14:15:14.694",
"code": "InvalidParameter.FileDownload",
"message": "download for input video error"
}
}
|
計費與限流
僅對執行成功的任務計費,費用根據輸出視頻的實際時間長度(秒)和所選解析度計算。
計費公式:總費用 = 輸出視頻時間長度 (秒) × 對應解析度的單價(最終費用將嚴格按照任務成功後返回的usage對象中的duration和SR欄位進行結算)
模型名 | 計費單價 | 限流(主帳號與RAM子帳號共用) |
|---|
任務下發介面QPS限制 | 同時處理中任務數量 |
|---|
video-style-transform | 720P | $0.071677/秒 | 2 | 1 |
540P | $0.028671/秒 |
計費樣本
假設您提交一個 10 秒的視頻,選擇 720P 解析度進行風格轉換,任務成功後產生的視頻時間長度為 10 秒。則本次任務費用為:10 秒 × $0.071677/秒 = 0.71677 美元。
錯誤碼
如果模型調用失敗並返回報錯資訊,請參見錯誤資訊進行解決。
附錄:更多風格效果示意
| 風格名稱 | 原始視頻 | 重繪效果 |
|---|
| 日式漫畫(style=0) | | |
| 美式漫畫(style=1) | | |
| 清新漫畫(style=2) | | |
| 3D卡通(style=3) | | |
| 國風卡通(style=4) | | |
| 紙藝風格(style=5) | | |
| 簡易插畫(style=6) | | |
| 國風水墨(style=7) | | |