すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:Wan - リファレンス動画 (2.6)

最終更新日:Jun 04, 2026

Wan リファレンス動画モデルは マルチモーダル入力 を受け取り、人物または物体を主人公として単一キャラクターまたは複数キャラクターのインタラクション動画を生成します。

関連情報: ユーザーガイド

利用可能なリージョン

モデル、エンドポイント URL、API キーはすべて同一リージョンに属している必要があります。リージョンをまたいだ呼び出しは失敗します。

説明

このトピックのサンプルコードは シンガポールリージョン に適用されます。

重要

シンガポールリージョン向けのレガシードメイン https://dashscope-intl.aliyuncs.com はまもなく非推奨になります。できるだけ早く新しいドメイン https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com に移行してください。

HTTP

重要

これは レガシー API であり、wan2.6 モデル のみをサポートしています。

動画生成タスクには通常 1~5 分かかります。この API は非同期呼び出しを使用し、「タスク作成 → 結果のポーリング」 の 2 ステップで構成されています。詳細は以下のとおりです。

ステップ 1: タスクの作成

シンガポール

POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

呼び出す際は、WorkspaceId を実際のワークスペース ID に置き換えてください。

米国 (バージニア)

POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

Frankfurt

POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

WorkspaceId をご利用のワークスペース ID に置き換えてください。

中国 (北京)

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

説明
  • タスク作成後、返された task_id を使用して結果を照会します。task_id の有効期間は 24 時間です。重複したタスクを作成しないでください。代わりにポーリングを使用して結果を取得してください。

  • 初心者向けのガイドについては、「Postman」をご参照ください。

リクエストパラメーター

複数キャラクターのインタラクション(リファレンス画像および動画)

reference_urls を通じて画像および動画の URL を渡します。マルチショット動画を生成するには、shot_typemulti に設定します。

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.6-r2v-flash",
    "input": {
        "prompt": "Character2 sits in a chair by the window, holding character3, playing a soothing American country folk song next to character4. Character1 says to Character2: “that sounds great”",
        "reference_urls": [
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/aacgyk/wan-r2v-role1.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/mmizqq/wan-r2v-role2.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
        ]
    },
    "parameters": {
        "size": "1280*720",
        "duration": 10,
        "audio": true,
        "shot_type": "multi",
        "watermark": true
    }
}'

複数キャラクターのインタラクション(リファレンス動画)

reference_urls を通じて複数の動画 URL を渡します。マルチショット動画を生成するには、shot_typemulti に設定します。

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.6-r2v",
    "input": {
        "prompt": "character1 says to character2: “I'll rely on you tomorrow morning!” character2 replies: “You can count on me!”",
        "reference_urls": [
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251217/dlrrly/%E5%B0%8F%E5%A5%B3%E5%AD%A91%E8%8B%B1%E6%96%872.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251217/fkxknn/%E9%93%83%E9%93%83.mp4"
        ]
    },
    "parameters": {
        "size": "1280*720",
        "duration": 10,
        "shot_type": "multi"
    }
}'

単一キャラクター

reference_urls を通じて単一の動画 URL を渡します。マルチショット動画を生成するには、shot_typemulti に設定します。

# 注記: 中国 (北京) リージョンにデプロイされたモデルを使用する場合は、URL を次のように置き換えてください: https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.6-r2v",
    "input": {
        "prompt": "character1 sips milk tea while dancing freestyle to the music.",
        "reference_urls":["https://cdn.wanxai.com/static/demo-wan26/vace.mp4"]
    },
    "parameters": {
        "size": "1280*720",
        "duration": 5,
        "shot_type":"multi"
    }
}'

音声なし動画の生成

wan2.6-r2v-flash のみが音声なし動画の生成をサポートしています。

音声なし動画を生成するには、明示的に parameters.audio = false を設定する必要があります。

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.6-r2v-flash",
    "input": {
        "prompt": "character1 sips milk tea while dancing freestyle to the music.",
        "reference_urls":["https://cdn.wanxai.com/static/demo-wan26/vace.mp4"]
    },
    "parameters": {
        "size": "1280*720",
        "duration": 5,
        "audio": false,
        "shot_type":"multi"
    }
}'
ヘッダー

Content-Type 文字列 (必須)

