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

Alibaba Cloud Model Studio:Wan Text-to-Image V2 API リファレンス

最終更新日:Jun 30, 2026

Wan Text-to-Image モデルは、テキストプロンプトから画像を生成し、芸術的なスタイルやリアルな写真効果をサポートします。

クイックリンク:オンラインで試す (シンガポール | 米国 (バージニア) | 中国 (北京)) | Wan 公式サイト

説明

Wan 公式サイトの機能は API の機能と異なる場合があります。このドキュメントでは API について説明しており、変更があり次第更新されます。

前提条件

呼び出しを行う前に、API キーを取得し、API キーを環境変数としてエクスポートしてください。SDK を使用して呼び出しを行うには、DashScope SDK をインストールします。

重要

シンガポール、米国 (バージニア) 、中国 (北京) リージョンには、それぞれ別の API キーリクエストエンドポイントがあります。これらは相互に使用することはできません。リージョンをまたいだ呼び出しは、認証失敗やサービスエラーにつながります。詳細については、「リージョンとサービスデプロイ範囲の選択」をご参照ください。

HTTP 同期呼び出し (wan2.6)

重要

このセクションの API は新しいプロトコルを使用しており、wan2.6 モデルのみをサポートします。

単一リクエストで結果を取得します。ほとんどのユースケースで推奨されます。

シンガポール

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

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

米国 (バージニア)

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

中国 (北京)

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

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

グローバルデプロイメントスコープ (ドイツ (フランクフルト) リージョン) は、非同期呼び出しのみをサポートします。

リクエストパラメーター

Text-to-Image

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
    --header 'Content-Type: application/json' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --data '{
        "model": "wan2.6-t2i",
        "input": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
                        }
                    ]
                }
            ]
        },
        "parameters": {
            "prompt_extend": true,
            "watermark": false,
            "n": 1,
            "negative_prompt": "",
            "size": "1280*1280"
        }
    }'

リクエストヘッダー

Content-Type string (必須)

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

Authorization string (必須)

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

リクエストボディ

model string (必須)

モデル名。例:wan2.6-t2i。

説明

wan2.5 およびそれ以前のモデルについては、HTTP 呼び出しのために「HTTP 非同期呼び出し」をご参照ください。

input object (必須)

入力オブジェクト。

プロパティ

messages array (必須)

リクエストメッセージ。現在、シングルターン会話のみがサポートされています:role と content パラメーターのセットを1つ渡します。

プロパティ

role string (必須)

メッセージのロール。user に設定する必要があります。

content array (必須)

メッセージのコンテンツ配列。

プロパティ

text string (必須)

生成される画像に望ましい内容、スタイル、構図を記述するポジティブプロンプト。

中国語と英語をサポートし、最大長は 2,100 文字です。各漢字、文字、数字、または記号は1文字としてカウントされます。超過した文字は自動的に切り捨てられます。

例:座っているオレンジ色の猫、幸せで、活発で、かわいい、リアルで正確。

:テキスト入力は1つのみサポートされます。テキスト入力を提供しない場合、または複数のテキスト入力を提供した場合、エラーが発生します。

parameters object (任意)

画像生成パラメーター。

プロパティ

negative_prompt string (任意)

画像に含めたくないものを記述するネガティブプロンプト。

中国語と英語をサポートします。最大長は 500 文字です。超過した文字は自動的に切り捨てられます。

例:低解像度、低品質、歪んだ手足、奇形の指、過飽和の色、ワックスのような外観、顔のディテールなし、過度に滑らかな表面、AI 生成のような見た目。混沌とした構図。ぼやけた、または歪んだテキスト。

size string (任意)

出力イメージの解像度。フォーマットは width*height です。

  • デフォルト値は 1280*1280 です。

  • 総ピクセル数は 1280×1280 から 1440×1440 の間で、アスペクト比は 1:4 から 4:1 の間でなければなりません。例えば、768×2700 は有効な解像度です。

例:1280*1280。

一般的なアスペクト比の推奨解像度

  • 1:1: 1280×1280

  • 3:4: 1104×1472

  • 4:3: 1472×1104

  • 9:16: 960×1696

  • 16:9: 1696×960

n integer (任意)

重要

n の値はコストに直接影響します。コスト = 単価 × 画像数。API を呼び出す前に、モデル価格をご確認ください。

生成するイメージの数です。値は 1 から 4 の整数である必要があります。デフォルトは 4 です。

課金は生成された画像の数に基づきます。テストには 1 を設定してください。

prompt_extend bool (任意)

プロンプトリライトを有効にします。LLM がポジティブプロンプトを最適化し、特に短いプロンプトの結果を改善します。処理時間に 3〜4 秒追加されます。

  • true (デフォルト)

  • false

watermark bool (任意)

画像の右下隅に「AI Generated」のウォーターマークを追加します。

  • false (デフォルト)

  • true

seed integer (任意)

乱数シード。有効値: [0,2147483647]

同じ seed を使用すると、類似の出力が得られます。省略された場合、アルゴリズムはランダムなシードを使用します。

注: 画像生成は確率的であるため、同じ seed を使用しても結果が異なる場合があります。

レスポンスパラメーター

タスクの正常な実行

タスクデータ (タスクステータスと画像 URL) は 24 時間のみ保持され、その後自動的に消去されます。生成された画像は速やかに保存してください。

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ],
                    "role": "assistant"
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "image_count": 1,
        "input_tokens": 0,
        "output_tokens": 0,
        "size": "1280*1280",
        "total_tokens": 0
    },
    "request_id": "815505c6-7c3d-49d7-b197-xxxxx"
}

