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

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

最終更新日:Jan 19, 2026

Wan text-to-image モデルは、テキストから画像を生成し、さまざまな芸術的スタイルとリアルな写真効果をサポートして、多様な創造的ニーズに応えます。

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

説明

Wan 公式ウェブサイトの機能は、API の機能と異なる場合があります。このドキュメントでは、API の実際の機能について説明し、それに応じて更新されます。

前提条件

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

重要

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

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

重要

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

1 回のリクエストで結果を取得できます。このプロセスはシンプルで、ほとんどのシナリオで推奨されます。

シンガポール:POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

バージニア:POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

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

リクエストパラメーター

Text-to-image

curl --location 'https://dashscope-intl.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 (必須)

認証情報です。この API は 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 文字列 (任意)

画像に表示したくない内容を記述するネガティブプロンプトです。画像生成を制約するために使用できます。

最大長は 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 の値はコストに直接影響します。コストは次のように計算されます:コスト = 単価 × 画像数。呼び出しを行う前に、「モデルの価格」を確認してください。

生成する画像の数です。値は 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"
}

タスクの異常実行

タスクが失敗した場合、エラーに関する情報が返されます。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

生成された画像の URL です。画像は PNG 形式です。リンクは 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

一意のリクエスト ID です。この ID を使用して問題を追跡し、トラブルシューティングを行うことができます。

code string

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

message string

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

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

重要

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

この方法は、タイムアウトに敏感なシナリオに適しています。プロセスには、タスクを作成してから結果をポーリングするという 2 つのコアステップが含まれます。手順は次のとおりです:

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

シンガポール:POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/image-generation/generation

バージニア:POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/image-generation/generation

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

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

リクエストパラメーター

Text-to-image

curl --location 'https://dashscope-intl.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 (必須)

認証情報です。この API は 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 呼び出しについては、「HTTP 非同期呼び出し」をご参照ください。

input object (必須)

基本的な入力情報です。

プロパティ

messages array (必須)

リクエストコンテンツの配列です。現在、シングルターンカンバセーションのみがサポートされています。これは、role と content パラメーターのセットを 1 つだけ渡すことができることを意味します。マルチターンカンバセーションはサポートされていません。

プロパティ

role string (必須)

メッセージのロールです。このパラメーターは user に設定する必要があります。

content array (必須)

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

プロパティ

text string (必須)

ポジティブプロンプトです。生成したい画像の内容、スタイル、構図を記述します。

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

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

:渡せるテキストは 1 つだけです。テキストを渡さない場合や複数のテキストを渡した場合は、エラーが返されます。

parameters object (任意)

画像編集パラメーターです。

プロパティ

negative_prompt 文字列 (任意)

画像に表示したくない内容を記述するネガティブプロンプトです。画像生成を制約するために使用できます。

最大長は 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 の値はコストに直接影響します。コストは次のように計算されます:コスト = 単価 × 画像数。呼び出しを行う前に、「モデルの価格」を確認してください。

生成する画像の数です。値は 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 です。この ID を使用して、最大 24 時間タスクをクエリできます。

task_status string

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

列挙

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

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

request_id string

一意のリクエスト ID です。この ID を使用して問題を追跡し、トラブルシューティングを行うことができます。

code string

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

message string

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

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

シンガポール:GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}

バージニア:GET https://dashscope-us.aliyuncs.com/api/v1/tasks/{task_id}

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

説明
  • ポーリングの提案:画像生成には数分かかることがあります。10 秒などの妥当なクエリ間隔でポーリングメカニズムを使用して結果を取得することを推奨します。

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

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

リクエストパラメーター

タスク結果のクエリ

{task_id} を、直前の API 呼び出しによって返される task_id の値で置き換えます。

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

Authorization string (必須)

認証情報です。この API は 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
    }
}

タスク異常

何らかの理由でタスクの実行に失敗した場合、関連情報が返されます。code および message フィールドはエラーの原因を示します。詳細については、「エラーメッセージ」を参照して問題を解決してください。

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

output object

タスクの出力情報です。

プロパティ

task_id string