リクエストのコンテンツタイプです。必ず application/json に設定してください。

Authorization 文字列 (必須)

Model Studio API キーを使用してリクエストを認証します。例: Bearer sk-xxxx。

X-DashScope-Async 文字列 (必須)

非同期処理を有効にします。HTTP リクエストでは非同期呼び出しのみがサポートされています。必ず enable に設定してください。

重要

このリクエストヘッダーが指定されていない場合、「current user api does not support synchronous calls」というエラーが返されます。

リクエスト本文

model 文字列 (必須)

使用するモデルです。利用可能なモデルと料金については、「モデルの料金」をご参照ください。

例: wan2.6-r2v-flash。

input オブジェクト (必須)

プロンプトなどの入力パラメーターです。

プロパティ

prompt 文字列 (必須)

生成する動画に必要な要素や視覚的特徴を記述するテキストプロンプトです。

中国語および英語をサポートしています。各文字は 1 文字としてカウントされ、制限を超えた内容は自動的に切り捨てられます。

  • wan2.6-r2v-flash: 最大長: 1,500 文字。

  • wan2.6-r2v: 最大長: 1,500 文字。

キャラクターの参照: 「character1, character2」などの識別子を使用してリファレンスキャラクターを参照します。各リファレンス (動画または画像) には 1 つのキャラクターのみを含める必要があります。モデルはこれらの識別子を通じてリファレンス内のキャラクターを識別します。

例: character1 がソファで楽しそうに映画を見ています。

プロンプトの記述に関するヒントについては、「テキストから動画/画像から動画へのプロンプトガイド」をご参照ください。

negative_prompt 文字列 (任意)

動画に含めたくない要素を記述するネガティブプロンプトです。

中国語および英語をサポートしています。最大長: 500 文字。制限を超えた内容は自動的に切り捨てられます。

例: low resolution, errors, worst quality, low quality, incomplete, extra fingers, poor proportions, etc.

reference_urls 配列[文字列] (必須)

重要

reference_urls は課金に直接影響します。料金の詳細については、「課金とレート制限」をご参照ください。

リファレンスファイルの URL 配列です。動画および画像の両方の入力をサポートしています。キャラクターの外観および音声 (利用可能な場合) を抽出し、リファレンスの特徴に一致する動画を生成するために使用されます。

  • 各 URL は 1 つの画像 または 1 つの動画 を指すことができます:

    • 画像: 0~5 枚。

    • 動画: 0~3 本。

    • 合計: 画像 + 動画 ≤ 5。

  • 複数のリファレンスファイルを渡す場合、配列の順序がキャラクターの順序を定義します。最初の URL は character1、2 番目の URL は character2 にマッピングされます。以降も同様です。

  • 各リファレンスファイルには 1 つの被写体キャラクターのみを含める必要があります。たとえば、character1 は女の子、character2 は目覚まし時計です。

サポートされるフォーマット:

  1. 公開 URL:

    • HTTP または HTTPS をサポートしています。

    • 例: https://cdn.translate.alibaba.com/xxx.png。

動画の要件:

  • フォーマット: MP4、MOV。

  • 持続時間: 1 秒~30 秒。

  • ファイルサイズ: 最大 100 MB。

画像の要件:

  • フォーマット: JPEG、JPG、PNG (透明度なし)、BMP、WEBP。

  • 解像度: 幅と高さの両方が 240~8,000 ピクセルの範囲内である必要があります。

  • ファイルサイズ: 最大 20 MB。