タスクの実行失敗

タスクが失敗した場合、API はエラー情報を返します。code と message フィールドから原因を特定してください。「エラーコード」をご参照ください。

{
    "request_id": "a4d78a5f-655f-9639-8437-xxxxxx",
    "code": "InvalidParameter",
    "message": "num_images_per_prompt must be 1"
}

output object

出力オブジェクト。

プロパティ

choices array

モデルによって生成された出力コンテンツ。

プロパティ

finish_reason string

タスクが停止した理由です。 stop は正常終了を示します。

message object

モデルから返されたメッセージ。

プロパティ

role string

メッセージのロール。assistant に固定されています。

content array

プロパティ

image string

生成された PNG 形式の画像の URL。24 時間有効です。画像を速やかにダウンロードして保存してください。

type string

出力タイプ。image に固定されています。

finished boolean

タスクが完了したかどうか。

  • true

  • false

usage object

リクエストの使用状況統計。成功した結果のみがカウントされます。

プロパティ

image_count integer

生成された画像の数。

size string

生成された画像の解像度。例:1280*1280。

input_tokens integer

入力トークンの数。Text-to-Image の場合、課金は画像の数に基づいているため、この値は 0 に固定されます。

output_tokens integer

出力トークンの数。Text-to-Image の場合、課金は画像の数に基づいているため、この値は 0 に固定されます。

total_tokens integer

総トークン数。Text-to-Image の場合、課金は画像の数に基づいているため、この値は 0 に固定されます。

request_id string

追跡とトラブルシューティングのためのユニークなリクエスト識別子。

code string

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

message string

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

HTTP 非同期呼び出し (wan2.6)

重要

このセクションの API は新しいプロトコルを使用しており、wan2.6 モデルのみをサポートします。

タスクフローには、タスクの作成 -> 結果のポーリングという2つのコアステップが含まれます。プロセスは以下の通りです:

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

シンガポール

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

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

米国 (バージニア)

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

中国 (北京)

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation

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

ドイツ (フランクフルト)

POST https://<u><u>{WorkspaceId}.eu-central-1.maas.aliyuncs.com</u></u>/api/v1/services/aigc/image-generation/generation

呼び出しを行う際、WorkspaceId をご利用の ワークスペース ID に置き換えてください。

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

  • 初心者向けのガイダンスについては、「Postman または cURL で API を呼び出す」をご参照ください。

リクエストパラメーター

Text-to-Image

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
    --header 'Content-Type: application/json' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --header 'X-DashScope-Async: enable' \
    --data '{
        "model": "wan2.6-t2i",
        "input": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
                        }
                    ]
                }
            ]
        },
        "parameters": {
            "prompt_extend": true,
            "watermark": false,
            "n": 1,
            "negative_prompt": "",
            "size": "1280*1280"
        }
    }'
リクエストヘッダー

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.6-t2i。

説明

wan2.5 およびそれ以前のモデルについては、「HTTP 非同期呼び出し」をご参照ください。

input object (必須)

入力オブジェクト。

プロパティ

messages array (必須)

リクエストメッセージ。現在、シングルターン会話のみがサポートされています:role と content パラメーターのセットを1つ渡します。

プロパティ

role string (必須)

メッセージのロール。 user に設定する必要があります。

content array (必須)

メッセージのコンテンツ配列。

プロパティ

text string (必須)

生成される画像に望ましい内容、スタイル、構図を記述するポジティブプロンプト。

中国語と英語をサポートし、最大長は 2,100 文字です。各漢字、文字、数字、または記号は1文字としてカウントされます。超過した文字は自動的に切り捨てられます。

例:精巧な窓、美しい木製のドア、そして花が飾られた花屋。

:テキスト入力は1つのみサポートされます。テキスト入力を提供しない場合、または複数のテキスト入力を提供した場合、エラーが発生します。

parameters object (任意)

画像生成パラメーター。

プロパティ

negative_prompt string (任意)

画像に含めたくないものを記述するネガティブプロンプト。

中国語と英語をサポートします。最大長は 500 文字です。超過した文字は自動的に切り捨てられます。

例:低解像度、低品質、歪んだ手足、奇形の指、過飽和の色、ワックスのような外観、顔のディテールなし、過度に滑らかな表面、AI 生成のような見た目。混沌とした構図。ぼやけた、または歪んだテキスト。

size string (任意)

出力イメージの解像度。width*height フォーマット。

  • デフォルト値は 1280*1280 です。

  • 総ピクセル数は 1280×1280 から 1440×1440 の間で、アスペクト比は 1:4 から 4:1 の間でなければなりません。例えば、768×2700 は有効な解像度です。

例:1280*1280。

一般的なアスペクト比の推奨解像度

  • 1:1: 1280×1280

  • 3:4: 1104×1472

  • 4:3: 1472×1104

  • 9:16: 960×1696

  • 16:9: 1696×960

n integer (任意)

重要

n の値はコストに直接影響します。コスト = 単価 × 画像数。API を呼び出す前に、モデル価格をご確認ください。

生成するイメージの数。値には 1 から 4 までの整数を指定する必要があります。デフォルトは 4 です。

課金は生成された画像の数に基づきます。テストには 1 を設定してください。

prompt_extend bool (任意)

プロンプトリライトを有効にします。LLM がポジティブプロンプトを最適化し、特に短いプロンプトの結果を改善します。処理時間に 3〜4 秒追加されます。

  • true (デフォルト)

  • false

watermark bool (任意)

画像の右下隅に「AI Generated」のウォーターマークを追加します。

  • false (デフォルト)

  • true

seed integer (任意)

