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

Alibaba Cloud Model Studio:Wan 画像から動画への API リファレンス

最終更新日:Apr 04, 2026

Wan 画像から動画へモデルは、マルチモーダル入力 (テキスト、画像、音声、動画) をサポートし、主に3つのタスクを実行できます:開始フレームからの動画生成、開始フレームと終了フレームからの動画生成、動画の続きを生成

説明

新しい画像から動画への API (wan2.7-i2v モデル) は、これら 3 つのタスクをサポートします。この新しい API を使用してください

元の開始フレームからの画像から動画への生成 API (wan2.6 以前のモデル) は、開始フレームからの動画生成のみをサポートします。

利用可能なリージョン

API 呼び出しを成功させるには、モデル、エンドポイント URL、API キーに同じリージョンを使用する必要があります。リージョンをまたいだ呼び出しは失敗します。

説明

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

HTTP

重要

この API は、新しい画像から動画へのプロトコルを使用し、wan2.7 モデルのみをサポートします。

画像から動画へのタスクは 1〜5 分かかるため、API は非同期呼び出しを使用します。プロセスは 2 つのステップで構成されます:

ステップ 1:タスクを作成し、タスク ID を取得

シンガポール

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

北京

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

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

  • 初心者向けのチュートリアルについては、「Postman」をご参照ください。

リクエストパラメーター

開始フレームからの動画生成

開始フレームの画像と音声に基づいて動画を生成します。

curl --location 'https://dashscope-intl.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.7-i2v",
    "input": {
        "prompt": "都市のファンタジーアートのシーン。ダイナミックなグラフィティアートのキャラクター。コンクリートの壁にスプレーペイントで描かれた少年が生き生きと動き出す。彼は夜の都市の鉄道橋の下で、クラシックでエネルギッシュなラッパーのポーズをとりながら、高速で英語のラップソングを歌う。光は一本の街灯から差し込み、高エネルギーと驚くべきディテールに満ちた映画のような雰囲気を醸し出している。動画の音声はラップのみで構成され、他の対話やノイズはない。",
        "media": [
            {
                "type": "first_frame",
                "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/20250925/wpimhv/rap.png"
            },
            {
                "type": "driving_audio",
                "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/20250925/ozwpvi/rap.mp3"
                
            }
        ]
    },
    "parameters": {
        "resolution": "720P",
        "duration": 10,
        "prompt_extend": true,
        "watermark": true
    }
}'

開始フレームと終了フレームからの動画生成

開始フレームと終了フレームを渡して動画を生成します。

curl --location 'https://dashscope-intl.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.7-i2v",
    "input": {
        "prompt": "リアルなスタイルで、小さな黒猫が好奇心旺盛に空を見上げる。カメラアングルは目線の高さから徐々に上がり、最終的に真上からの視点でその好奇心に満ちた視線を捉える。",
        "media": [
            {
                "type": "first_frame",
                "url": "https://wanx.alicdn.com/material/20250318/first_frame.png"
            },
            {
                "type": "last_frame",
                "url": "https://wanx.alicdn.com/material/20250318/last_frame.png"
            }
        ]
    },
    "parameters": {
        "resolution": "720P",
        "duration": 10,
        "prompt_extend": false,
        "watermark": true
    }
}'

ビデオの続き

最初のビデオクリップに基づいて後続のコンテンツを生成します。

curl --location 'https://dashscope-intl.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.7-i2v",
    "input": {
        "prompt": "サングラスをかけた犬が路上でスケートボードをする、3D カートゥーン。",
        "media": [
            {
                "type": "first_clip",
                "url": "http://wanx.alicdn.com/material/20250318/video_extension_1.mp4"
            }
        ]
    },
    "parameters": {
        "resolution": "720P",
        "duration": 10,
        "prompt_extend": true,
        "watermark": true
    }
}'

Content-Type string (必須)

リクエストのコンテンツタイプは application/json である必要があります。

Authorization string (必須)

Model Studio API キーを使用した認証情報。

例:Bearer sk-xxxx

X-DashScope-Async string (必須)

非同期処理を有効にします。HTTP リクエストは非同期処理のみをサポートするため、enable に設定する必要があります。