例: ["https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/xxx.mp4", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/xxx.jpg"]。

非推奨

reference_video_urls 配列[文字列]

重要

reference_urlsreference_video_urls の代わりに使用してください。

リファレンス動画の URL 配列です。キャラクターの外観および音声 (利用可能な場合) を抽出し、リファレンスの特徴に一致する動画を生成するために使用されます。

  • 動画は最大 3 本 までです。

  • 複数の動画を渡す場合、配列の順序がキャラクターの順序を定義します。最初の URL は character1、2 番目の URL は character2 にマッピングされます。以降も同様です。

  • 各リファレンス動画には 1 つのキャラクターのみを含める必要があります (たとえば、character1 は女の子、character2 は目覚まし時計)。

  • URL は HTTP または HTTPS をサポートしています。

各動画の要件:

  • フォーマット: MP4、MOV。

  • 持続時間: 2~30 秒。

  • ファイルサイズ: 最大 100 MB。

例: ["https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/xxx.mp4"]。

parameters オブジェクト (任意)

解像度、プロンプトリライト、ウォーターマークなどの動画生成パラメーターです。

プロパティ

size 文字列 (任意)

重要
  • size は課金に直接影響します。コスト = 単位価格 (解像度に基づく) × 持続時間 (秒)。同一モデルにおいて、1080P > 720P です。呼び出す前に「モデルの料金」をご確認ください。

  • size は 1280*720 のような正確な値である必要があり、1:1 や 720P のような比率または省略形は使用できません。

生成される動画の解像度で、幅*高さ 形式で指定します。デフォルト値および利用可能なオプションは model パラメーターによって異なります:

  • wan2.6-r2v-flash: デフォルトは 1920*1080 (1080P)。すべての 720P および 1080P 解像度をサポートします。

  • wan2.6-r2v: デフォルトは 1920*1080 (1080P)。すべての 720P および 1080P 解像度をサポートします。

720P 解像度およびその縦横比:

  • 1280*720: 16:9。

  • 720*1280: 9:16。

  • 960*960: 1:1。

  • 1088*832: 4:3。

  • 832*1088: 3:4。

1080P 解像度およびその縦横比:

  • 1920*1080: 16:9。

  • 1080*1920: 9:16。

  • 1440*1440: 1:1。

  • 1632*1248: 4:3。

  • 1248*1632: 3:4。

duration 整数 (任意)

重要

duration は課金に直接影響します。コスト = 単位価格 (解像度に基づく) × 持続時間 (秒)。呼び出す前に「モデルの料金」をご確認ください。

生成される動画の持続時間 (秒単位) です。

  • wan2.6-r2v-flash: 2~10 の範囲内で指定する必要があります。デフォルトは 5 です。

  • wan2.6-r2v: 2~10 の範囲内で指定する必要があります。デフォルトは 5 です。

例: 5。

shot_type 文字列 (任意)

生成される動画のショット構成を指定し、動画が単一の連続ショットで構成されるか、複数のショットで構成されるかを決定します。

パラメーターの優先度: shot_type > prompt。たとえば、shot_type が "single" に設定されている場合、プロンプトに「マルチショット動画を生成する」と記述されていても、モデルは単一ショット動画を出力します。

有効な値:

  • single: 単一ショット動画。これがデフォルトです。

  • multi: マルチショット動画。

例: single。

説明

このパラメーターを使用して、動画のナラティブ構造を制御できます。たとえば、製品紹介には単一ショットを、ストーリークリップにはマルチショットを使用します。

audio ブール値 (任意)

重要

audio は課金に直接影響します。音声ありと音声なしの動画では料金が異なります。呼び出す前に「モデルの料金」をご確認ください。

サポートされるモデル: wan2.6-r2v-flash。

動画に音声を生成するかどうかを指定します。

有効な値:

  • true (デフォルト)

  • false

例: true。

watermark ブール値 (任意)

ウォーターマークを追加するかどうかを指定します。ウォーターマークは右下隅に「AI-generated」と表示されます。

  • false (デフォルト)

  • true

例: false。

seed 整数 (任意)

乱数シードは、[0, 2147483647] の範囲内の整数である必要があります。

指定しない場合、ランダムなシードが生成されます。固定シードを使用すると再現性が向上します。

モデルの生成は確率的なため、同じシードを使用しても完全に同一の結果が保証されるわけではありません。

レスポンスパラメーター

成功時のレスポンス

task_id を保存して、タスクのステータスと結果を照会します。

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

エラー時のレスポンス

タスクの作成に失敗しました。「エラーコード」をご参照ください。

{
    "code": "InvalidApiKey",
    "message": "No API-key provided.",
    "request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
}

output オブジェクト

タスクの出力です。

プロパティ

task_id 文字列

タスク ID です。照会は 24 時間有効です。

task_status 文字列

タスクのステータスです。

列挙値

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: タスクが存在しない、またはステータスが不明です。

request_id 文字列

トレースおよびトラブルシューティング用の一意のリクエスト識別子です。

code 文字列

エラーコードです。失敗したリクエストでのみ返されます。「エラーコード」をご参照ください。

message 文字列

詳細なエラーメッセージです。失敗したリクエストでのみ返されます。「エラーコード」をご参照ください。

ステップ 2: タスク結果の取得

シンガポール

GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

呼び出す際は、WorkspaceId を実際のワークスペース ID に置き換えてください。

米国 (バージニア)

GET https://dashscope-us.aliyuncs.com/api/v1/tasks/{task_id}

フランクフルト

GET https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

WorkspaceId をご利用のワークスペース ID に置き換えてください。

中国 (北京)

GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

説明
  • ポーリングの推奨: 動画生成には数分かかります。15 秒などの適切な間隔でポーリングメカニズムを使用してください。

  • タスクの状態遷移: PENDING → RUNNING → SUCCEEDED または FAILED。

  • 結果リンク: タスクが成功すると、24 時間 有効な動画 URL が返されます。動画をダウンロードして、OSS などの永続ストレージに保存してください。

  • task_id の有効期間: 24 時間。この期間を過ぎると、照会時にタスクステータスが UNKNOWN として返されます。

リクエストパラメーター

タスク結果の取得

{task_id} を前回の API 呼び出しで返された task_id の値に置き換えてください。task_id は 24 時間有効です。

curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
ヘッダー

Authorization 文字列 (必須)

Model Studio API キーを使用してリクエストを認証します。例: Bearer sk-xxxx。

パスパラメーター

task_id 文字列 (必須)

タスクの ID です。

レスポンスパラメーター

タスク成功

動画 URL の有効期間は 24 時間のみで、その後自動的に消去されます。生成された動画は速やかに保存してください。

{
    "request_id": "caa62a12-8841-41a6-8af2-xxxxxx",
    "output": {
        "task_id": "eff1443c-ccab-4676-aad3-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-12-16 00:25:59.869",
        "scheduled_time": "2025-12-16 00:25:59.900",
        "end_time": "2025-12-16 00:30:35.396",
        "orig_prompt": "character1 happily watches a movie on the sofa",
        "video_url": "https://dashscope-result-sh.oss-accelerate.aliyuncs.com/xxx.mp4?Expires=xxx"
    },
     "usage": {
        "duration": 10.0,
        "size": "1280*720",
        "input_video_duration": 5,
        "output_video_duration": 5,
        "video_count": 1,
        "SR": 720
    }
}

タスク失敗

タスクが失敗すると、task_status は FAILED となり、エラーコードとメッセージが返されます。「エラーコード」をご参照ください。

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-a0c6a421c010",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "The size is not match xxxxxx"
    }
}