乱数シード。有効値: [0,2147483647]

同じ seed を使用すると、類似した出力が得られます。省略すると、アルゴリズムはランダムなシードを使用します。

注: 画像生成は確率的です。同じ seed を使用しても、結果が異なる場合があります。

レスポンスパラメーター

成功した応答

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://{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}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

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

ドイツ (フランクフルト)

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

呼び出しを行う際、{WorkspaceId} を実際のワークスペース ID に置き換えてください。

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

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

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

リクエストパラメーター

タスク結果のクエリ

{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 string (必須)

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

URL パスパラメーター

task_id string (必須)

タスクの ID。

レスポンスパラメーター

タスクの正常な実行

タスクデータ (タスクステータスと画像 URL) は 24 時間のみ保持され、その後自動的に消去されます。生成された画像は速やかに保存してください。

{
    "request_id": "2ddf53fa-699a-4267-9446-xxxxxx",
    "output": {
        "task_id": "3cd3fa4e-53ee-4136-9cab-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-12-18 20:03:01.802",
        "scheduled_time": "2025-12-18 20:03:01.834",
        "end_time": "2025-12-18 20:03:29.260",
        "finished": true,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ]
    },
    "usage": {
        "size": "1280*1280",
        "total_tokens": 0,
        "image_count": 1,
        "output_tokens": 0,
        "input_tokens": 0
    }
}

タスクの実行失敗

タスクが失敗した場合、API はエラー情報を返します。code と message フィールドから原因を特定してください。「エラーコード」をご参照ください。

{
    "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:タスクが存在しないか、ステータスが不明です。

ポーリング中の状態遷移:

  • PENDING → RUNNING → SUCCEEDED または FAILED。

  • 初期クエリのステータスは通常 PENDING または RUNNING です。

  • ステータスが SUCCEEDED に変わると、レスポンスには生成された画像の URL が含まれます。

  • ステータスが FAILED の場合は、エラーメッセージを確認してタスクを再試行してください。

submit_time string

タスクが送信された時刻。時刻は UTC + 08:00 で、フォーマットは YYYY-MM-DD HH:mm:ss.SSS です。

scheduled_time string

タスクが実行された時刻。時刻は UTC + 08:00 で、フォーマットは YYYY-MM-DD HH:mm:ss.SSS です。

end_time string

タスクが完了した時刻。時刻は UTC + 08:00 で、フォーマットは YYYY-MM-DD HH:mm:ss.SSS です。

finished boolean

タスクが完了したかどうかを示します。

  • true

  • false

choices array

モデルによって生成された出力コンテンツ。

プロパティ

finish_reason string

タスクが停止した理由。stop は正常終了を示します。

message object

モデルから返されたメッセージ。

プロパティ

role string

メッセージのロールであり、assistant に固定されています。

content array

プロパティ

image string

生成された PNG 形式の画像の URL。

リンクは 24 時間有効です。画像を速やかにダウンロードして保存する必要があります。

type string

出力のタイプ。image に固定されています。

usage object

リクエストの使用状況統計。成功した結果のみがカウントされます。

プロパティ

image_count integer

生成された画像の数。

size string

生成された画像の解像度。例:1280*1280。

input_tokens integer

入力トークンの数。この値は現在 0 に固定されています。

output_tokens integer

出力トークンの数。この値は現在 0 に固定されています。

total_tokens integer

総トークン数。この値は現在 0 に固定されています。

request_id string

追跡とトラブルシューティングのためのユニークなリクエスト識別子。

code string

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

message string

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

HTTP 非同期呼び出し (wan2.5 およびそれ以前のモデル)

重要

この API は古いプロトコルを使用しており、wan2.5 およびそれ以前のモデルのみをサポートします。

Text-to-Image タスクはかなりの時間 (通常 1〜2 分) がかかるため、API は非同期呼び出しを使用します。フローには、タスクの作成 -> 結果のポーリングという2つのコアステップが含まれます。プロセスは以下の通りです:

処理時間は、タスクキューとサービスステータスに依存します。

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

シンガポール

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

北京

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

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

  • 初心者向けのガイダンスについては、「Postman または cURL で API を呼び出す」をご参照ください。

リクエストパラメーター

Text-to-Image

シンガポールと北京リージョンの API キーは異なります。API キーを取得
以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用している場合は、URL を https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis に置き換えてください
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.5-t2i-preview",
    "input": {
        "prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
    },
    "parameters": {
        "size": "1280*1280",
        "n": 1
    }
}'    

Text-to-Image (ネガティブプロンプトあり)

生成される画像に「人々」が現れないようにするために `negative_prompt` を使用します。

シンガポールと北京リージョンの API キーは異なります。API キーを取得
以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用している場合は、URL を https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis に置き換えてください
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.2-t2i-flash",
    "input": {
        "prompt": "Snowy ground, a small white chapel, aurora borealis, winter scene, soft light.",
        "negative_prompt": "people"
    },
    "parameters": {
        "size": "1024*1024",
        "n": 1
    }
}'
リクエストヘッダー

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 (必須)

モデル名。Text-to-Image モデルについては、「モデルリスト」をご参照ください。

例:wan2.5-t2i-preview。

説明

wan2.6 モデルへの HTTP 呼び出しについては、「HTTP 同期呼び出し」および「HTTP 非同期呼び出し」をご参照ください。

input object (必須)

プロンプトを含む入力オブジェクト。

プロパティ

prompt string (必須)

生成される画像に望ましい内容とスタイルを記述するポジティブプロンプト。

