Wan2.6 は、複数画像の入力、画像編集、テキストと画像のインターリーブ出力をサポートします。
モデル概要
モデル | 説明 | 出力画像の仕様 |
|---|---|---|
wan2.6-image | 画像を編集し、テキストと画像のインターリーブ出力を生成します。 | 画像フォーマット:PNG 画像の解像度とディメンションは size パラメーター を通じて設定されます。 |
注記API を呼び出す前に、各リージョンでサポートされているモデルリストと料金を確認してください。
前提条件
API キーを取得し、API キーを環境変数としてエクスポートします。
重要シンガポール、米国 (バージニア)、中国 (北京) リージョンには、それぞれ個別の API キーとリクエストエンドポイントがあります。これらは相互に利用することはできません。リージョンをまたいだ呼び出しは、認証失敗やサービスエラーにつながります。詳細については、「リージョンとサービスデプロイ範囲の選択」をご参照ください。
HTTP 同期
1 回のリクエストで結果を返します。ほとんどのシナリオで推奨されます。
シンガポール
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
呼び出す際、{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
米国 (バージニア)
POST https://{WorkspaceId}.us-east-1.maas.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 に置き換えます。
グローバルデプロイメント範囲 (フランクフルトリージョン) は非同期呼び出しのみをサポートします。
リクエストパラメーター | 画像編集テキストと画像のインターリーブ出力 (ストリーミングのみ)テキストと画像のインターリーブ出力 (
|
リクエストヘッダー | |
Content-Type リクエストのコンテンツタイプ。 | |
Authorization Model Studio API キーでリクエストを認証します。例:Bearer sk-xxxx。 | |
X-DashScope-SSE ストリーミング出力を有効にします。
| |
リクエストボディ | |
model モデル名。wan2.6-image に設定します。 | |
input 入力設定。 | |
parameters 生成パラメーター。 |
レスポンスパラメーター | タスク実行成功タスクデータ (タスクステータスと画像 URL) は 24 時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスク実行成功 (ストリーミング出力)タスクデータ (タスクステータスと画像 URL) は 24 時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスク実行失敗タスクが失敗した場合、エラー情報が返されます。code と message フィールドを使用して原因を特定してください。トラブルシューティングについては、「エラーコード」をご参照ください。 |
output タスクの出力。 | |
usage 出力統計。成功した結果のみをカウントします。 | |
request_id トレースとトラブルシューティングのためのユニークなリクエスト識別子。 | |
code エラーコード。失敗したリクエストに対してのみ返されます。「エラーコード」をご参照ください。 | |
message 詳細なエラーメッセージ。失敗したリクエストに対してのみ返されます。「エラーコード」をご参照ください。 |
HTTP 非同期
プロセス:タスクの作成 → 結果のポーリング
ステップ 1:タスクを作成してタスク ID を取得
シンガポール
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation
呼び出す際は、{WorkspaceId} を実際のワークスペース IDに置き換えてください。
米国 (バージニア)
POST https://{WorkspaceId}.us-east-1.maas.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 を呼び出す」をご参照ください。
リクエストパラメーター | |
リクエストヘッダー | |
Content-Type リクエストのコンテンツタイプは | |
Authorization Model Studio API キーでリクエストを認証します。例:Bearer sk-xxxx。 | |
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://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
呼び出し時、{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
米国 (バージニア)
GET https://{WorkspaceId}.us-east-1.maas.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 が返されます。画像をダウンロードして、OSS などの永続ストレージに保存してください。
リクエストパラメーター | タスク結果のクエリ
|
リクエストヘッダー | |
Authorization Model Studio API キーでリクエストを認証します。例:Bearer sk-xxxx。 | |
URL パスパラメーター | |
task_id タスクの ID。 |
レスポンスパラメーター | タスク実行成功タスクデータ (タスクステータスと画像 URL) は 24 時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスク実行失敗タスクが失敗した場合、エラー情報が返されます。code と message フィールドを使用して原因を特定してください。トラブルシューティングについては、「エラーコード」をご参照ください。 |
output タスクの出力情報。 | |
usage 出力統計。成功した結果のみをカウントします。 | |
request_id トレースとトラブルシューティングのためのユニークなリクエスト識別子。 | |
code エラーコード。失敗したリクエストに対してのみ返されます。「エラーコード」をご参照ください。 | |
message 詳細なエラーメッセージ。失敗したリクエストに対してのみ返されます。「エラーコード」をご参照ください。 |
DashScope Python SDK
SDK パラメーターは HTTP インターフェイスと一致しており、言語の規則に従って適応されています。
SDK は内部で非同期呼び出しを処理し、同期呼び出しと非同期呼び出しの両方をサポートします。
実際の持続時間は、キューの長さとサービスの負荷によって異なります。
重要DashScope Python SDK バージョン 1.25.8 以降が必要です。SDK のインストール。
base_url と API キーは、リージョンごとに異なります。シンガポールリージョンからの呼び出し例:
シンガポール
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1
呼び出し時、{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
米国 (バージニア)
https://{WorkspaceId}.us-east-1.maas.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。ベース URL はリージョンによって異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 環境変数が設定されていない場合は、次の行を 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",
# ローカルファイルをサポートします。例:"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
}
}
出力統計は、output と同じレベルのトップレベル usage フィールドで返され、response.usage["image_count"] のように読み取ります。output オブジェクトは統計情報を含まないため、response.output.usage は {} として返され、image_count を含みません。
非同期
リクエスト例
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。ベース URL はリージョンによって異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 環境変数が設定されていない場合は、次の行を 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("非同期タスクを作成中...")
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)
レスポンス例
- タスク作成レスポンス例
{
"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
}
}
-
タスク結果クエリレスポンス例
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
}
}
出力統計は、output と同じレベルにあるトップレベルの usage フィールドで返されます。response.usage["image_count"] のようにして読み取ります。非同期タスクの結果の output オブジェクトには統計は含まれません。response.output.usage は {} として返され、image_count は含まれません。
テキストと画像のインターリーブ出力
同期 (ストリーミングのみ)
リクエスト例
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message
# シンガポールリージョンの URL。ベース URL はリージョンによって異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 環境変数が設定されていない場合は、次の行を 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 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。ベース URL はリージョンによって異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
# 環境変数が設定されていない場合は、次の行を 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 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()
レスポンス例
- タスク作成レスポンス例
{
"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
}
}
-
タスク結果クエリレスポンス例
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
}
}
出力統計は、output と同じレベルのトップレベル usage フィールドで返されます。これらは response.usage["image_count"] として読み取ることができます。ここで、image_count はタスクによって生成されたイメージの総数です。output オブジェクトには統計は含まれません。response.output.usage は {} として返され、image_count は含まれません。
DashScope Java SDK
SDK パラメーターは HTTP インターフェイスと一致しており、言語の規則に従ってカプセル化されています。
SDK は内部で非同期呼び出しを処理し、同期呼び出しと非同期呼び出しの両方をサポートします。
実際の持続時間は、キューの長さとサービスの負荷によって異なります。
重要DashScope Java SDK バージョン 2.22.6 以降が必要です。
base_url と API キーはリージョン間で互換性がなく、シンガポールリージョンでの例は次のとおりです。
シンガポール
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1
呼び出す際、{WorkspaceId} を実際のワークスペース ID に置き換えてください。
米国 (バージニア)
https://{WorkspaceId}.us-east-1.maas.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.Arrays;
import java.util.Collections;
/**
* wan2.6-image 画像編集 - 同期呼び出し例
*/
public class Main {
static {
// シンガポールリージョンの URL。ベース URL はリージョンによって異なります。
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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(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。ベース URL はリージョンによって異なります。
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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(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());
}
}
}
レスポンス例
- タスク作成レスポンス例
{
"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
}
-
タスク結果クエリレスポンス例
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。ベース URL はリージョンによって異なります。
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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 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。ベース URL はリージョンによって異なります。
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// 環境変数が設定されていない場合は、次の行を 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", "ピーマンと豚肉の炒め物の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());
}
}
}
レスポンス例
- タスク作成レスポンス例
{
"requestId": "7d6c5760-334b-48c4-9b1e-08ee9c7fexxx",
"output": {
"task_id": "1bb9d9fa-bf1a-43dc-b5fe-366c1dc70xxx",
"task_status": "PENDING"
},
"status_code": 200,
"code": "",
"message": ""
}
-
タスク結果クエリレスポンス例
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 のインストール。