タスク期限切れ

task_id の有効期間は 24 時間です。この期間を過ぎると、照会時に次のエラーが返されます。

{
    "request_id": "a4de7c32-7057-9f82-8581-xxxxxx",
    "output": {
        "task_id": "502a00b1-19d9-4839-a82f-xxxxxx",
        "task_status": "UNKNOWN"
    }
}

output オブジェクト

タスクの出力です。

プロパティ

task_id 文字列 (必須)

タスクの ID です。

task_status 文字列

タスクのステータスです。

列挙値

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: タスクが存在しない、またはステータスが不明です。

submit_time 文字列

タスクが送信された時刻です。時刻は UTC + 08:00 で、形式は YYYY-MM-DD HH:mm:ss.SSS です。

scheduled_time 文字列

タスクが実行された時刻です。時刻は UTC + 08:00 で、形式は YYYY-MM-DD HH:mm:ss.SSS です。

end_time 文字列

タスクが完了した時刻です。時刻は UTC + 08:00 で、形式は YYYY-MM-DD HH:mm:ss.SSS です。

video_url 文字列

生成された動画の URL です。task_status が SUCCEEDED の場合にのみ返されます。

有効期間は 24 時間です。動画は H.264 エンコーディングの MP4 形式です。

orig_prompt 文字列

元の入力プロンプトで、リクエストパラメーター prompt に対応します。

code 文字列

エラーコードです。失敗したリクエストでのみ返されます。「エラーコード」をご参照ください。

message 文字列

詳細なエラーメッセージです。失敗したリクエストでのみ返されます。「エラーコード」をご参照ください。