このパラメーターは中国語と英語をサポートします。各漢字、文字、または句読点は1文字としてカウントされます。超過した文字は自動的に切り捨てられます。長さの制限はモデルのバージョンによって異なります:

  • wan2.5-t2i-preview:最大長 2000 文字。

  • wan2.2 および wan2.1 シリーズモデル:最大長 500 文字。

  • wanx2.0-t2i-turbo:最大長 800 文字。

例:座っているオレンジ色の猫、幸せで、活発で、かわいい、リアルで正確。

プロンプトの使用に関するヒントについては、「Text-to-Image プロンプトガイド」をご参照ください。

negative_prompt string (任意)

画像から除外する内容を指定するネガティブプロンプト。出力を制約するために使用します。

このパラメーターは中国語と英語をサポートし、最大長は 500 文字です。超過した文字は自動的に切り捨てられます。

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

parameters object (任意)

画像生成パラメーター。

プロパティ

size string (任意)

出力イメージの解像度。width*height というフォーマットで、デフォルト値と制約はモデルバージョンによって異なります。

  • wan2.5-t2i-preview: デフォルト値は 1280*1280 です。総ピクセル数は 1280×1280 から 1440×1440 の間、縦横比は 1:4 から 4:1 の間である必要があります。たとえば、768×2700 は有効な解像度です。

  • wan2.2 およびそれ以前のモデル: デフォルト値は 1024*1024 です。イメージの幅と高さは 512~1440 の範囲内である必要があり、最大解像度は 1440×1440 です。たとえば、 768×2700 は片側の制限を超えているため、サポートされていません。

例:1280*1280。

一般的なアスペクト比の推奨解像度

以下の解像度は wan2.5-t2i-preview に適用されます:

  • 1:1: 1280×1280

  • 3:4: 1104×1472

  • 4:3 (1472 × 1104)

  • 9:16: 960×1696

  • 16:9: 1696×960

n integer (任意)

重要

n の値はコストに直接影響します。コスト = 単価 × 画像数。API を呼び出す前に、モデル価格をご確認ください。

生成するイメージの数。値は 1 から 4 までの整数である必要があります。デフォルトは 4 です。テストには 1 を設定します。

prompt_extend boolean (任意)

プロンプトリライトを有効にします。LLM が入力プロンプトを書き換えて、特に短いプロンプトの結果を改善します。処理時間が増加します。

  • true (デフォルト)

  • false

watermark boolean (任意)

画像の右下隅に「AI Generated」のウォーターマークを追加します。

  • false (デフォルト)

  • true

seed integer (任意)

乱数シード。有効値: [0,2147483647]

同じ seed を使用すると類似した出力が得られます。省略した場合、アルゴリズムはランダムなシードを使用します。

注:画像生成は確率的であるため、同じ seed を使用しても、結果が異なる場合があります。

レスポンスパラメーター

成功した応答

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://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

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

中国 (北京)

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

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

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

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

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

リクエストパラメーター

タスク結果のクエリ

86ecf553-d340-4e21-xxxxxxxxx を実際の task_id に置き換えてください。

API キーはリージョンごとに異なります。詳細については、「API キーの取得」をご参照ください。
中国 (北京) リージョンでモデルを使用する場合、base_urlhttps://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx に置き換えます。ここで、WorkspaceId は実際のワークスペース ID です。
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
リクエストヘッダー

Authorization string (必須)

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

URL パスパラメーター

task_id string (必須)

タスクの ID。

レスポンスパラメーター

タスクの正常な実行

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

{
    "request_id": "f767d108-7d50-908b-a6d9-xxxxxx",
    "output": {
        "task_id": "d492bffd-10b5-4169-b639-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-01-08 16:03:59.840",
        "scheduled_time": "2025-01-08 16:03:59.863",
        "end_time": "2025-01-08 16:04:10.660",
        "results": [
            {
                "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door with a brass handle. Inside, various flowers are displayed, including roses, lilies, and sunflowers, which are colorful and vibrant. The background is a warm indoor scene, with light visible from the street through the window. High-definition realistic photography, medium shot composition.",
                "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
            }
        ],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

タスク失敗

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

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "xxxxxx",
        "task_metrics": {
            "TOTAL": 4,
            "SUCCEEDED": 0,
            "FAILED": 4
        }
    }
}

部分的なタスクの失敗

モデルはタスクごとに複数のイメージを生成できます。少なくとも 1 つが成功した場合、タスクのステータスは SUCCEEDED になり、成功したイメージの URL が返されます。失敗したイメージには、失敗の理由が含まれます。使用状況の統計では、成功した結果のみがカウントされます。詳細については、「エラーコード」をご参照ください。

{
    "request_id": "85eaba38-0185-99d7-8d16-xxxxxx",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [
            {
                "url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/123/a1.png"
            },
            {
                "code": "InternalError.Timeout",
                "message": "An internal timeout error has occurred during execution, please try again later or contact service support."
            }
        ],
        "task_metrics": {
            "TOTAL": 2,
            "SUCCEEDED": 1,
            "FAILED": 1
        }
    },
    "usage": {
        "image_count": 1
    }
}

タスククエリの期限切れ

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 + 08:00 で、フォーマットは YYYY-MM-DD HH:mm:ss.SSS です。

scheduled_time string

タスクが実行された時刻。時刻は UTC + 08:00 で、フォーマットは YYYY-MM-DD HH:mm:ss.SSS です。

end_time string

タスクが完了した時刻。時刻は UTC + 08:00 で、フォーマットは YYYY-MM-DD HH:mm:ss.SSS です。

results array of object

タスク結果のリスト。これには、画像 URL、プロンプト、および部分的に失敗したタスクのエラーメッセージが含まれます。

データ構造