タスク ID です。この 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` です。

finished boolean

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

  • true:プロセスは完了しています。

  • false:操作は未完了です。

choices array

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

プロパティ

finish_reason string

タスクが停止した理由。値が stop の場合は、正常終了を意味します。

message object

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

プロパティ

role string

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

content array

プロパティ

image string

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

リンクは 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

一意のリクエスト ID です。この ID を使用して問題を追跡し、トラブルシューティングを行うことができます。

code string

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

message string

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

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

重要

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

text-to-image タスクは時間がかかり、通常 1〜2 分かかるため、API は非同期呼び出しを使用します。プロセスには、タスクを作成してから結果をポーリングするという 2 つのコアステップが含まれます。手順は次のとおりです:

実際の所要時間は、キュー内のタスク数とサービスの実行状況によって異なります。結果を取得するまでしばらくお待ちください。

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

シンガポール:POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

北京:POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis

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

リクエストパラメーター

Text-to-image

シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、「API キーの取得と設定
以下の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を次のものに置き換えてください:https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl -X POST https://dashscope-intl.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 パラメーターを使用して、生成される画像に「person」要素が表示されないようにします。

シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、「API キーの取得と設定
以下の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を次のものに置き換えてください:https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl -X POST https://dashscope-intl.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": "person"
    },
    "parameters": {
        "size": "1024*1024",
        "n": 1
    }
}'
リクエストヘッダー

Content-Type string (必須)

リクエストのコンテンツタイプです。このパラメーターを application/json に設定する必要があります。

Authorization string (必須)

認証情報です。この API は Model Studio API キーを使用して認証します。例:`Bearer sk-xxxx`。

X-DashScope-Async string (必須)

このパラメーターは非同期処理を設定するために使用されます。HTTP リクエストは非同期処理のみをサポートするため、このパラメーターを enable に設定する必要があります

重要

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

リクエストボディ

model string (必須)

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

例:wan2.5-t2i-preview。

説明

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

input object (必須)

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

プロパティ

prompt string (必須)

ポジティブプロンプトです。生成される画像に望ましい要素や視覚的特徴を記述します。

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

  • wan2.5-t2i-preview:最大 2,000 文字。

  • 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] の範囲内でなければならず、最大解像度は 1,440×1,440 です。例えば、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 の値はコストに直接影響します。コストは次のように計算されます:単価 × 画像数。呼び出しを行う前に、「モデルの価格」を確認してください。

生成する画像の数です。値は 1 から 4 までの整数でなければなりません。デフォルトは 4 です。テスト中は、低コストでの検証のためにこのパラメーターを 1 に設定できます。

prompt_extend boolean (任意)

プロンプトの再書き込みを有効にするかどうかを指定します。このパラメーターを有効にすると、大規模言語モデル (LLM) が入力プロンプトを再書き込みします。これにより、短いプロンプトの結果が大幅に向上しますが、処理時間が増加します。

  • true (デフォルト):スマートな再書き込みを有効にします。

  • false:スマートな再書き込みを無効にします。

例:true。

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 です。この ID を使用して、最大 24 時間タスクをクエリできます。

task_status string

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

列挙

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

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

request_id string

一意のリクエスト ID です。この ID を使用して問題を追跡し、トラブルシューティングを行うことができます。

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}

説明
  • ポーリングの提案:画像生成には数分かかることがあります。10 秒などの妥当なクエリ間隔でポーリングメカニズムを使用して結果を取得することを推奨します。

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

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

リクエストパラメーター

タスク結果のクエリ

86ecf553-d340-4e21-xxxxxxxxx を実際のタスク ID に置き換えます。

API キーはリージョン固有です。API キーを取得してください。
北京リージョンのモデルの場合、base_url を https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx に置き換えます。
curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
リクエストヘッダー

Authorization string (必須)

認証情報です。この API は 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, a variety of colorful and vibrant flowers, including roses, lilies, and sunflowers, are on display. The background is a warm indoor scene, with the street visible 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 つのタスクで複数の画像を生成できます。少なくとも 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 です。この 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` です。

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 時間有効です。この URL を使用して画像をダウンロードできます。

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

一意のリクエスト ID です。この ID を使用して問題を追跡し、トラブルシューティングを行うことができます。

DashScope Python SDK

SDK のパラメーター名は、ほとんどが HTTP API のものと一致しています。パラメーターの構造は、プログラミング言語の特性に基づいてカプセル化されています。

text-to-image タスクは時間がかかるため、SDK は下層で HTTP 非同期呼び出しプロセスをカプセル化し、同期および非同期の両方の呼び出しメソッドをサポートします。

実際の所要時間は、キュー内のタスク数とサービスの実行状況によって異なります。結果を取得するまでしばらくお待ちください。

wan2.6

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

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

base_url と API キーはリージョン間で共通ではありません。以下の例は、シンガポールリージョンでの呼び出しを示しています:

シンガポール:https://dashscope-intl.aliyuncs.com/api/v1

バージニア:https://dashscope-us.aliyuncs.com/api/v1

北京:https://dashscope.aliyuncs.com/api/v1

同期呼び出し

リクエスト例
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://dashscope-intl.aliyuncs.com/api/v1'

# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx"
# API キーはリージョンごとに異なります。API キーを取得するには、https://www.alibabacloud.com/help/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://dashscope-intl.aliyuncs.com/api/v1'

# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx"
# API キーはリージョンごとに異なります。API キーを取得するには、https://www.alibabacloud.com/help/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 の更新方法の詳細については、「SDK のインストール」をご参照ください。