usage オブジェクト

使用量統計です。成功した結果のみをカウントします。

プロパティ

input_video_duration 整数

入力リファレンス動画の持続時間 (秒単位) です。

output_video_duration 整数

出力動画の持続時間 (秒単位) です。

duration 浮動小数点数

動画の合計持続時間です。課金はこの値に基づいて行われます。

計算式: duration = input_video_duration + output_video_duration

SR 整数

生成された動画の解像度階層です。例: 720。

size 文字列

生成された動画の解像度で、幅*高さ形式で指定します。例: 1280*720。

video_count 整数

生成された動画の本数です。常に 1 です。

request_id 文字列

トレースおよびトラブルシューティング用の一意のリクエスト識別子です。

DashScope SDK

SDK パラメーターは HTTP API と同じ命名規則に従い、言語固有のラッパーが提供されています。

リファレンス動画タスクには通常 1~5 分かかります。SDK は HTTP 非同期ワークフローをラップし、同期および非同期の両方の呼び出しをサポートしています。

実際の処理時間は、タスクキューおよびサーバー負荷によって異なります。

Python

重要

以下のコードを実行する前に、DashScope Python SDK のバージョンが 1.25.16 以上であることを確認してください。

SDK のバージョンが古いと、「url error, please check url!」などのエラーが発生する可能性があります。「SDK のインストール」を参照して更新してください。

base_http_api_url は、モデルのリージョンに基づいて設定します:

シンガポール

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

呼び出す際は、WorkspaceId を実際のワークスペース ID に置き換えてください。

中国 (北京)

dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'

フランクフルト

dashscope.base_http_api_url = 'https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1'

WorkspaceId をご利用のワークスペース ID に置き換えてください。

同期

同期呼び出しは、動画生成が完了して結果が返されるまでブロッキングされます。

リクエスト例
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os

# シンガポールリージョンの URL です。ご利用のリージョンの URL を使用してください。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# DASHSCOPE_API_KEY が設定されていない場合は、次の行を api_key="sk-xxx" に置き換えてください
# API キーはリージョン固有です。API キーの取得: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

def sample_sync_call_r2v():
    # 同期呼び出し: 結果が準備できるまでブロッキングされます
    print('please wait...')
    rsp = VideoSynthesis.call(
        api_key=api_key,
        model='wan2.6-r2v-flash',
        prompt='Character2 sits in a chair by the window, holding character3, playing a soothing American country folk song next to character4. Character1 says to Character2: “that sounds great”',
        reference_urls=[
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/aacgyk/wan-r2v-role1.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/mmizqq/wan-r2v-role2.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
        ],
        shot_type='multi',
        audio=True,
        size='1280*720',
        duration=10,
        watermark=True)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output.video_url)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))


if __name__ == '__main__':
    sample_sync_call_r2v()

非同期

非同期呼び出しはすぐにタスク ID を返します。タスクが完了するまでポーリングまたは待機する必要があります。

リクエスト例
import os
from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope

# シンガポールリージョンの URL です。ご利用のリージョンの URL を使用してください。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# DASHSCOPE_API_KEY が設定されていない場合は、次の行を api_key="sk-xxx" に置き換えてください
# API キーはリージョン固有です。API キーの取得: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

def sample_async_call_r2v_26():
    # 非同期呼び出し: task_id を返します
    rsp = VideoSynthesis.async_call(
        api_key=api_key,
        model='wan2.6-r2v-flash',
        prompt='Character2 sits in a chair by the window, holding character3, playing a soothing American country folk song next to character4. Character1 says to Character2: “that sounds great”',
        reference_urls=[
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/aacgyk/wan-r2v-role1.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/mmizqq/wan-r2v-role2.mp4",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png",
            "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
        ],
        shot_type='multi',
        audio=True,
        size='1280*720',
        duration=10,
        watermark=True)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print("task_id: %s" % rsp.output.task_id)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

    # タスクステータスを取得
    status = VideoSynthesis.fetch(task=rsp, api_key=api_key)
    if status.status_code == HTTPStatus.OK:
        print(status.output.task_status)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (status.status_code, status.code, status.message))

    # タスクが完了するまで待機
    rsp = VideoSynthesis.wait(task=rsp, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output.video_url)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))