{
    "results": [
        {
            "orig_prompt": "",
            "actual_prompt": "",
            "url": ""
        },
        {
            "code": "",
            "message": ""
        }
    ]
}

プロパティ

orig_prompt string

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

actual_prompt string

プロンプトリライトが有効な場合に使用される最適化されたプロンプト。無効な場合は返されません。

url string

画像 URL。task_status が SUCCEEDED の場合にのみ返されます。リンクは 24 時間有効で、画像のダウンロードに使用できます。

code string

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

message string

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

task_metrics object

タスク結果の統計。

プロパティ

TOTAL integer

タスクの総数。

SUCCEEDED integer

成功したタスクの数。

FAILED integer

失敗したタスクの数。

code string

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

message string

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

usage object

リクエストの使用状況統計。成功した結果のみがカウントされます。

プロパティ

image_count integer

正常に生成された画像の数。課金:コスト = 画像数 × 単価。

request_id string

追跡とトラブルシューティングのためのユニークなリクエスト識別子。

DashScope Python SDK

SDK のパラメーター名は HTTP API と一致していますが、構造は Python に合わせて調整されています。

Text-to-Image タスクはかなりの時間がかかるため、SDK は HTTP 非同期呼び出しプロセスをカプセル化し、同期および非同期呼び出しの両方をサポートします。

処理時間は、タスクキューとサービスステータスに依存します。

wan2.6

重要
  • 以下のコードは wan2.6 モデル専用です。

  • 以下のコードを実行する前に、DashScope Python SDK のバージョンが 1.25.7 以上であることを確認してください。更新するには、「SDK のインストール」をご参照ください。

base_url と API キーはリージョン固有です。 次の例は、シンガポール リージョンでの呼び出しを示しています。

シンガポール

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

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

米国 (バージニア)

https://dashscope-us.aliyuncs.com/api/v1

中国 (北京)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

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

ドイツ (フランクフルト)

https://<u>{WorkspaceId}.eu-central-1.maas.aliyuncs.com</u>/api/v1

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

グローバルデプロイメントスコープ (ドイツ (フランクフルト) リージョン) は、非同期呼び出しのみをサポートします。

同期呼び出し

リクエスト例
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message

# 以下はシンガポールリージョンの base_url です。base_url はリージョン固有です。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

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

message = Message(
    role="user",
    content=[
        {
            'text': 'A flower shop with exquisite windows, a beautiful wooden door, and flowers on display'
        }
    ]
)
print("----Sync call, please wait a moment----")
rsp = ImageGeneration.call(
    model="wan2.6-t2i",
    api_key=api_key,
    messages=[message],
    negative_prompt="",
    prompt_extend=True,
    watermark=False,
    n=1,
    size="1280*1280"
)
print(rsp)
レスポンス例
URL は 24 時間有効です。画像を速やかにダウンロードする必要があります。
{
    "status_code": 200,
    "request_id": "820dd0db-eb42-4e05-8d6a-1ddb4axxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "audio": null,
        "finished": true
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0,
        "image_count": 1,
        "size": "1280*1280",
        "total_tokens": 0
    }
}

非同期呼び出し

リクエスト例
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Role, Message
from http import HTTPStatus

# 以下はシンガポールリージョンの base_url です。base_url はリージョン固有です。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください: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 create_async_task():
    print("Creating async task...")
    message = Message(
        role="user",
        content=[{'text': 'A flower shop with exquisite windows, a beautiful wooden door, and flowers on display'}]
    )
    response = ImageGeneration.async_call(
        model="wan2.6-t2i",
        api_key=api_key,
        messages=[message],
        negative_prompt="",
        prompt_extend=True,
        watermark=False,
        n=1,
        size="1280*1280"
    )
    
    if response.status_code == 200:
        print("Task created successfully:", response)
        return response
    else:
        raise Exception(f"Failed to create task: {response.code} - {response.message}")

# タスクが完了するのを待つ
def wait_for_completion(task_response):
    print("Waiting for task completion...")
    status = ImageGeneration.wait(task=task_response, api_key=api_key)
    
    if status.output.task_status == "SUCCEEDED":
        print("Task succeeded!")
        print("Response:", status)
    else:
        raise Exception(f"Task failed with status: {status.output.task_status}")

# 非同期タスク情報を取得
def fetch_task_status(task):
    print("Fetching task status...")
    status = ImageGeneration.fetch(task=task, api_key=api_key)
    
    if status.status_code == HTTPStatus.OK:
        print("Task status:", status.output.task_status)
        print("Response details:", status)
    else:
        print(f"Failed to fetch status: {status.code} - {status.message}")

# 非同期タスクをキャンセル
def cancel_task(task):
    print("Canceling task...")
    response = ImageGeneration.cancel(task=task, api_key=api_key)
    
    if response.status_code == HTTPStatus.OK:
        print("Task canceled successfully:", response.output.task_status)
    else:
        print(f"Failed to cancel task: {response.code} - {response.message}")

# メイン実行フロー
if __name__ == "__main__":
    task = create_async_task()
    wait_for_completion(task)