重要

含まれていない場合、「current user api does not support synchronous calls」エラーが返されます。

リクエストボディ

model string (必須)

モデル名。モデルのリストとその価格については、「モデルの価格」をご参照ください。

例:wan2.7-i2v。

input object (必須)

プロンプトなどの基本的な入力情報。

プロパティ

prompt string (任意)

テキストプロンプト:生成される動画の要素と視覚的特徴を記述します。

中国語と英語がサポートされています。各漢字または文字は 1 文字としてカウントされます。制限を超えたテキストは自動的に切り捨てられます。文字数制限はモデルのバージョンによって異なります:

  • wan2.7-i2v:最大 5,000 文字。

例:子猫が草の上を走る。

プロンプトの使用方法の詳細については、「テキストから動画へおよび画像から動画へのプロンプトガイド」をご参照ください。

negative_prompt string (任意)

否定的なプロンプト。動画に含めたくないコンテンツを記述します。

中国語と英語がサポートされています。プロンプトは最大 500 文字です。制限を超えたテキストは自動的に切り捨てられます。

例:低解像度、エラー、最低品質、低品質、変形、余分な指、悪いプロポーション。

media array (必須)

動画生成のための参照素材 (画像、音声、動画) を指定します。

配列の各要素は、typeurl フィールドを含むメディアオブジェクトです。

アセットの組み合わせ

以下のアセットの組み合わせのみがサポートされています。無効な組み合わせはエラーになります。

  • 開始フレームからの動画生成

    • 開始フレーム:first_frame

    • 開始フレーム + 音声:first_frame+driving_audio

  • 開始フレームと終了フレームからの動画生成

    • 開始フレーム + 終了フレーム:first_frame+last_frame

    • 開始フレーム + 終了フレーム + 音声:first_frame+last_frame+driving_audio

  • ビデオの続き:

    • 最初のビデオクリップの続き:first_clip

    • 最初のビデオクリップ + 終了フレームの続き:first_clip+last_frame

プロパティ

type string (必須)

メディアアセットのタイプ。有効な値:

  • first_frame

  • last_frame

  • driving_audio

  • first_clip

制限:各 typemedia 配列内で最大 1 回しか出現できません。例えば、2 つの first_frame アセットを渡すことはできません。

url string (必須)

メディアアセットの URL。

画像 (type=first_frame または last_frame) を渡す

開始フレームまたは終了フレームの URL。

画像の制限:

  • フォーマット:JPEG、JPG、PNG (alpha チャンネルはサポートされていません)、BMP、WEBP。

  • 解像度:幅と高さは [240, 8000] ピクセルの範囲内である必要があります。

  • 縦横比:1:8 から 8:1。

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

サポートされている入力フォーマット:

  1. 公開 URL:

    • HTTP または HTTPS プロトコルがサポートされています。

    • 例:https://xxx/xxx.png。

音声 (type=driving_audio) を渡す

音声ファイルの URL。

  • 音声を渡す:モデルは音声を駆動ソースとして使用し、リップシンクやアクションのタイミングなどを合わせて動画を生成します。

  • 音声を渡さない:モデルは動画の内容に基づいて、一致するバックグラウンドミュージックや効果音を自動的に生成します。

音声の制限:

  • フォーマット:WAV、MP3。

  • 持続時間:2 秒から 30 秒。

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

  • 切り捨て:音声の持続時間が duration の値 (例えば 5 秒) を超える場合、最初の 5 秒が使用され、残りの音声は破棄されます。音声が動画より短い場合、音声の持続時間を超える動画の部分は無音になります。例えば、音声が 3 秒で動画が 5 秒の場合、出力動画の最初の 3 秒は音声があり、最後の 2 秒は無音になります。

サポートされている入力フォーマット:

  1. 公開 URL:

    • HTTP および HTTPS プロトコルがサポートされています。

    • 例:https://xxx/xxx.mp3。

動画 (type=first_clip) を渡す

動画ファイルの URL。モデルはその内容に基づいて動画の続きを生成します。続きの最大持続時間は duration パラメーターによって制御されます。

例えば、duration=15 で入力動画が 3 秒の場合、モデルは 12 秒の続きを生成します。最終的な出力動画は 15 秒になり、15 秒分が課金されます。