if __name__ == '__main__':
    sample_async_call_r2v_26()

Java

重要

以下のコードを実行する前に、DashScope Java SDK のバージョンが 2.22.14 以上であることを確認してください。

SDK のバージョンが古いと、「url error, please check url!」などのエラーが発生する可能性があります。「SDK のインストール」を参照して更新してください。

baseHttpApiUrl は、モデルのリージョンに基づいて設定します:

シンガポール

Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";

呼び出す際は、WorkspaceId を実際のワークスペース ID に置き換えてください。

中国 (北京)

Constants.baseHttpApiUrl = "https://dashscope.aliyuncs.com/api/v1";

Frankfurt

Constants.baseHttpApiUrl = "https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1";

WorkspaceId をご利用のワークスペース ID に置き換えてください。

同期

同期呼び出しは、動画生成が完了して結果が返されるまでブロッキングされます。

リクエスト例
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;

import java.util.ArrayList;
import java.util.List;

public class Ref2Video26 {

    static {
        // シンガポールリージョンの URL です。ご利用のリージョンの URL を使用してください。
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // DASHSCOPE_API_KEY が設定されていない場合は、次の行を apiKey="sk-xxx" に置き換えてください
    // API キーはリージョン固有です。API キーの取得: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    public static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void ref2video26() throws ApiException, NoApiKeyException, InputRequiredException {
        VideoSynthesis vs = new VideoSynthesis();
        List<String> referenceUrls = new ArrayList<>();
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/aacgyk/wan-r2v-role1.mp4");
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/mmizqq/wan-r2v-role2.mp4");
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png");
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png");

        VideoSynthesisParam param =
                VideoSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.6-r2v-flash")
                        .prompt("Character2 sits in a chair by the window, holding character3, playing a soothing American country folk song next to character4. Character1 says to Character2: “that sounds great”")
                        .referenceUrls(referenceUrls)
                        .shotType(VideoSynthesis.ShotType.MULTI)
                        .audio(Boolean.TRUE)
                        .size("1280*720")
                        .duration(10)
                        .watermark(Boolean.TRUE)
                        .build();
        System.out.println("please wait...");
        VideoSynthesisResult result = vs.call(param);
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            ref2video26();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

非同期

非同期呼び出しはすぐにタスク ID を返します。タスクが完了するまでポーリングまたは待機する必要があります。

リクエスト例
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesis;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisListResult;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisParam;
import com.alibaba.dashscope.aigc.videosynthesis.VideoSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;

import java.util.ArrayList;
import java.util.List;

public class Ref2Video26Async {

    static {
        // シンガポールリージョンの URL です。ご利用のリージョンの URL を使用してください。
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // DASHSCOPE_API_KEY が設定されていない場合は、次の行を apiKey="sk-xxx" に置き換えてください
    // API キーはリージョン固有です。API キーの取得: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    public static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void asyncRef2video26() throws ApiException, NoApiKeyException, InputRequiredException, InterruptedException {
        VideoSynthesis vs = new VideoSynthesis();
        List<String> referenceUrls = new ArrayList<>();
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/aacgyk/wan-r2v-role1.mp4");
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20260205/mmizqq/wan-r2v-role2.mp4");
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png");
        referenceUrls.add("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png");

        VideoSynthesisParam param =
                VideoSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.6-r2v-flash")
                        .prompt("Character2 sits in a chair by the window, holding character3, playing a soothing American country folk song next to character4. Character1 says to Character2: “that sounds great”")
                        .referenceUrls(referenceUrls)
                        .shotType(VideoSynthesis.ShotType.MULTI)
                        .audio(Boolean.TRUE)
                        .size("1280*720")
                        .duration(10)
                        .watermark(Boolean.TRUE)
                        .build();
        // 非同期タスクを送信
        VideoSynthesisResult result = vs.asyncCall(param);
        System.out.println("task_id: " + result.getOutput().getTaskId());
        System.out.println(JsonUtils.toJson(result));

        // タスクが完了するまで待機
        result = vs.wait(result, null);
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            asyncRef2video26();
        } catch (ApiException | NoApiKeyException | InputRequiredException | InterruptedException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

エラーコード

モデルの呼び出しに失敗してエラーメッセージが返された場合は、「エラーコード」を参照して解決してください。