レスポンス例
  1. タスク作成のレスポンス例

    {
        "status_code": 200,
        "request_id": "c4f11410-ea42-4996-957d-9c82f9xxxxxx",
        "code": "",
        "message": "",
        "output": {
            "text": null,
            "finish_reason": null,
            "choices": null,
            "audio": null,
            "task_id": "f470bbfd-d955-4165-935b-d35b8eexxxxxx",
            "task_status": "PENDING"
        },
        "usage": {
            "input_tokens": 0,
            "output_tokens": 0,
            "characters": 0
        }
    }
  2. タスク結果クエリのレスポンス例

    URL は 24 時間有効です。画像を速やかにダウンロードする必要があります。
    {
        "status_code": 200,
        "request_id": "7e57e7e8-00b0-4534-9aff-fe31e0xxxxxx",
        "code": null,
        "message": "",
        "output": {
            "text": null,
            "finish_reason": null,
            "choices": [
                {
                    "finish_reason": "stop",
                    "message": {
                        "role": "assistant",
                        "content": [
                            {
                                "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                                "type": "image"
                            }
                        ]
                    }
                }
            ],
            "audio": null,
            "task_id": "f470bbfd-d955-4165-935b-d35b8exxxxxx",
            "task_status": "SUCCEEDED",
            "submit_time": "2026-01-09 17:18:17.901",
            "scheduled_time": "2026-01-09 17:18:17.941",
            "end_time": "2026-01-09 17:18:45.544",
            "finished": true
        },
        "usage": {
            "input_tokens": 0,
            "output_tokens": 0,
            "characters": 0,
            "size": "1280*1280",
            "total_tokens": 0,
            "image_count": 1
        }
    }

wan2.5 およびそれ以前のモデル

重要
  • 以下のコードは wan2.5 およびそれ以前のモデル専用です。

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

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

base_url と API キーはリージョン固有です。次の例は、シンガポール リージョンでの呼び出しを示します:

シンガポール

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

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

中国 (北京)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

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

同期呼び出し

リクエスト例
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
import dashscope

# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用している場合は、URL を https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1 に置き換えてください
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx"
# シンガポールと北京リージョンの API キーは異なります。API キーを取得するには:https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

print('----Sync call, please wait a moment----')
rsp = ImageSynthesis.call(api_key=api_key,
                          model="wan2.5-t2i-preview",
                          prompt="A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                          negative_prompt="",
                          n=1,
                          size='1280*1280',
                          prompt_extend=True,
                          watermark=False,
                          seed=12345)
print('response: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
    # 現在のディレクトリに画像を保存
    for result in rsp.output.results:
        file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
        with open('./%s' % file_name, 'wb+') as f:
            f.write(requests.get(result.url).content)
else:
    print('sync_call Failed, status_code: %s, code: %s, message: %s' %
          (rsp.status_code, rsp.code, rsp.message))
レスポンス例
URL は 24 時間有効です。画像を速やかにダウンロードする必要があります。
{
    "status_code": 200,
    "request_id": "9d634fda-5fe9-9968-a908-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "d35658e4-483f-453b-b8dc-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png",
            "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "An exquisite flower shop, with elegant carvings on the windows and a beautiful wooden door with a brass handle. Inside, a variety of colorful flowers such as roses, tulips, and lilies are displayed. The background is a warm indoor scene with soft light, creating a peaceful and comfortable atmosphere. High-definition realistic photography, close-up center composition."
        }],
        "submit_time": "2025-01-08 19:36:01.521",
        "scheduled_time": "2025-01-08 19:36:01.542",
        "end_time": "2025-01-08 19:36:13.270",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

非同期呼び出し

リクエスト例
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
import dashscope

# 以下はシンガポールリージョンの URL です。北京リージョンのモデルを使用している場合は、URL を https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1 に置き換えてください
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください: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 async_call():
    print('----Create task----')
    task_info = create_async_task()
    print('----Wait for task to complete, then save image----')
    wait_async_task(task_info)

# 非同期タスクを作成
def create_async_task():
    rsp = ImageSynthesis.async_call(api_key=api_key,
                                    model="wan2.5-t2i-preview",
                                    prompt="A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                                    negative_prompt="",
                                    n=1,
                                    size='1280*1280',
                                    prompt_extend=True,
                                    watermark=False,
                                    seed=12345)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))
    return rsp

# 非同期タスクが完了するのを待つ
def wait_async_task(task):
    rsp = ImageSynthesis.wait(task=task, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
        # 現在のディレクトリにファイルを保存
        for result in rsp.output.results:
            file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
            with open('./%s' % file_name, 'wb+') as f:
                f.write(requests.get(result.url).content)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

# 非同期タスク情報を取得
def fetch_task_status(task):
    status = ImageSynthesis.fetch(task=task, api_key=api_key)
    print(status)
    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))

# 非同期タスクをキャンセル。PENDING 状態のタスクのみキャンセル可能。
def cancel_task(task):
    rsp = ImageSynthesis.cancel(task=task, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output.task_status)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

if __name__ == '__main__':
    async_call()
レスポンス例
  1. タスク作成のレスポンス例

    {
    	"status_code": 200,
    	"request_id": "31b04171-011c-96bd-ac00-f0383b669cc7",
    	"code": "",
    	"message": "",
    	"output": {
    		"task_id": "4f90cf14-a34e-4eae-xxxxxxxx",
    		"task_status": "PENDING",
    		"results": []
    	},
    	"usage": null
    }
  2. タスク結果クエリのレスポンス例

    URL は 24 時間有効です。画像を速やかにダウンロードする必要があります。
    {
        "status_code": 200,
        "request_id": "9d634fda-5fe9-9968-a908-xxxxxx",
        "code": null,
        "message": "",
        "output": {
            "task_id": "d35658e4-483f-453b-b8dc-xxxxxx",
            "task_status": "SUCCEEDED",
            "results": [{
                "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png",
                "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                "actual_prompt": "An exquisite flower shop, with elegant carvings on the windows and a beautiful wooden door with a brass handle. Inside, a variety of colorful flowers such as roses, tulips, and lilies are displayed. The background is a warm indoor scene with soft light, creating a peaceful and comfortable atmosphere. High-definition realistic photography, close-up center composition."
            }],
            "submit_time": "2025-01-08 19:36:01.521",
            "scheduled_time": "2025-01-08 19:36:01.542",
            "end_time": "2025-01-08 19:36:13.270",
            "task_metrics": {
                "TOTAL": 1,
                "SUCCEEDED": 1,
                "FAILED": 0
            }
        },
        "usage": {
            "image_count": 1
        }
    }
    