動画の制限:

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

  • 持続時間:2 秒から 10 秒。

  • 解像度:幅と高さは [240, 4096] ピクセルの範囲内である必要があります。

  • 縦横比:1:8 から 8:1。

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

サポートされている入力フォーマット:

  1. 公開 URL:

    • HTTP および HTTPS プロトコルがサポートされています。

    • 例:https://xxx/xxx.mp4。

parameters object (任意)

解像度、持続時間、プロンプトリライト、ウォーターマークなどの動画処理パラメーター。

プロパティ

resolution string (任意)

重要

解像度はコストに直接影響します。呼び出しを行う前に、「モデルの価格」を確認してください。

生成される動画の解像度レベル。総ピクセル数を制御します。

モデルは、選択された解像度レベルに近い総ピクセル数に動画を自動的にスケーリングします。動画の縦横比は、入力素材 (開始フレームまたは最初のビデオクリップ) とできるだけ一致させる必要があります。詳細については、「よくある質問」をご参照ください。

  • wan2.7-i2v:有効な値は 720P と 1080P です。デフォルト:1080P

例:1080P。

duration integer (任意)

重要

持続時間はコストに直接影響します。課金は秒単位です。呼び出しを行う前に、「モデルの価格」を確認してください。

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

  • wan2.7-i2v:2 から 15 までの整数。デフォルト:5。

例:5。

prompt_extendboolean (任意)

プロンプトリライトを有効にするかどうかを指定します。有効にすると、大規模言語モデルが入力プロンプトを書き換えます。これにより、短いプロンプトの結果が向上する可能性がありますが、実行時間が増加します。

  • true (デフォルト)

  • false

例:true。

watermark boolean (任意)

ウォーターマークを追加するかどうかを指定します。ウォーターマークは動画の右下隅に配置され、「AI Generated」という固定テキストが含まれます。

  • false (デフォルト)

  • true

例:false。

seed integer (任意)

乱数シード。0 から 2147483647 までの整数である必要があります。

指定しない場合、ランダムなシードが生成されます。固定シードを使用すると再現性が向上しますが、モデルのランダム性により結果が異なる場合があります。

例:12345

レスポンスパラメーター

成功応答

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 object

タスクの出力情報。

プロパティ

task_id string

タスクの ID。最大 24 時間、タスクのクエリに使用できます。

task_status string

タスクのステータス。

列挙型

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN:タスクが存在しないか、ステータスが不明です

request_id string

リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。

code string

エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。

message string

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

ステップ 2:タスク ID で結果をクエリ

シンガポール

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

北京

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

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

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

  • 結果の URL:タスクが成功すると、動画の URL が返されます。URL は 24 時間有効です。URL を取得したら、すぐに動画をダウンロードし、Object Storage Service (OSS) などの永続的なストレージサービスに保存する必要があります。

  • task_id の有効期間24 時間。この期間を過ぎると、結果をクエリできなくなり、API はタスクステータスとして UNKNOWN を返します。

リクエストパラメーター

タスク結果のクエリ

{task_id} を、前の API 呼び出しで返された task_id の値に置き換えます。task_id は 24 時間以内のクエリで有効です。

curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
ヘッダー

Authorization string (必須)

Model Studio API キーを使用した認証情報。

例:Bearer sk-xxxx

パスパラメーター

task_id string (必須)

クエリするタスクの ID。

レスポンスパラメーター

タスク成功

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

