動画スタイル変換 API は、入力された動画を様々な定義済みのアートスタイルに変換し、滑らかで自然な動きを再現すると同時に、コンテンツの一貫性も確保できます。この API は、日本漫画、アメリカンコミック、フレッシュコミック、3D カートゥーン、中国風カートゥーン、ペーパーアートスタイル、シンプルなイラスト、水墨画風の 8 種類のスタイルをサポートしています。
重要 このモデルサービスは、中国 (北京) リージョンでのみ利用可能です。API を呼び出すには、このリージョンの API キー が必要です。
実行例
その他の例については、「付録: その他のスタイルの変換効果 」をご参照ください。
前提条件
API を呼び出す前に、API キーを取得 し、環境変数として設定 してください。
HTTP
動画の処理には時間がかかります。リクエストのタイムアウトを防ぐため、動画スタイル変換では非同期呼び出しを使用します。処理は次の 2 段階で構成されます。
非同期タスクの送信: ソース動画の URL と希望するスタイルパラメーターを指定して POST リクエストを送信し、一意の task_id を取得します。
タスク結果の照会: task_id を使用して GET リクエストでタスクステータスをポーリングし、タスク完了後に生成された動画の URL を取得します。
ステップ 1: 動画スタイル変換タスクの送信
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
リクエスト ヘッダー Content-Type string (必須)
リクエストのコンテンツタイプです。application/json に設定する必要があります。
Authorization string (必須)
リクエストの認証情報です。この API は Model Studio API キーを使用して認証を行います。例: Bearer sk-xxxx
X-DashScope-Async string (必須)
非同期処理の設定パラメーターです。HTTP リクエストは非同期処理のみをサポートしているため、このパラメーターを enable に設定する必要があります。
重要 このリクエストヘッダーがない場合、「current user api does not support synchronous calls」というエラーメッセージが返されます。
リクエストボディ model string(必須)
モデル名です。video-style-transform に設定します。
input object(必須)
入力コンテンツです。
プロパティ
video_url string(必須)
入力動画の URL です。例: https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20250704/viwndw/original_video.mp4
入力動画の要件:
解像度 : 動画の各辺の長さは 256 ピクセルから 4096 ピクセルの間である必要があります。長辺と短辺の縦横比は 1.8 を超えないようにしてください。
ファイル形式: MP4、AVI、MKV、MOV、FLV、TS、MPG、MXF
長さ: 30 秒以下
サイズ: 100 MB 以下
URL: 元の URL に日本語などの非 ASCII 文字がある場合は、まず URL エンコードを行ってください。
parameters object (任意)
動画処理パラメーターです。
プロパティ
style int(任意)
スタイルタイプです。定義済みのタイプは次のとおりです。
0: 日本漫画 (デフォルト)
1: アメリカンコミック
2: フレッシュコミック
3: 3D カートゥーン
4: 中国漫画 (古装の入力に最適)
5: ペーパーアートスタイル
6: シンプルなイラスト
7: 水墨画風
video_fps int(任意)
生成される動画のフレームレートです。デフォルト値は 15 です。有効な範囲は [15,25] です。
animate_emotion bool(任意)
顔の表情を加工するかどうかを指定します。デフォルト値は true です。
このオプションを有効にすると、口元と表情がより自然に連動するようになります。顔が画面全体に占める割合が低い場合、このオプションを無効にすることを推奨します。
min_len int(任意)
出力動画の短辺のピクセル数を指定し、解像度を制御します。指定可能な値は 720 と 540 で、デフォルト値は 720 です。
注記 選択する値に応じて料金が異なります。720p で出力された動画は、 540p の動画よりコストが高くなります。詳細については、「課金とレート制限 」をご参照ください。
use_SR bool(任意)
スタイル変換後、動画へ超解像技術 (Super-Resolution, SR) 処理を適用するかどうかを指定します。デフォルト値は false です。これを true に設定すると、追加料金なしで動画の品質を向上させることができます。
注記 min_len が 540 に設定された場合、このオプションを有効にすると、540p 画質の料金で 1080p 画質を出力できます。ただし、処理時間が増加するため、高画質での出力が必要な場合にのみ有効にすることを推奨します。
720p 動画の生成
bash 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/en-US/20250704/viwndw/original_video.mp4"
},
"parameters": {
"style": 0,
"video_fps": 15
}
}'
python 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/en-US/20250704/viwndw/original_video.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 動画の生成
bash 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/en-US/20250704/viwndw/original_video.mp4"
},
"parameters": {
"style": 0,
"video_fps": 15,
"min_len": 540
}
}'
python 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/en-US/20250704/viwndw/original_video.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())
レスポンス output object
タスクの出力情報です。
プロパティ
task_id string
非同期タスクの一意の ID です。この ID は後続のクエリに使用されます。
task_status string
タスクのステータスです。
PENDING:実行待ち
RUNNING:実行中
SUSPENDED:中断
SUCCEEDED:実行完了
FAILED:実行失敗
request_id string
一意のリクエスト ID です。この ID を使用して、問題を追跡し、トラブルシューティングを行うことができます。
code string
失敗したリクエストのエラーコードです。リクエストが成功した場合、このパラメーターは返されません。詳細については、「エラーコード 」をご参照ください。
message string
失敗したリクエストの詳細情報です。リクエストが成功した場合、このパラメーターは返されません。詳細については、「エラーコード 」をご参照ください。
ステップ 2: タスクステータスと結果のクエリ
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
重要 タスクステータスや生成された動画の URL などのタスク結果データは 24 時間有効です。この期間が過ぎると、データは自動的に消去されます。有効期間内に結果を照会し、保存してください。
リクエスト ヘッダー Authorization string (必須)
リクエストの認証情報です。この API は Model Studio API キーを使用して認証を行います。例: Bearer sk-xxxx
パスパラメーター task_id string(必須)
タスク ID です。
タスク結果の取得 {task_id} を実際の task_id に置き換える必要があります。
レスポンス request_id string
リクエストの一意の ID です。この ID を使用してリクエストの詳細を追跡し、トラブルシューティングを行うことができます。
output object
タスクの出力情報です。
プロパティ
output_video_url string
生成された動画の URL です。例: http://xxx/result.mp4
task_id string
タスク ID です。クエリは 24 時間有効です。
task_status string
タスクのステータスです。
PENDING:実行待ち
RUNNING:実行中
SUSPENDED:中断
SUCCEEDED:実行完了
FAILED:実行失敗
UNKNOWN:タスクが存在しないか、ステータスが不明です。
submit_time string
タスクが送信された時刻です。形式:YYYY-MM-DD HH:mm:ss.SSS
scheduled_time string
タスクが実行を開始した時刻です。形式:YYYY-MM-DD HH:mm:ss.SSS
end_time string
タスクが完了した時刻です。形式:YYYY-MM-DD HH:mm:ss.SSS
code string
失敗したリクエストのエラーコードです。リクエストが成功した場合、このパラメーターは返されません。詳細については、「エラーコード 」をご参照ください。
message string
失敗したリクエストの詳細情報です。リクエストが成功した場合、このパラメーターは返されません。詳細については、「エラーコード 」をご参照ください。
usage object
タスクの使用状況統計です。
プロパティ
duration float
生成された動画の長さ (秒) です。
SR int
課金に使用される動画の短辺のピクセル値です。この値は、リクエストで設定した 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フィールドに基づいて計算されます )
モデル
単価
レート制限 (Alibaba Cloud アカウントと RAM ユーザーで共有)
タスク送信 API の 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)