DashScope Java SDK

SDK のパラメーター名は HTTP API と一致していますが、構造は Java に合わせて調整されています。

Text-to-Image タスクはかなりの時間がかかることがあります。SDK は HTTP 非同期呼び出しフローをカプセル化し、同期および非同期呼び出しの両方をサポートします。

処理時間は、タスクキューとサービスステータスに依存します。

wan2.6

重要
  • 以下のコードは wan2.6-t2i モデルにのみ適用されます。

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

base_url と API キーはリージョンごとに異なり、相互に交換して使用することはできません。次の例は、シンガポール リージョンで呼び出しを行う方法を示しています。

シンガポール

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

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

米国 (バージニア)

https://dashscope-us.aliyuncs.com/api/v1

中国 (北京)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

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

ドイツ (フランクフルト)

https://<u>{WorkspaceId}.eu-central-1.maas.aliyuncs.com</u>/api/v1

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

グローバルデプロイメントスコープ (ドイツ (フランクフルト) リージョン) は、非同期呼び出しのみをサポートします。

同期呼び出し

リクエスト例
import com.alibaba.dashscope.aigc.imagegeneration.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.Collections;

public class Main {

    static {
        // これはシンガポールリージョンの URL です。base_url はリージョンによって異なります。
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:apiKey="sk-xxx"
    // API キーはリージョンごとに異なります。API キーを取得するには:https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void basicCall() throws ApiException, NoApiKeyException, UploadFileException {
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Collections.singletonList(
                        Collections.singletonMap("text", "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.6-t2i")
                .n(1)
                .size("1280*1280")
                .negativePrompt("")
                .promptExtend(true)
                .watermark(false)
                .messages(Collections.singletonList(message))
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = null;
        try {
            System.out.println("---sync call, please wait a moment----");
            result = imageGeneration.call(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            basicCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
    }
}
レスポンス例
URL は 24 時間有効です。画像を速やかにダウンロードする必要があります。
{
    "status_code": 200,
    "request_id": "50b57166-eaaa-4f17-b1e0-35a5ca88672c",
    "code": "",
    "message": "",
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "image_count": 1,
        "size": "1280*1280",
        "total_tokens": 0
    }
}

非同期呼び出し

リクエスト例
import com.alibaba.dashscope.aigc.imagegeneration.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.Collections;

public class Main {

    static {
        // これはシンガポールリージョンの URL です。base_url はリージョンによって異なります。
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:apiKey="sk-xxx"
    // API キーはリージョンごとに異なります。API キーを取得するには:https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void asyncCall() throws ApiException, NoApiKeyException, UploadFileException {
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Collections.singletonList(
                        Collections.singletonMap("text", "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.6-t2i")
                .n(1)
                .size("1280*1280")
                .negativePrompt("")
                .promptExtend(true)
                .watermark(false)
                .messages(Collections.singletonList(message))
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = null;
        try {
            System.out.println("---async call, creating task----");
            result = imageGeneration.asyncCall(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));

        String taskId = result.getOutput().getTaskId();
        // タスクが完了するのを待つ
        waitTask(taskId);
    }

    public static void waitTask(String taskId) throws ApiException, NoApiKeyException {
        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = imageGeneration.wait(taskId, apiKey);
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            asyncCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
    }
}
レスポンスの例
  1. タスク作成のレスポンス例

    {
        "status_code": 200,
        "request_id": "9cd85950-2e26-4b2c-b562-1694cf9288e5",
        "code": "",
        "message": "",
        "output": {
            "task_id": "4c861fbe-af89-4a2f-8fc5-4bb15c3139ba",
            "task_status": "PENDING"
        },
        "usage": null
    }
  1. タスク結果クエリのレスポンス例

    URL は 24 時間有効です。画像を速やかにダウンロードする必要があります。
    {
        "status_code": 200,
        "request_id": "cbdf1424-306e-4a52-82f3-8bf5d8a99103",
        "code": "",
        "message": "",
        "output": {
            "choices": [
                {
                    "finish_reason": "stop",
                    "message": {
                        "role": "assistant",
                        "content": [
                            {
                                "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                                "type": "image"
                            }
                        ]
                    }
                }
            ],
            "task_id": "4c861fbe-af89-4a2f-8fc5-4bb15c3139ba",
            "task_status": "SUCCEEDED",
            "submit_time": "2026-01-16 16:36:06.556",
            "scheduled_time": "2026-01-16 16:36:06.591",
            "end_time": "2026-01-16 16:36:25.190",
            "finished": true
        },
        "usage": {
            "input_tokens": 0,
            "output_tokens": 0,
            "size": "1280*1280",
            "total_tokens": 0,
            "image_count": 1
        }
    }

wan2.5 以前のモデル

重要
  • 以下のコードは、wan2.5 以前のモデルにのみ適用されます。

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

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

base_url と API キーはリージョンごとに異なり、相互に交換して使用することはできません。以下の例は、シンガポールリージョンで呼び出しを行う方法を示しています:

シンガポール

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

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

中国 (北京)

https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

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

同期呼び出し

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

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisListResult;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.HashMap;
import java.util.Map;

public class Main {

  static {
     // これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1 に置き換えてください。
     Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";  
  }
  
  // 環境変数を設定していない場合は、次の行を実際の Model Studio API キーに置き換えてください:apiKey="sk-xxx"
  // シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
  static String apiKey = System.getenv("DASHSCOPE_API_KEY");
  
  public static void basicCall() throws ApiException, NoApiKeyException {
        // パラメーターを設定します
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);
        parameters.put("watermark", false);
        parameters.put("seed", 12345);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.5-t2i-preview")
                        .prompt("A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                        .n(1)
                        .size("1280*1280")
                        .negativePrompt("")
                        .parameters(parameters)
                        .build();

        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            System.out.println("---sync call, please wait a moment----");
            result = imageSynthesis.call(param);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
    }

    public static void listTask() throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        AsyncTaskListParam param = AsyncTaskListParam.builder().build();
        param.setApiKey(apiKey);
        ImageSynthesisListResult result = is.list(param);
        System.out.println(result);
    }

    public static void fetchTask(String taskId) throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        // DASHSCOPE_API_KEY 環境変数が設定されている場合、apiKey を null に設定できます。
        ImageSynthesisResult result = is.fetch(taskId, apiKey);
        System.out.println(result.getOutput());
        System.out.println(result.getUsage());
    }

    public static void main(String[] args){
        try{
            basicCall();
            //listTask();
        }catch(ApiException|NoApiKeyException e){
            System.out.println(e.getMessage());
        }
    }
}
レスポンス例
URL の有効期間は 24 時間です。イメージは速やかにダウンロードする必要があります。
{
    "request_id": "22f9c744-206c-9a78-899a-xxxxxx",
    "output": {
        "task_id": "4a0f8fc6-03fb-4c44-a13a-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
           "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door slightly ajar. A variety of fresh flowers, including roses, lilies, and sunflowers, are on display inside, vibrant in color and fragrant. The background is a cozy indoor scene with soft light streaming through the windows onto the flowers. High-definition realistic photography, medium shot composition.",
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
        }],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

非同期呼び出し

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

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.HashMap;
import java.util.Map;

public class Main {
    static {
        // これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1 に置き換えてください。
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }
    