base_url と API キーはリージョン間で共通ではありません。以下の例は、シンガポールリージョンでの呼び出しを示しています:

シンガポール:https://dashscope-intl.aliyuncs.com/api/v1

北京:https://dashscope.aliyuncs.com/api/v1

同期呼び出し

リクエスト例
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://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx"
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/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 windows decorated with elegant carvings and a beautiful wooden door with a brass handle. Inside, various colorful flowers such as roses, tulips, and lilies are on display. The background is a warm indoor scene with soft light, creating a quiet 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://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# 環境変数を設定していない場合は、次の行をご利用の Model Studio API キーに置き換えてください:api_key="sk-xxx"
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/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 task done 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)
        # save file to current directory
        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"
	},
	"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 windows decorated with elegant carvings and a beautiful wooden door with a brass handle. Inside, various colorful flowers such as roses, tulips, and lilies are on display. The background is a warm indoor scene with soft light, creating a quiet 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 のものと一致しています。パラメーターの構造は、プログラミング言語の特性に基づいてカプセル化されています。

text-to-image タスクは時間がかかるため、SDK は下層で HTTP 非同期呼び出しプロセスをカプセル化し、同期および非同期の両方の呼び出しメソッドをサポートします。

実際の所要時間は、キュー内のタスク数とサービスの実行状況によって異なります。結果を取得するまでしばらくお待ちください。

wan2.6

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

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

base_url と API キーは各リージョンに固有です。以下の例は、シンガポールリージョンからの呼び出しを示しています:

シンガポール:https://dashscope-intl.aliyuncs.com/api/v1

バージニア:https://dashscope-us.aliyuncs.com/api/v1

北京:https://dashscope.aliyuncs.com/api/v1

同期呼び出し

リクエスト例
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://dashscope-intl.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, 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://dashscope-intl.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 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
}

2. タスク結果クエリのレスポンス例

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.6-t2i モデルは Java SDK の呼び出しをサポートしていません。次のコードは、wan2.5 およびそれ以前のモデルのみを対象としています。

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

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

base_url と API キーはリージョン間で共通ではありません。次の例は、シンガポールリージョンでの呼び出しを示しています。

シンガポール:https://dashscope-intl.aliyuncs.com/api/v1

北京:https://dashscope.aliyuncs.com/api/v1

同期呼び出し

リクエストの例
// 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://dashscope.aliyuncs.com/api/v1 に置き換えてください。
     Constants.baseHttpApiUrl = "https://dashscope-intl.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. Inside, a variety of colorful and fragrant flowers, including roses, lilies, and sunflowers, are on display. The background is a warm indoor scene with soft light shining on the flowers 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
    }
}

非同期呼び出し

リクエストの例
// 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://dashscope.aliyuncs.com/api/v1 に置き換えてください。
        Constants.baseHttpApiUrl = "https://dashscope-intl.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. Inside, a variety of colorful and fragrant flowers, including roses, lilies, and sunflowers, are on display. The background is a warm indoor scene with soft light shining on the flowers 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_id とイメージの url は 24 時間のみ保持されます。この期間を過ぎると、クエリやダウンロードはできなくなります。

  • コンテンツモデレーション:入力された prompt と出力イメージは、どちらもコンテンツモデレーションの対象となります。禁止コンテンツを含むリクエストを送信すると、`IPInfringementSuspect` または `DataInspectionFailed` エラーが発生します。詳細については、エラーメッセージをご参照ください。

  • ネットワークアクセス構成:イメージ URL は OSS に格納されます。ご利用の業務システムがセキュリティポリシーによって外部の OSS URL にアクセスできない場合は、以下の OSS ドメイン名をホワイトリストに追加する必要があります。

    # OSS ドメイン名リスト
    dashscope-result-bj.oss-cn-beijing.aliyuncs.com
    dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com
    dashscope-result-sh.oss-cn-shanghai.aliyuncs.com
    dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com
    dashscope-result-zjk.oss-cn-zhangjiakou.aliyuncs.com
    dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com
    dashscope-result-hy.oss-cn-heyuan.aliyuncs.com
    dashscope-result-cd.oss-cn-chengdu.aliyuncs.com
    dashscope-result-gz.oss-cn-guangzhou.aliyuncs.com
    dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com

課金とレート制限

  • モデルの無料クォータと単価については、モデルリストをご参照ください。

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

  • 課金の詳細: 課金は、正常に生成されたイメージの数に基づいて行われます。モデル呼び出しの失敗や処理エラーが発生した場合、料金は発生せず、無料クォータも消費されません。

エラーコード

呼び出しが失敗した場合は、トラブルシューティングについて「エラーメッセージ」をご参照ください。

よくある質問

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

A:詳細については、「請求クエリとコスト管理」をご参照ください。