Skip to main content

動画スタイル変換 API リファレンス

動画スタイル変換 API は、入力された動画を様々な定義済みのアートスタイルに変換し、滑らかで自然な動きを再現すると同時に、コンテンツの一貫性も確保できます。この API は、日本漫画、アメリカンコミック、フレッシュコミック、3D カートゥーン、中国風カートゥーン、ペーパーアートスタイル、シンプルなイラスト、水墨画風の 8 種類のスタイルをサポートしています。

このモデルサービスは、中国 (北京) リージョンでのみ利用可能です。API を呼び出すには、このリージョンの API キーが必要です。

実行例

変換前変換後 (アートスタイル:日本漫画)
その他の例については、「付録: その他のスタイルの変換効果」をご参照ください。

前提条件

API を呼び出す前に、API キーを取得し、環境変数として設定してください。

HTTP

動画の処理には時間がかかります。リクエストのタイムアウトを防ぐため、動画スタイル変換では非同期呼び出しを使用します。処理は次の 2 段階で構成されます。
  1. 非同期タスクの送信:ソース動画の URL と希望するスタイルパラメーターを指定して POST リクエストを送信し、一意の task_id を取得します。
  2. タスク結果の照会: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-xxxxX-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 動画の生成
  • 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/en-US/20250704/viwndw/original_video.mp4"
    },
    "parameters": {
        "style": 0,
        "video_fps": 15
    }
}'

レスポンス

output objectタスクの出力情報です。

プロパティ

task_id string非同期タスクの一意の ID です。この ID は後続のクエリに使用されます。task_status stringタスクのステータスです。
  • PENDING:実行待ち
  • RUNNING:実行中
  • SUSPENDED:中断
  • SUCCEEDED:実行完了
  • FAILED:実行失敗
request_id string一意のリクエスト ID です。この ID を使用して、問題を追跡し、トラブルシューティングを行うことができます。code string失敗したリクエストのエラーコードです。リクエストが成功した場合、このパラメーターは返されません。詳細については、「エラーコード」をご参照ください。message string失敗したリクエストの詳細情報です。リクエストが成功した場合、このパラメーターは返されません。詳細については、「エラーコード」をご参照ください。
{
    "output": {
	  "task_id": "xxxxxxxx",
          "task_status": "PENDING"
    },
    "request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}

ステップ 2: タスクステータスと結果のクエリ

GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
タスクステータスや生成された動画の URL などのタスク結果データは 24 時間有効です。この期間が過ぎると、データは自動的に消去されます。有効期間内に結果を照会し、保存してください。

リクエスト

ヘッダー
Authorization string (必須)リクエストの認証情報です。この API は Model Studio API キーを使用して認証を行います。例: Bearer sk-xxxx
パスパラメーター
task_idstring(必須)タスク ID です。
  • タスク結果の取得
{task_id} を実際の task_id に置き換える必要があります。
curl -X GET \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

レスポンス

request_id stringリクエストの一意の ID です。この ID を使用してリクエストの詳細を追跡し、トラブルシューティングを行うことができます。output objectタスクの出力情報です。

プロパティ

output_video_url string生成された動画の URL です。例: http://xxx/result.mp4task_id stringタスク ID です。クエリは 24 時間有効です。task_status stringタスクのステータスです。
  • PENDING:実行待ち
  • RUNNING:実行中
  • SUSPENDED:中断
  • SUCCEEDED:実行完了
  • FAILED:実行失敗
  • UNKNOWN:タスクが存在しないか、ステータスが不明です。
submit_time stringタスクが送信された時刻です。形式:YYYY-MM-DD HH:mm:ss.SSSscheduled_time stringタスクが実行を開始した時刻です。形式:YYYY-MM-DD HH:mm:ss.SSSend_time stringタスクが完了した時刻です。形式:YYYY-MM-DD HH:mm:ss.SSScode 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
    }
}

課金とレート制限

成功したタスクに対してのみ課金されます。料金は、出力動画の実際の長さ (秒) と選択した解像度に基づいて計算されます。 課金計算式: 合計料金 = 出力動画の長さ (秒) × 対応する解像度の単価 (注意:最終的な料金は、成功したタスクに対して返される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)