    // 環境変数を設定していない場合は、次の行を実際の Model Studio API キーに置き換えてください:apiKey="sk-xxx"
    // シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");
    
    public void asyncCall() {
        System.out.println("---create task----");
        String taskId = this.createAsyncTask();
        System.out.println("---wait task done then return image url----");
        this.waitAsyncTask(taskId);
    }

    /**
     * 非同期タスクを作成します
     * @return taskId
     */
    public String createAsyncTask() {
        // パラメーターを設定します
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);
        parameters.put("watermark", false);
        parameters.put("seed", 12345);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.5-t2i-preview")
                        .prompt("A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                        .n(1)
                        .size("1280*1280)
                        .negativePrompt("")
                        .parameters(parameters)
                        .build();

        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            result = imageSynthesis.asyncCall(param);
        } catch (Exception e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
        String taskId = result.getOutput().getTaskId();
        System.out.println("taskId=" + taskId);
        return taskId;
    }

    /**
     * 非同期タスクの完了を待ちます
     * @param taskId タスク ID
     * */
    public void waitAsyncTask(String taskId) {
        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            // 環境変数を設定した後、ここで apiKey を null に設定できます
            result = imageSynthesis.wait(taskId, apiKey);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
        System.out.println(JsonUtils.toJson(result.getOutput()));
    }

    public static void main(String[] args){
        Main main = new Main();
        main.asyncCall();
    }

}
レスポンス例
  1. タスク作成のレスポンス例

    {
    	"request_id": "5dbf9dc5-4f4c-9605-85ea-542f97709ba8",
    	"output": {
    		"task_id": "7277e20e-aa01-4709-xxxxxxxx",
    		"task_status": "PENDING"
    	}
    }
  2. タスク結果のクエリのレスポンス例

    {
        "request_id": "22f9c744-206c-9a78-899a-xxxxxx",
        "output": {
            "task_id": "4a0f8fc6-03fb-4c44-a13a-xxxxxx",
            "task_status": "SUCCEEDED",
            "results": [{
               "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door slightly ajar. A variety of fresh flowers, including roses, lilies, and sunflowers, are on display inside, vibrant in color and fragrant. The background is a cozy indoor scene with soft light streaming through the windows onto the flowers. High-definition realistic photography, medium shot composition.",
                "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
            }],
            "task_metrics": {
                "TOTAL": 1,
                "SUCCEEDED": 1,
                "FAILED": 0
            }
        },
        "usage": {
            "image_count": 1
        }
    }

制限事項

  • データの有効性:タスクの task_id とイメージの url は 24 時間のみ保持されます。この期間を過ぎると、照会またはダウンロードできなくなります。

  • コンテンツモデレーション:入力の prompt と出力イメージの両方に対してコンテンツモデレーションが実行されます。コンプライアンスに違反するコンテンツの場合、IPInfringementSuspect または DataInspectionFailed エラーが返されます。詳細については、「エラーコード」をご参照ください。

課金とレート制限

  • 無料クォータと料金については、コンソールでご確認ください。

  • モデルのレート制限については、Wan シリーズをご参照ください。

  • 課金は、正常に生成されたイメージの数に基づいて行われます。呼び出しが失敗した場合、料金は発生せず、新規ユーザー無料クォータも消費されません。

エラーコード

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

よくある質問

Q:モデルの推論コストと呼び出しボリュームを確認するにはどうすればよいですか?

A:「請求照会とコスト管理」をご参照ください。