{
    "request_id": "2ca1c497-f9e0-449d-9a3f-xxxxxx",
    "output": {
        "task_id": "af6efbc0-4bef-4194-8246-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-09-25 11:07:28.590",
        "scheduled_time": "2025-09-25 11:07:35.349",
        "end_time": "2025-09-25 11:17:11.650",
        "orig_prompt": "都市のファンタジーアートのシーン。ダイナミックなグラフィティアートのキャラクター。コンクリートの壁にスプレーペイントで描かれた少年が生き生きと動き出す。彼は夜の都市の鉄道橋の下で、クラシックでエネルギッシュなラッパーのポーズをとりながら、高速で英語のラップソングを歌う。光は一本の街灯から差し込み、高エネルギーと驚くべきディテールに満ちた映画のような雰囲気を醸し出している。動画の音声はラップのみで構成され、他の対話やノイズはない。",
        "video_url": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.mp4?Expires=xxx"
    },
    "usage": {
        "duration": 15,
        "input_video_duration": 0,
        "output_video_duration": 15,
        "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 object

タスクの出力情報。

プロパティ

task_id string

タスクの ID。最大 24 時間、タスクのクエリに使用できます。

task_status string

タスクのステータス。

列挙型

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN:タスクが存在しないか、ステータスが不明です

ポーリング中のステータス遷移:

  • PENDING → RUNNING → SUCCEEDED または FAILED

  • 最初のクエリは通常 PENDING または RUNNING を返します

  • SUCCEEDED ステータスには、生成された動画の URL がレスポンスに含まれます

  • FAILED ステータスでは、エラーメッセージを確認してリトライする必要があります

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

video_url string

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

URL は 24 時間有効です。H.264 エンコーディングの MP4 形式で動画をダウンロードするために使用します。

orig_prompt string

元の入力プロンプト。これは prompt リクエストパラメーターの値です。

code string

エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。

message string

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

usage object

出力情報の統計。成功した結果のみがカウントされます。

プロパティ

input_video_duration integer

入力動画の持続時間 (秒)。

output_video_duration integer

出力動画の持続時間 (秒)。

duration integer

課金に使用される合計動画持続時間。

SR integer

出力動画の解像度レベル。例:720。

video_count integer

出力動画の数。値は 1 に固定されています。

request_id string

リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。

制限事項

  • データの有効期間task_idvideo_url は 24 時間のみ保持されます。この期間を過ぎると、クエリやダウンロードはできません。

  • コンテンツモデレーション:入力コンテンツ (プロンプト、画像、動画など) と出力動画はコンテンツモデレーションの対象となります。コンテンツがルールに違反する場合、システムは「IPInfringementSuspect」または「DataInspectionFailed」エラーを返します。詳細については、「エラーメッセージ」をご参照ください。

エラーコード

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

よくある質問

Q:3:4 のような特定の縦横比の動画を生成するにはどうすればよいですか?

A:出力動画の縦横比は、入力素材 (開始フレームの画像または開始ビデオクリップ) によって決まります。ただし、出力の縦横比は入力比率と完全に同じになることは保証されません。例えば、正確に 3:4 にならない場合があります。わずかなズレが生じることがあります。

以下の例では、「入力開始フレーム画像」を使用したロジックを説明します:

  • なぜバイアスが発生するのですか?

    • 実行ロジック:システムは入力画像の縦横比をベースライン参照として使用します。これを resolution レベルの目標総ピクセル数と組み合わせます。動画の幅と高さは、ビデオエンコーディングの仕様により 16 の倍数である必要があります。システムは最も近い有効な解像度に自動的に調整します。

    • 計算例:入力開始フレーム画像のサイズが 750 × 1000 ピクセル (縦横比 3:4 = 0.75) の場合。解像度は「720P」(約 920,000 総ピクセルを目標) に設定されています。実際の出力動画の解像度は 816 × 1104 ピクセル (縦横比 ≈ 0.739、約 900,000 総ピクセル) になります。

  • 推奨事項

    • 入力制御:目標の縦横比に一致する開始フレームまたはビデオクリップを使用します。

    • 後処理:厳密な縦横比の要件がある場合は、生成後に編集ツールを使用して動画をトリミングするか、黒枠を追加します。

Q:動画ストレージアクセス用のドメイン名のホワイトリストを取得するにはどうすればよいですか?

A:モデルによって生成された動画は OSS に保存されます。API は一時的な公開 URL を返します。このダウンロード URL のファイアウォールホワイトリストを設定するには、次の点にご注意ください:基盤となるストレージは動的に変更される可能性があります。このトピックでは、古い情報によるアクセス問題を避けるため、固定の OSS ドメイン名ホワイトリストは提供していません。セキュリティ制御の要件がある場合は、アカウントマネージャーに連絡して最新の OSS ドメイン名リストを入手してください。