Wan2.6 画像生成・編集モデルは、複数画像の入力、画像編集、テキストと画像のインターリーブ出力をサポートします。
モデル概要
モデル | 説明 | 出力画像の仕様 |
wan2.6-image | 画像を編集し、テキストと画像のインターリーブ出力を生成します。 | 画像フォーマット:PNG 画像の解像度とディメンションについては、size パラメーターをご参照ください。 |
API を呼び出す前に、各リージョンでサポートされているモデルリストと料金をご確認ください。
前提条件
API キーの取得とAPI キーを環境変数としてエクスポートを完了してください。
シンガポール、米国 (バージニア)、中国 (北京) リージョンでは、それぞれ専用の API キーとリクエストエンドポイントがあります。これらを相互に使用しないでください。リージョンをまたいだ呼び出しは、認証の失敗やサービスエラーにつながります。詳細については、リージョンとデプロイメントモードの選択をご参照ください。
HTTP 同期
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
リクエストパラメーター | 画像編集テキストと画像のインターリーブ出力 (ストリーミングのみ)同期インターフェイスでテキストと画像のインターリーブ出力 (
|
リクエストヘッダー | |
Content-Type リクエストのコンテンツタイプ。 | |
Authorization Model Studio API キーを使用した認証情報。 例: | |
X-DashScope-Sse ストリーミング出力を有効にします。
| |
リクエストボディ | |
model モデル名。wan2.6-image に設定します。 | |
input 基本的な入力情報。 | |
parameters 画像処理パラメーター。 |
レスポンスパラメーター | タスクの正常な実行タスクデータ (タスクステータスと画像 URL) は24時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスクの正常な実行 (ストリーミング出力)タスクデータ (タスクステータスと画像 URL) は24時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスクの実行失敗タスクが失敗した場合、エラー情報が返されます。code と message フィールドを使用して原因を特定してください。トラブルシューティングについては、エラーメッセージをご参照ください。 |
output タスクの出力情報。 | |
usage 出力統計。成功した結果のみをカウントします。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 | |
code エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、エラーコードをご参照ください。 | |
message 詳細なエラーメッセージ。リクエストが失敗した場合にのみ返されます。詳細については、エラーコードをご参照ください。 |
HTTP 非同期
画像生成タスクは通常1〜2分かかります。API は非同期呼び出しを使用してリクエストのタイムアウトを防ぎます。プロセスには、タスクの作成 → 結果のポーリングという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時間有効です。重複したタスクを作成しないでください。代わりに、ポーリングを使用して結果を取得してください。初心者向けチュートリアルについては、Postman をご参照ください。
リクエストパラメーター | 画像編集テキストと画像のインターリーブ出力 |
リクエストヘッダー | |
Content-Type リクエストのコンテンツタイプは | |
Authorization Model Studio API キーを使用した認証情報。 例: | |
X-DashScope-Async 非同期処理設定パラメーター。必ず 重要 このヘッダーを省略すると、「current user api does not support synchronous calls」というエラーが返されます。 | |
リクエストボディ | |
model モデル名。 例:wan2.6-image。 | |
input 基本的な入力情報。 | |
parameters 画像処理パラメーター。 |
レスポンスパラメーター | 成功したレスポンス
エラーレスポンスタスクの作成に失敗しました。問題を解決するには、エラーコードをご参照ください。 |
output タスクの出力情報。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 | |
code エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、エラーコードをご参照ください。 | |
message 詳細なエラーメッセージ。リクエストが失敗した場合にのみ返されます。詳細については、エラーコードをご参照ください。 |
ステップ 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。
結果のリンク:成功後、画像のリンクは24時間で有効期限が切れます。取得後すぐにダウンロードして永続的に保存してください (例:OSS)。
リクエストパラメーター | タスク結果のクエリ
|
リクエストヘッダー | |
Authorization Model Studio API キーを使用した認証情報。 例: | |
URL パスパラメーター | |
task_id クエリするタスクの ID。 |
レスポンスパラメーター | タスクの正常な実行タスクデータ (タスクステータスと画像 URL) は24時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスクの実行失敗タスクが失敗した場合、エラー情報が返されます。code と message フィールドを使用して原因を特定してください。トラブルシューティングについては、エラーメッセージをご参照ください。 |
output タスクの出力情報。 | |
usage 出力統計。成功した結果のみをカウントします。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 | |
code エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、エラーコードをご参照ください。 | |
message 詳細なエラーメッセージ。リクエストが失敗した場合にのみ返されます。詳細については、エラーコードをご参照ください。 |
DashScope Python SDK
SDK のパラメーター名は HTTP インターフェイスと一致しています。パラメーター構造は、言語の特性に応じてカプセル化されています。
タスクの所要時間が長いため、SDK は内部で HTTP 非同期呼び出しをカプセル化し、同期呼び出しと非同期呼び出しの両方をサポートしています。
実際の所要時間は、キューの長さとサービスの実行状況によって異なります。結果を取得する際は、しばらくお待ちください。
以下のコードを実行する前に、DashScope Python SDK のバージョンが少なくとも 1.25.8 であることを確認してください。アップデートについては、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'
# 環境変数が設定されていない場合は、次の行を 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",
# ローカルファイルをサポートします。例:"image": "file://umbrella1.png"
content=[
{
"text": "画像1のスタイルと画像2の背景に基づいて、トマトと卵の炒め物を生成してください"
},
{
"image": "https://cdn.wanx.aliyuncs.com/tmp/pressure/umbrella1.png"
},
{
"image": "https://img.alicdn.com/imgextra/i3/O1CN01SfG4J41UYn9WNt4X1_!!6000000002530-49-tps-1696-960.webp"
}
]
)
print("----同期呼び出し、しばらくお待ちください----")
rsp = ImageGeneration.call(
model='wan2.6-image',
api_key=api_key,
messages=[message],
negative_prompt="",
prompt_extend=True,
watermark=False,
n=1,
enable_interleave=False,
size="1K"
)
print(rsp)レスポンス例
URL は24時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "b6a4c68d-3a91-4018-ae96-3cf373xxxxxx",
"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": "1376*768",
"total_tokens": 0
}
}非同期
リクエスト例
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message
from http import HTTPStatus
# シンガポールリージョンの base_url。Base URL はリージョンごとに異なります。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# 環境変数が設定されていない場合は、次の行を 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("非同期タスクを作成中...")
message = Message(
role="user",
content=[
{'text': '画像1のスタイルと画像2の背景に基づいて、トマトと卵の炒め物を生成してください'},
{'image': 'https://cdn.wanx.aliyuncs.com/tmp/pressure/umbrella1.png'},
{'image': 'https://img.alicdn.com/imgextra/i3/O1CN01SfG4J41UYn9WNt4X1_!!6000000002530-49-tps-1696-960.webp'}
]
)
response = ImageGeneration.async_call(
model="wan2.6-image",
api_key=api_key,
messages=[message],
negative_prompt="",
prompt_extend=True,
watermark=False,
n=1,
enable_interleave=False,
size="1K"
)
if response.status_code == 200:
print("タスクが正常に作成されました:", response)
return response # タスク ID を返す
else:
raise Exception(f"タスクの作成に失敗しました: {response.code} - {response.message}")
# タスク完了を待機
def wait_for_completion(task_response):
print("タスクの完了を待機中...")
status = ImageGeneration.wait(task=task_response, api_key=api_key)
if status.output.task_status == "SUCCEEDED":
print("タスクが成功しました!")
print("レスポンス:", status)
else:
raise Exception(f"タスクが失敗しました。ステータス: {status.output.task_status}")
# 非同期タスク情報の取得
def fetch_task_status(task):
print("タスクステータスを取得中...")
status = ImageGeneration.fetch(task=task, api_key=api_key)
if status.status_code == HTTPStatus.OK:
print("タスクステータス:", status.output.task_status)
print("レスポンス詳細:", status)
else:
print(f"ステータスの取得に失敗しました: {status.code} - {status.message}")
# 非同期タスクのキャンセル
def cancel_task(task):
print("タスクをキャンセル中...")
response = ImageGeneration.cancel(task=task, api_key=api_key)
if response.status_code == HTTPStatus.OK:
print("タスクが正常にキャンセルされました:", response.output.task_status)
else:
print(f"タスクのキャンセルに失敗しました: {response.code} - {response.message}")
# メイン実行フロー
if __name__ == "__main__":
task = create_async_task()
wait_for_completion(task)
レスポンス例
1. タスク作成レスポンス例
{
"status_code": 200,
"request_id": "4fb3050f-de57-4a24-84ff-e37ee5xxxxxx",
"code": "",
"message": "",
"output": {
"text": null,
"finish_reason": null,
"choices": null,
"audio": null,
"task_id": "127ec645-118f-4884-955d-0eba8dxxxxxx",
"task_status": "PENDING"
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"characters": 0
}
}2. タスク結果クエリレスポンス例
URL は24時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "b2a7fab4-5e00-4b0a-86fe-8b9964xxxxxx",
"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": "127ec645-118f-4884-955d-0eba8xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-01-09 17:52:04.136",
"scheduled_time": "2026-01-09 17:52:04.164",
"end_time": "2026-01-09 17:52:25.408",
"finished": true
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"characters": 0,
"size": "1376*768",
"total_tokens": 0,
"image_count": 1
}
}テキストと画像のインターリーブ出力
同期 (ストリーミングのみ)
リクエスト例
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message
# シンガポールリージョンの URL。Base URL はリージョンごとに異なります。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# 環境変数が設定されていない場合は、次の行を api_key="sk-xxx" に置き換えてください
# API キーはリージョンごとに異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
def sync_call_with_stream():
print("\n========== 同期呼び出し - ストリーミングテキスト・画像出力 ==========")
image_message = Message(
role="user",
content=[
{
"text": "豚肉と唐辛子の炒め物のチュートリアルを3枚の画像で教えてください"
}
]
)
image_stream_res = ImageGeneration.call(
model="wan2.6-image",
api_key=api_key,
messages=[image_message],
stream=True, # ストリーミングのみ
negative_prompt="",
enable_interleave=True,
max_images=3,
size="1280*1280"
)
print("ストリーミング出力結果:")
for stream_res in image_stream_res:
print(stream_res)
if __name__ == "__main__":
sync_call_with_stream()レスポンス例
URL は24時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{"status_code": 200, "request_id": "5b98e8f3-aeff-4c20-a26c-499a7525axxx", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": [{"type": "text", "text": "Chili"}]}}], "audio": null, "finished": false}, "usage": {"input_tokens": 28, "output_tokens": 0, "characters": 0, "total_tokens": 28, "image_count": 0, "size": "0*0"}}
{"status_code": 200, "request_id": "5b98e8f3-aeff-4c20-a26c-499a7525axxx", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": [{"type": "text", "text": "Stir-fry"}]}}], "audio": null, "finished": false}, "usage": {"input_tokens": 28, "output_tokens": 1, "characters": 0, "total_tokens": 29, "image_count": 0, "size": "0*0"}}
{"status_code": 200, "request_id": "5b98e8f3-aeff-4c20-a26c-499a7525axxx", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": [{"type": "text", "text": "Pork"}]}}], "audio": null, "finished": false}, "usage": {"input_tokens": 28, "output_tokens": 2, "characters": 0, "total_tokens": 30, "image_count": 0, "size": "0*0"}}
......
{"status_code": 200, "request_id": "5b98e8f3-aeff-4c20-a26c-499a7525axxx", "code": "", "message": "", "output": {"text": null, "finish_reason": null, "choices": [{"finish_reason": "null", "message": {"role": "assistant", "content": [{"type": "text", "text": "."}]}}], "audio": null, "finished": false}, "usage": {"input_tokens": 28, "output_tokens": 398, "characters": 0, "total_tokens": 426, "image_count": 2, "size": "1280*1280"}}
{"status_code": 200, "request_id": "5b98e8f3-aeff-4c20-a26c-499a7525axxx", "code": "", "message": "", "output": {"text": null, "finish_reason": "stop", "choices": [{"finish_reason": "stop", "message": {"role": "assistant", "content": [{"type": "image", "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx"}]}}], "audio": null, "finished": true}, "usage": {"input_tokens": 28, "output_tokens": 523, "characters": 0, "total_tokens": 551, "image_count": 3, "size": "1280*1280"}}非同期
リクエスト例
注:非同期呼び出しでは stream パラメーターは不要です
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message
from http import HTTPStatus
# シンガポールリージョンの URL。Base URL はリージョンごとに異なります。
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# 環境変数が設定されていない場合は、次の行を api_key="sk-xxx" に置き換えてください
# API キーはリージョンごとに異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
def main():
"""非同期呼び出し - テキスト・画像出力"""
print("========== wan2.6-image 非同期呼び出し - テキスト・画像出力 ==========")
image_message = Message(
role="user",
content=[
{
"text": "豚肉と唐辛子の炒め物のチュートリアルを3枚の画像で教えてください"
}
]
)
# 非同期タスクの作成
print("---非同期呼び出し、タスクを作成中----")
response = ImageGeneration.async_call(
model="wan2.6-image",
api_key=api_key,
messages=[image_message],
# 非同期呼び出しでは stream パラメーターは不要
negative_prompt="",
enable_interleave=True,
max_images=3,
size="1280*1280"
)
if response.status_code == HTTPStatus.OK:
print(f"タスクが正常に作成されました:")
print(response)
# タスク完了を待機
print("\n---タスクの完了を待機中----")
status = ImageGeneration.wait(task=response, api_key=api_key)
if status.output.task_status == "SUCCEEDED":
print("タスクが完了しました!")
print(f"結果:")
print(status)
else:
print(f"タスクが失敗しました、ステータス: {status.output.task_status}")
else:
print(f"タスクの作成に失敗しました: {response.code} - {response.message}")
if __name__ == "__main__":
try:
main()
except Exception as e:
print(f"実行エラー: {str(e)}")
import traceback
traceback.print_exc()
レスポンス例
1. タスク作成レスポンス例
{
"status_code": 200,
"request_id": "4fb3050f-de57-4a24-84ff-e37ee5xxxxxx",
"code": "",
"message": "",
"output": {
"text": null,
"finish_reason": null,
"choices": null,
"audio": null,
"task_id": "5c67585e-a3be-4943-b04d-c3fbb2xxxxxx",
"task_status": "PENDING"
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"characters": 0
}
}2. タスク結果クエリレスポンス例
URL は24時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "997a759b-fbb9-4b35-9a4d-6dab1xxxxxx",
"code": null,
"message": "",
"output": {
"text": null,
"finish_reason": null,
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": [
{
"text": "豚肉と唐辛子の炒め物は、湖南料理の定番であり、多くの人々に愛される家庭料理の代表格です。新鮮な辛さと柔らかい肉の食感が特徴で、調理はシンプルながらも格別な味わいを提供します。今日は、この料理の作り方を学びましょう。\n\nまず、すべての材料を準備することが成功の鍵です。新鮮な豚肉、赤と緑の唐辛子、ニンニク、ショウガのスライスが不可欠です。豚肉は薄切りにし、唐辛子は小口切りに、ニンニクとショウガはみじん切りにします。",
"type": "text"
},
{
"image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
"type": "image"
},
{
"text": "次に、重要な炒める工程です。中華鍋に油を熱し、強火で加熱します。みじん切りにしたニンニクとショウガを加えて香りを出し、次に豚肉のスライスを加えます。豚肉の色が変わるまで素早く炒めます。香りが立ったら、唐辛子を加えて炒め続け、唐辛子の香りを十分に引き出し、豚肉の柔らかさと完璧に調和させます。",
"type": "text"
},
{
"image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
"type": "image"
},
{
"text": "最後に、薄口醤油、濃口醤油、オイスターソース、そしてひとつまみの砂糖で味付けします。均一に絡むまで素早く炒めます。ソースが少しとろみがつくまで調理し、火を止めて盛り付けます。美味しくて香り高い豚肉と唐辛子の炒め物の完成です!",
"type": "text"
},
{
"image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
"type": "image"
}
]
}
}
],
"audio": null,
"task_id": "5c67585e-a3be-4943-b04d-c3fbb2xxxxxx",
"task_status": "SUCCEEDED",
"submit_time": "2026-01-16 17:47:39.469",
"scheduled_time": "2026-01-16 17:47:39.804",
"end_time": "2026-01-16 17:49:46.736",
"finished": true
},
"usage": {
"input_tokens": 29,
"output_tokens": 477,
"characters": 0,
"size": "1280*1280",
"total_tokens": 506,
"image_count": 3
}
}DashScope Java SDK
SDK のパラメーター名は HTTP インターフェイスと一致しています。パラメーター構造は、言語の特性に応じてカプセル化されています。
タスクの所要時間が長いため、SDK は内部で HTTP 非同期呼び出しをカプセル化し、同期呼び出しと非同期呼び出しの両方をサポートしています。
実際の所要時間は、キューの長さとサービスの実行状況によって異なります。結果を取得する際は、しばらくお待ちください。
以下のコードを実行する前に、DashScope Java SDK のバージョンが少なくとも 2.22.6 であることを確認してください。
base_url と API キーはリージョン間で相互に交換できません。以下の例は、シンガポールリージョンで 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.Arrays;
import java.util.Collections;
/**
* wan2.6-image 画像編集 - 同期呼び出しの例
*/
public class Main {
static {
// シンガポールリージョンの URL。Base URL はリージョンごとに異なります。
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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(Arrays.asList(
// 複数画像の入力をサポート。複数の参照画像を提供
Collections.singletonMap("text", "画像1のスタイルと画像2の背景に基づいて、トマトと卵の炒め物を生成してください"),
Collections.singletonMap("image", "https://cdn.wanx.aliyuncs.com/tmp/pressure/umbrella1.png"),
Collections.singletonMap("image", "https://img.alicdn.com/imgextra/i3/O1CN01SfG4J41UYn9WNt4X1_!!6000000002530-49-tps-1696-960.webp")
)).build();
// 画像編集は標準の同期呼び出しを使用。stream や enable_interleave の設定は不要
ImageGenerationParam param = ImageGenerationParam.builder()
.apiKey(apiKey)
.model("wan2.6-image")
.messages(Collections.singletonList(message))
.n(1)
.size("1K")
.negativePrompt("")
.promptExtend(true)
.build();
ImageGeneration imageGeneration = new ImageGeneration();
ImageGenerationResult result = null;
try {
System.out.println("---画像編集の同期呼び出し、しばらくお待ちください----");
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時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"requestId": "b148327e-830f-414c-a8df-724dec28exxx",
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"total_tokens": 0,
"image_count": 1,
"size": "1376*768"
},
"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
},
"status_code": 200,
"code": "",
"message": ""
}非同期
リクエスト例
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.Arrays;
import java.util.Collections;
/**
* wan2.6-image 画像編集 - 非同期呼び出しの例
*/
public class Main {
static {
// シンガポールリージョンの URL。Base URL はリージョンごとに異なります。
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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(Arrays.asList(
// 複数画像の入力をサポート。複数の参照画像を提供
Collections.singletonMap("text", "画像1のスタイルと画像2の背景に基づいて、トマトと卵の炒め物を生成してください"),
Collections.singletonMap("image", "https://cdn.wanx.aliyuncs.com/tmp/pressure/umbrella1.png"),
Collections.singletonMap("image", "https://img.alicdn.com/imgextra/i3/O1CN01SfG4J41UYn9WNt4X1_!!6000000002530-49-tps-1696-960.webp")
)).build();
ImageGenerationParam param = ImageGenerationParam.builder()
.apiKey(apiKey)
.model("wan2.6-image")
.n(1)
.size("1K")
.negativePrompt("")
.promptExtend(true)
.messages(Arrays.asList(message))
.build();
ImageGeneration imageGeneration = new ImageGeneration();
ImageGenerationResult result = null;
try {
System.out.println("---画像編集の非同期呼び出し、タスクを作成中----");
result = imageGeneration.asyncCall(param);
} catch (ApiException | NoApiKeyException | UploadFileException e) {
throw new RuntimeException(e.getMessage());
}
System.out.println("タスク作成結果:");
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();
System.out.println("\n---タスクの完了を待機中----");
ImageGenerationResult result = imageGeneration.wait(taskId, apiKey);
System.out.println("タスク完了結果:");
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-1694cf928xxx",
"code": "",
"message": "",
"output": {
"task_id": "4c861fbe-af89-4a2f-8fc5-4bb15c313xxx",
"task_status": "PENDING"
},
"usage": null
}2. タスク結果クエリレスポンス例
URL は24時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "cbdf1424-306e-4a52-82f3-8bf5d8a99xxx",
"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": "1376*768",
"total_tokens": 0,
"image_count": 1
}
}テキストと画像のインターリーブ出力
同期呼び出し (ストリーミングのみ)
リクエスト例
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 io.reactivex.Flowable;
import java.util.Collections;
/**
* wan2.6-image テキスト・画像出力 - ストリーミング呼び出しの例
*/
public class Main {
static {
// シンガポールリージョンの URL。Base URL はリージョンごとに異なります。
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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 streamCall() throws ApiException, NoApiKeyException, UploadFileException {
ImageGenerationMessage message = ImageGenerationMessage.builder()
.role("user")
.content(Collections.singletonList(
Collections.singletonMap("text", "豚肉と唐辛子の炒め物のチュートリアルを3枚の画像で教えてください")
)).build();
// テキスト・画像出力にはストリーミング呼び出しが必要
ImageGenerationParam param = ImageGenerationParam.builder()
.apiKey(apiKey)
.model("wan2.6-image")
.messages(Collections.singletonList(message))
.stream(true) // ストリーミング出力を有効にする必要があります
.enableInterleave(true)
.size("1280*1280")
.negativePrompt("")
.maxImages(3)
.build();
ImageGeneration imageGeneration = new ImageGeneration();
try {
System.out.println("---画像インターリーブのストリーム呼び出し----");
Flowable<ImageGenerationResult> resultFlowable = imageGeneration.streamCall(param);
resultFlowable.blockingForEach(result -> {
System.out.println(JsonUtils.toJson(result));
});
} catch (ApiException | NoApiKeyException | UploadFileException e) {
throw new RuntimeException(e.getMessage());
}
}
public static void main(String[] args) {
try {
streamCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
レスポンス例
URL は24時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":0,"total_tokens":28,"image_count":0,"size":"0*0"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"Chili"}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":1,"total_tokens":29,"image_count":0,"size":"0*0"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"stir-fry"}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":2,"total_tokens":30,"image_count":0,"size":"0*0"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"pork"}]}}],"finished":false},"status_code":200,"code":"","message":""}
......
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":73,"total_tokens":101,"image_count":0,"size":"0*0"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"."}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":198,"total_tokens":226,"image_count":1,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"image","image":"https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx"}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":199,"total_tokens":227,"image_count":1,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"Next"}]}}],"finished":false},"status_code":200,"code":"","message":""}
......
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":245,"total_tokens":273,"image_count":1,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"."}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":368,"total_tokens":396,"image_count":2,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"image","image":"https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx"}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":369,"total_tokens":397,"image_count":2,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"Finally"}]}}],"finished":false},"status_code":200,"code":"","message":""}
......
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":416,"total_tokens":444,"image_count":2,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"pot"}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":417,"total_tokens":445,"image_count":2,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"null","message":{"role":"assistant","content":[{"type":"text","text":"."}]}}],"finished":false},"status_code":200,"code":"","message":""}
{"requestId":"12c7432c-8028-4289-a97c-4e22df98bxxx","usage":{"input_tokens":28,"output_tokens":541,"total_tokens":569,"image_count":3,"size":"1280*1280"},"output":{"choices":[{"finish_reason":"stop","message":{"role":"assistant","content":[{"type":"image","image":"https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx"}]}}],"finished":true},"status_code":200,"code":"","message":""}非同期呼び出し
リクエスト例
注:非同期呼び出しでは stream パラメーターは不要です
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;
/**
* wan2.6-image テキスト・画像出力 - 非同期呼び出しの例
*/
public class Main {
static {
// シンガポールリージョンの URL。Base URL はリージョンごとに異なります。
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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", "豚肉と唐辛子の炒め物のチュートリアルを3枚の画像で教えてください")
)).build();
ImageGenerationParam param = ImageGenerationParam.builder()
.apiKey(apiKey)
.model("wan2.6-image")
.size("1280*1280")
.enableInterleave(true)
.maxImages(3)
.negativePrompt("")
.messages(Collections.singletonList(message))
.build();
ImageGeneration imageGeneration = new ImageGeneration();
ImageGenerationResult result = null;
try {
System.out.println("---画像インターリーブの非同期呼び出し、タスクを作成中----");
result = imageGeneration.asyncCall(param);
} catch (ApiException | NoApiKeyException | UploadFileException e) {
throw new RuntimeException(e.getMessage());
}
System.out.println("タスク作成結果:");
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();
System.out.println("\n---タスクの完了を待機中----");
ImageGenerationResult result = imageGeneration.wait(taskId, apiKey);
System.out.println("タスク完了結果:");
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. タスク作成レスポンス例
{
"requestId": "7d6c5760-334b-48c4-9b1e-08ee9c7fexxx",
"output": {
"task_id": "1bb9d9fa-bf1a-43dc-b5fe-366c1dc70xxx",
"task_status": "PENDING"
},
"status_code": 200,
"code": "",
"message": ""
}2. タスク結果クエリレスポンス例
URL は24時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"requestId": "6ed62b00-2225-4fc3-8ee3-2aed0b484xxx",
"usage": {
"input_tokens": 29,
"output_tokens": 471,
"total_tokens": 500,
"image_count": 3,
"size": "1280*1280"
},
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": [
{
"text": "豚肉と唐辛子の炒め物は、湖南料理の定番であり、多くの人々に愛される家庭料理の代表格です。新鮮な辛さと柔らかい肉の食感が特徴で、調理はシンプルながらも格別な味わいを提供します。今日は、この料理の作り方を学びましょう。\n\nまず、すべての材料を準備することが成功の鍵です。新鮮な豚肉、赤と緑の唐辛子、ニンニク、ショウガのスライスが不可欠です。豚肉は薄切りにし、唐辛子は小口切りに、ニンニクとショウガはみじん切りにします。",
"type": "text"
},
{
"image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
"type": "image"
},
{
"text": "次に、豚肉をマリネします。薄切りにした豚肉をボウルに入れ、少量の薄口醤油、料理酒、片栗粉、食用油を加えます。手でよく混ぜ合わせ、10〜15分間マリネします。この処理により、豚肉のスライスがより柔らかく風味豊かになります。",
"type": "text"
},
{
"image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
"type": "image"
},
{
"text": "最後に、中華鍋に油を熱し、強火で加熱します。マリネした豚肉のスライスを加え、色が変わるまで素早く炒めた後、取り出して脇に置きます。中華鍋に油を少し残し、みじん切りにしたニンニクとショウガを加えて香りを出し、次に唐辛子を加えて香りが立つまで炒めます。豚肉を戻し入れ、薄口醤油、濃口醤油、ひとつまみの砂糖、オイスターソースで味付けします。均一に絡むまで素早く炒め、刻んだネギを散らして完成です。",
"type": "text"
},
{
"image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
"type": "image"
}
]
}
}
],
"task_id": "1bb9d9fa-bf1a-43dc-b5fe-366c1dc70836",
"task_status": "SUCCEEDED",
"finished": true,
"submit_time": "2026-01-16 18:26:32.082",
"scheduled_time": "2026-01-16 18:26:32.133",
"end_time": "2026-01-16 18:28:41.748"
},
"status_code": 200,
"code": "",
"message": ""
}制限事項
データ有効期間:
task_idと画像のurlは24時間のみ保持されます。この期間を過ぎると、クエリやダウンロードはできなくなります。コンテンツモデレーション:入力の
promptと出力画像は、どちらもコンテンツモデレーションの対象となります。禁止されたコンテンツを含むリクエストは、IPInfringementSuspectまたはDataInspectionFailedエラーになります。詳細については、エラーコードをご参照ください。
課金とレート制限
モデルの無料クォータと料金については、モデルの料金をご参照ください。
モデルのレート制限については、Wanをご参照ください。
課金の詳細:料金は正常に生成された画像の数に基づきます。失敗した、またはエラーが発生した呼び出しには料金は発生せず、新規ユーザー無料クォータも消費されません。
エラーコード
モデルの呼び出しが失敗し、エラーメッセージが返された場合は、エラーメッセージを参照して解決してください。
よくある質問
Q:推論コストと使用状況はどのように確認できますか?
A:請求クエリとコスト管理をご参照ください。
Q:コード例を実行できないのはなぜですか?
A:SDK を最新バージョンにアップグレードしてください。アップデートについては、SDK のインストールをご参照ください。