Qwen-Image は、複数のアートスタイルをサポートし、複雑なテキストレンダリングに優れた汎用画像生成モデルです。このモデルは、複数行のレイアウト、段落レベルのテキスト生成、および詳細なディテールレンダリングをサポートしています。
クイックアクセス: ユーザーガイド | オンラインで試す (シンガポール | 北京) | 技術ブログ (その他の例) |
例
プロンプト | 生成された画像 |
緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。 |
|
モデル概要
モデル | 説明 | 出力画像の仕様 |
qwen-image-2.0-pro qwen-image-2.0-pro-2026-03-03 と同じ機能 | 画像生成および編集用の Qwen Pro シリーズ。より強力なテキストレンダリング、リアルな質感、およびセマンティックな忠実性を提供します。 画像編集については、「Qwen-Image 編集」をご参照ください。 | 解像度:幅と高さを自由に設定できます。総ピクセル数は 512*512 から 2048*2048 の間である必要があります。デフォルトの解像度は 2048*2048 です。 フォーマット:PNG 画像数:1~6 |
qwen-image-2.0-pro-2026-03-03 | ||
qwen-image-2.0 qwen-image-2.0-2026-03-03 と同じ機能 | 画像生成および編集用の Qwen 高速化シリーズ。品質と応答速度のバランスが取れています。 画像編集については、「Qwen-Image 編集」をご参照ください。 | |
qwen-image-2.0-2026-03-03 | ||
qwen-image-max qwen-image-max-2025-12-30 と同じ機能 | 画像生成用の Qwen Max シリーズ。より高いリアリズムと自然さを実現し、AI 生成のアーティファクトが少なくなります。 | 解像度:サポートされている解像度と縦横比については、「size パラメーター設定」をご参照ください。 フォーマット:PNG 画像数:1 に固定 |
qwen-image-max-2025-12-30 | ||
qwen-image-plus qwen-image と同じ機能 | 画像生成用の Qwen Plus シリーズ。多様なアートスタイルとテキストレンダリングに優れています。 | |
qwen-image-plus-2026-01-09 | ||
qwen-image |
qwen-image-plus と qwen-image のみが非同期呼び出しをサポートしています。
API を呼び出す前に、ご利用のリージョンでサポートされているモデルのリストを確認してください。
前提条件
呼び出しを行う前に、API キーを取得し、API キーを環境変数としてエクスポートしてください。SDK を使用して呼び出しを行うには、DashScope SDK をインストールします。
北京リージョンとシンガポールリージョンには、それぞれ別の API キーとリクエストエンドポイントがあります。これらを相互に使用しないでください。リージョンをまたいだ呼び出しは、認証の失敗やサービスエラーを引き起こします。
同期 API (推奨)
HTTP
Qwen-Image は同期呼び出しをサポートしており、1 回のリクエストで結果を返します。
シンガポール:POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
北京:POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
リクエストパラメーター | Text-to-Image |
リクエストヘッダー | |
Content-Type リクエストのコンテンツタイプ。値は | |
Authorization Model Studio API キーを使用した認証情報。 例: | |
リクエストボディ | |
model モデル名。例: | |
input 入力情報。 | |
parameters 画像処理パラメーター。 |
レスポンスパラメーター | タスク成功画像の URL は 24 時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスク失敗タスクが失敗した場合、レスポンスには code および message フィールドにエラーの詳細が含まれます。「エラーメッセージ」をご参照ください。 |
output タスクの出力情報。 | |
usage 出力統計。成功した結果のみをカウントします。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 | |
code エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。 | |
message 詳細なエラーメッセージ。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。 |
DashScope SDK 呼び出し
DashScope SDK は Python と Java をサポートしています。
SDK のパラメーター名は HTTP パラメーターとほぼ一致しており、パラメーター構造は言語固有の規則に従います。同期呼び出しのパラメーターについては、「HTTP」をご参照ください。
Python
最新の DashScope Python SDK をインストールする必要があります。そうしないと、実行時エラーが発生する可能性があります:「SDK のインストール」。
リクエスト例
import json
import os
import dashscope
from dashscope import MultiModalConversation
# シンガポールリージョンにはこの URL を使用します。北京リージョンの場合は、https://dashscope.aliyuncs.com/api/v1 に置き換えてください
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": [
{"text": "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。"}
]
}
]
# API キーは北京リージョンとシンガポールリージョンで異なります。API キーを取得してください:https://www.alibabacloud.com/help/model-studio/get-api-key
# 環境変数を設定していない場合は、以下の行を api_key="sk-xxx" に置き換えてください
api_key = os.getenv("DASHSCOPE_API_KEY")
response = MultiModalConversation.call(
api_key=api_key,
model="qwen-image-2.0-pro",
messages=messages,
result_format='message',
stream=False,
watermark=False,
prompt_extend=True,
negative_prompt="低解像度、低品質、歪んだ手足、奇形の指、彩度が高すぎる色、蝋人形のような外観、顔のディテールの欠如、過度の滑らかさ、AI のようなアーティファクト、混沌とした構図、ぼやけたまたは歪んだテキスト。",
size='2048*2048'
)
if response.status_code == 200:
print(json.dumps(response, ensure_ascii=False))
else:
print(f"HTTP ステータスコード:{response.status_code}")
print(f"エラーコード:{response.code}")
print(f"エラーメッセージ:{response.message}")
print("ドキュメントをご参照ください:https://www.alibabacloud.com/help/model-studio/error-code")
レスポンス例
画像の URL は 24 時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "d2d1a8c0-325f-9b9d-8b90-xxxxxx",
"code": "",
"message": "",
"output": {
"text": null,
"finish_reason": null,
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": [
{
"image": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png?Expires=xxx"
}
]
}
}
]
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"width": 2048,
"image_count": 1,
"height": 2048
}
}Java
最新の DashScope Java SDK をインストールする必要があります。そうしないと、実行時エラーが発生する可能性があります:「SDK のインストール」。
リクエスト例
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class QwenImage {
static {
// シンガポールリージョンにはこの URL を使用します。北京リージョンの場合は、https://dashscope.aliyuncs.com/api/v1 に置き換えてください
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
}
// API キーは北京リージョンとシンガポールリージョンで異なります。API キーを取得してください:https://www.alibabacloud.com/help/model-studio/get-api-key
// 環境変数を設定していない場合は、以下の行を static String apiKey="sk-xxx" に置き換えてください
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void call() throws ApiException, NoApiKeyException, UploadFileException, IOException {
MultiModalConversation conv = new MultiModalConversation();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
Collections.singletonMap("text", "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。")
)).build();
Map<String, Object> parameters = new HashMap<>();
parameters.put("watermark", false);
parameters.put("prompt_extend", true);
parameters.put("negative_prompt", "低解像度、低品質、歪んだ手足、奇形の指、彩度が高すぎる色、蝋人形のような外観、顔のディテールの欠如、過度の滑らかさ、AI のようなアーティファクト、混沌とした構図、ぼやけたまたは歪んだテキスト。");
parameters.put("size", "2048*2048");
MultiModalConversationParam param = MultiModalConversationParam.builder()
.apiKey(apiKey)
.model("qwen-image-2.0-pro")
.messages(Collections.singletonList(userMessage))
.parameters(parameters)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
call();
} catch (ApiException | NoApiKeyException | UploadFileException | IOException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
レスポンス例
画像の URL は 24 時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"requestId": "5b6f2d04-b019-40db-a5cc-xxxxxx",
"usage": {
"image_count": 1,
"width": 2048,
"height": 2048
},
"output": {
"choices": [
{
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": [
{
"image": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png?Expires=xxx"
}
]
}
}
]
}
}非同期 API
qwen-image-plus と qwen-image のみが非同期呼び出しをサポートしています。
HTTP
Qwen-Image は非同期呼び出しもサポートしています。HTTP ワークフローには 2 つのステップがあります:
タスクを作成してタスク ID を取得する:リクエストを送信してタスクを作成します。レスポンスはタスク ID (task_id) を返します。
タスク ID を使用して結果をポーリングする:task_id を使用してタスクのステータスをポーリングし、完了して画像 URL が返されるまで待ちます。
ステップ 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 時間有効です。重複したタスクを作成しないでください。代わりに、ポーリングを使用して結果を取得してください。初心者向けのチュートリアルについては、「Postman または cURL を使用した画像および動画生成 API の呼び出し」をご参照ください。
リクエストパラメーター | Text-to-Image
|
リクエストヘッダー | |
Content-Type リクエストのコンテンツタイプ。 | |
Authorization Model Studio API キーを使用した認証情報。 例: | |
X-DashScope-Async 非同期処理を有効にします。HTTP リクエストは非同期処理のみをサポートしているため、値は 重要 含まれていない場合、「current user api does not support synchronous calls」というエラーが返されます。 | |
リクエストボディ | |
model モデル名。 例: | |
input 入力情報。 | |
parameters 画像処理パラメーター。 |
レスポンスパラメーター | 成功したレスポンス
エラーレスポンスタスクの作成に失敗しました。問題を解決するには、「エラーコード」をご参照ください。 |
output タスクの出力情報。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 | |
code エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。 | |
message 詳細なエラーメッセージ。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。 |
ステップ 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) などの永続的なストレージサービスに保存する必要があります。
リクエストパラメーター | タスク結果のポーリング
|
リクエストヘッダー | |
Authorization Model Studio API キーを使用した認証情報。 例: | |
URL パスパラメーター | |
task_id クエリするタスクの ID。 |
レスポンスパラメーター | タスク成功タスクデータ (タスクステータスと画像 URL) は 24 時間のみ保持され、その後自動的にパージされます。生成された画像は速やかに保存してください。 タスク失敗タスクが失敗すると、 |
output タスクの出力情報。 | |
usage 出力統計。成功した結果のみをカウントします。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 |
DashScope SDK
DashScope SDK は Python と Java をサポートしています。
SDK のパラメーター名は、対応する HTTP パラメーターとほぼ一致しています。パラメーター構造は、言語固有の規則に従います。非同期呼び出しのパラメーターの詳細については、「HTTP」をご参照ください。
画像モデルは処理時間が長いため、基盤となるサービスは非同期実行を使用します。SDK はこれを処理するために 2 つのモードを提供します:
同期呼び出し (ブロッキングモード):SDK はタスクが完了するのを待ち、最終結果を返します。この動作は、標準の同期呼び出しの動作と一致します。
非同期呼び出し (ノンブロッキングモード):呼び出しはすぐにタスク ID を返します。その ID を使用して、タスクのステータスと最終結果をポーリングする必要があります。
Python SDK
最新の DashScope Python SDK をインストールする必要があります。そうしないと、実行時エラーが発生する可能性があります:「SDK のインストール」。
同期
リクエスト例
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 を使用します。北京リージョンの場合は、https://dashscope.aliyuncs.com/api/v1 に置き換えてください
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
prompt = "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。"
# API キーは北京リージョンとシンガポールリージョンで異なります。API キーを取得してください:https://www.alibabacloud.com/help/model-studio/get-api-key
# 環境変数を設定していない場合は、以下の行を api_key="sk-xxx" に置き換えてください
api_key = os.getenv("DASHSCOPE_API_KEY")
print('----同期呼び出し、しばらくお待ちください----')
rsp = ImageSynthesis.call(api_key=api_key,
model="qwen-image-plus", # qwen-image-plus と qwen-image のみが非同期呼び出しをサポート
prompt=prompt,
negative_prompt=" ",
n=1,
size='1664*928',
prompt_extend=True,
watermark=False)
print(f'response: {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(f'同期呼び出しに失敗しました, status_code: {rsp.status_code}, code: {rsp.code}, message: {rsp.message}')
レスポンス例
URL は 24 時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "a47b1a65-7041-4565-9068-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "91093132-475e-43cf-b94e-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxxxxx",
"orig_prompt": "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。",
"actual_prompt": "子供時代にインスパイアされた手描きポスターデザイン:3 匹の遊び好きな子犬が、鮮やかな緑の芝生の上でカラフルなボールと楽しそうに戯れている。舞い飛ぶ鳥やきらめく星など、繊細な装飾要素が全体に散りばめられている。上部中央には、太字の青いカートゥーンスタイルのタイトル「ボールで遊ぼう!」が目立つように配置されている。その真下には、サブタイトル「さあ [腕前を披露して]!」が陽気な緑色の文字で描かれている。子犬の 1 匹の近くにある気まぐれな吹き出しには、「へへ、次は僕の小さな友達を驚かせてやるぞ!」という遊び心のあるテキストが含まれている。下端には、より小さな補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と空色を中心に、明るいピンクと太陽のような黄色のポップな色でアクセントがつけられ、陽気で子供らしい雰囲気を高めている。スタイルは、柔らかい質感、優しい線画、そして気まぐれな物語のような構図で、ノスタルジックな手描きイラストを彷彿とさせる。"
}
],
"submit_time": "2025-09-09 13:39:20.659",
"scheduled_time": "2025-09-09 13:39:20.717",
"end_time": "2025-09-09 13:39:45.233"
},
"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
import time
# シンガポールリージョンにはこの URL を使用します。北京リージョンの場合は、https://dashscope.aliyuncs.com/api/v1 に置き換えてください
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
prompt = "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。"
# API キーは北京リージョンとシンガポールリージョンで異なります。API キーを取得してください:https://www.alibabacloud.com/help/model-studio/get-api-key
# 環境変数を設定していない場合は、以下の行を api_key="sk-xxx" に置き換えてください
api_key = os.getenv("DASHSCOPE_API_KEY")
def async_call():
print('----タスクを作成中----')
task_info = create_async_task()
print('----タスクステータスをポーリング中----')
poll_task_status(task_info)
# 非同期タスクを作成
def create_async_task():
rsp = ImageSynthesis.async_call(api_key=api_key,
model="qwen-image-plus", # qwen-image-plus と qwen-image のみが非同期呼び出しをサポート
prompt=prompt,
negative_prompt=" ",
n=1,
size='1664*928',
prompt_extend=True,
watermark=False)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output)
else:
print(f'タスクの作成に失敗しました, status_code: {rsp.status_code}, code: {rsp.code}, message: {rsp.message}')
return rsp
# 非同期タスクのステータスをポーリング、5 秒ごとにクエリ、最大 1 分間ポーリング
def poll_task_status(task):
start_time = time.time()
timeout = 60 # 1 分のタイムアウト
while True:
# タイムアウトを確認
if time.time() - start_time > timeout:
print('ポーリングがタイムアウトしました (1 分)、タスクは完了していません')
return
# タスクステータスを取得
status_rsp = ImageSynthesis.fetch(task)
print(f'タスクステータスのクエリ結果:{status_rsp}')
if status_rsp.status_code != HTTPStatus.OK:
print(f'タスクステータスの取得に失敗しました, status_code: {status_rsp.status_code}, code: {status_rsp.code}, message: {status_rsp.message}')
return
task_status = status_rsp.output.task_status
print(f'現在のタスクステータス:{task_status}')
if task_status == 'SUCCEEDED':
print('タスクが完了しました、画像をダウンロードしています...')
for result in status_rsp.output.results:
file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
with open(f'./{file_name}', 'wb+') as f:
f.write(requests.get(result.url).content)
print(f'画像は {file_name} として保存されました')
break
elif task_status == 'FAILED':
print(f'タスクの実行に失敗しました, status: {task_status}, code: {status_rsp.code}, message: {status_rsp.message}')
break
elif task_status == 'PENDING' or task_status == 'RUNNING':
print('タスクは進行中です、5 秒後に再度クエリします...')
time.sleep(5)
else:
print(f'不明なタスクステータス:{task_status}、5 秒後に再度クエリします...')
time.sleep(5)
# 非同期タスクをキャンセル、PENDING ステータスのタスクのみキャンセル可能
def cancel_task(task):
rsp = ImageSynthesis.cancel(task)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.task_status)
else:
print(f'タスクのキャンセルに失敗しました, status_code: {rsp.status_code}, code: {rsp.code}, message: {rsp.message}')
if __name__ == '__main__':
async_call()
レスポンス例
1. タスク作成のレスポンス
{
"status_code": 200,
"request_id": "31b04171-011c-96bd-ac00-xxxxxx",
"code": "",
"message": "",
"output": {
"task_id": "4f90cf14-a34e-4eae-xxxxxxxx",
"task_status": "PENDING",
"results": []
},
"usage": null
}2. タスク結果ポーリングのレスポンス
URL は 24 時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "a47b1a65-7041-4565-9068-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "91093132-475e-43cf-b94e-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxxxxx",
"orig_prompt": "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。",
"actual_prompt": "子供時代にインスパイアされた手描きポスターデザイン:3 匹の遊び好きな子犬が、鮮やかな緑の芝生の上でカラフルなボールと楽しそうに戯れている。舞い飛ぶ鳥やきらめく星など、繊細な装飾要素が全体に散りばめられている。上部中央には、太字の青いカートゥーンスタイルのタイトル「ボールで遊ぼう!」が目立つように配置されている。その真下には、サブタイトル「さあ [腕前を披露して]!」が陽気な緑色の文字で描かれている。子犬の 1 匹の近くにある気まぐれな吹き出しには、「へへ、次は僕の小さな友達を驚かせてやるぞ!」という遊び心のあるテキストが含まれている。下端には、より小さな補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と空色を中心に、明るいピンクと太陽のような黄色のポップな色でアクセントがつけられ、陽気で子供らしい雰囲気を高めている。スタイルは、柔らかい質感、優しい線画、そして気まぐれな物語のような構図で、ノスタルジックな手描きイラストを彷彿とさせる。"
}
],
"submit_time": "2025-09-09 13:39:20.659",
"scheduled_time": "2025-09-09 13:39:20.717",
"end_time": "2025-09-09 13:39:45.233"
},
"usage": {
"image_count": 1
}
}Java SDK
最新の DashScope Java SDK をインストールする必要があります。そうしないと、実行時エラーが発生する可能性があります:「SDK のインストール」。
同期
リクエスト例
// 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.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;
import java.util.HashMap;
import java.util.Map;
public class Text2Image {
static {
// シンガポールリージョンにはこの URL を使用します。北京リージョンの場合は、https://dashscope.aliyuncs.com/api/v1 に置き換えてください
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
}
// API キーは北京リージョンとシンガポールリージョンで異なります。API キーを取得してください:https://www.alibabacloud.com/help/model-studio/get-api-key
// 環境変数を設定していない場合は、以下の行を static String apiKey = "sk-xxx" に置き換えてください
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void basicCall() throws ApiException, NoApiKeyException {
String prompt = "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。";
Map<String, Object> parameters = new HashMap<>();
parameters.put("prompt_extend", true);
parameters.put("watermark", false);
parameters.put("negative_prompt", " ");
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.apiKey(apiKey)
// qwen-image-plus と qwen-image のみが非同期呼び出しをサポート
.model("qwen-image-plus")
.prompt(prompt)
.n(1)
.size("1664*928")
.parameters(parameters)
.build();
ImageSynthesis imageSynthesis = new ImageSynthesis();
ImageSynthesisResult result = null;
try {
System.out.println("---同期呼び出し、しばらくお待ちください----");
result = imageSynthesis.call(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
}
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args){
try{
basicCall();
}catch(ApiException|NoApiKeyException e){
System.out.println(e.getMessage());
}
}
}
レスポンス例
URL は 24 時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"request_id": "9f3044ba-528f-4606-8830-xxxxxx",
"output": {
"task_id": "fecf4c7f-3508-45f4-8454-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"orig_prompt": "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。",
"actual_prompt": "子供時代にインスパイアされた手描きポスターデザイン:3 匹の遊び好きな子犬が、鮮やかな緑の芝生の上でカラフルなボールと楽しそうに戯れている。舞い飛ぶ鳥やきらめく星など、繊細な装飾要素が全体に散りばめられている。上部中央には、太字の青いカートゥーンスタイルのタイトル「ボールで遊ぼう!」が目立つように配置されている。その真下には、サブタイトル「さあ [腕前を披露して]!」が陽気な緑色の文字で描かれている。子犬の 1 匹の近くにある気まぐれな吹き出しには、「へへ、次は僕の小さな友達を驚かせてやるぞ!」という遊び心のあるテキストが含まれている。下端には、より小さな補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と空色を中心に、明るいピンクと太陽のような黄色のポップな色でアクセントがつけられ、陽気で子供らしい雰囲気を高めている。スタイルは、柔らかい質感、優しい線画、そして気まぐれな物語のような構図で、ノスタルジックな手描きイラストを彷彿とさせる。"
}
]
},
"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 Text2Image {
static {
// シンガポールリージョンにはこの URL を使用します。北京リージョンの場合は、https://dashscope.aliyuncs.com/api/v1 に置き換えてください
Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
}
// API キーは北京リージョンとシンガポールリージョンで異なります。API キーを取得してください:https://www.alibabacloud.com/help/model-studio/get-api-key
// 環境変数を設定していない場合は、以下の行を static String apiKey = "sk-xxx" に置き換えてください
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public void asyncCall() {
System.out.println("---タスクを作成中----");
String taskId = this.createAsyncTask();
System.out.println("--タスクが完了し、画像 URL が返されるのを待機中----");
this.waitAsyncTask(taskId);
}
public String createAsyncTask() {
String prompt = "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。";
Map<String, Object> parameters = new HashMap<>();
parameters.put("prompt_extend", true);
parameters.put("watermark", false);
parameters.put("negative_prompt", " ");
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.apiKey(apiKey)
// qwen-image-plus と qwen-image のみが非同期呼び出しをサポート
.model("qwen-image-plus")
.prompt(prompt)
.n(1)
.size("1664*928")
.parameters(parameters)
.build();
try {
ImageSynthesisResult result = new ImageSynthesis().asyncCall(param);
System.out.println(JsonUtils.toJson(result));
String taskId = result.getOutput().getTaskId();
System.out.println("task_id=" + taskId);
return taskId;
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
public void waitAsyncTask(String taskId) {
ImageSynthesis imageSynthesis = new ImageSynthesis();
long startTime = System.currentTimeMillis();
int timeout = 60 * 1000; // 1 分のタイムアウト
int interval = 5 * 1000; // 5 秒のポーリング間隔
while (true) {
if (System.currentTimeMillis() - startTime > timeout) {
System.out.println("ポーリングがタイムアウトしました (1 分)、タスクは完了していません");
return;
}
try {
ImageSynthesisResult result = imageSynthesis.fetch(taskId, apiKey);
System.out.println("タスクステータスのクエリ結果:" + JsonUtils.toJson(result));
if (result.getOutput() == null) {
System.out.println("タスクステータスの取得に失敗しました、出力が空です");
return;
}
String taskStatus = result.getOutput().getTaskStatus();
System.out.println("現在のタスクステータス:" + taskStatus);
switch (taskStatus) {
case "SUCCEEDED":
System.out.println("タスクが完了しました");
System.out.println(JsonUtils.toJson(result));
return;
case "FAILED":
System.out.println("タスクの実行に失敗しました, status: " + taskStatus);
return;
case "PENDING":
case "RUNNING":
System.out.println("タスクは進行中です、5 秒後に再度クエリします...");
Thread.sleep(interval);
break;
default:
System.out.println("不明なタスクステータス:" + taskStatus + "、5 秒後に再度クエリします...");
Thread.sleep(interval);
break;
}
} catch (ApiException | NoApiKeyException e) {
System.err.println("API 呼び出し例外:" + e.getMessage());
return;
} catch (InterruptedException e) {
System.err.println("スレッド割り込み例外:" + e.getMessage());
Thread.currentThread().interrupt();
return;
}
}
}
public static void main(String[] args){
Text2Image text2Image = new Text2Image();
text2Image.asyncCall();
}
}レスポンス例
1. タスク作成のレスポンス
{
"request_id": "5dbf9dc5-4f4c-9605-85ea-542f97709ba8",
"output": {
"task_id": "7277e20e-aa01-4709-xxxxxxxx",
"task_status": "PENDING"
}
}2. タスク結果ポーリングのレスポンス
URL は 24 時間後に有効期限が切れます。画像を速やかにダウンロードしてください。
{
"request_id": "9f3044ba-528f-4606-8830-xxxxxx",
"output": {
"task_id": "fecf4c7f-3508-45f4-8454-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"orig_prompt": "緑豊かな芝生の上でボールで遊ぶ 3 匹の子犬をフィーチャーした、癒し系の手描きポスター。鳥や星などの装飾的な要素が添えられている。メインタイトル「ボールで遊ぼう!」が、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ [腕前を披露して]!」が緑色のフォントで表示されている。吹き出しには「へへ、次は僕の小さな友達を驚かせてやるぞ!」というテキストがあり、遊び心のある魅力を加えている。下部には、補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。",
"actual_prompt": "子供時代にインスパイアされた手描きポスターデザイン:3 匹の遊び好きな子犬が、鮮やかな緑の芝生の上でカラフルなボールと楽しそうに戯れている。舞い飛ぶ鳥やきらめく星など、繊細な装飾要素が全体に散りばめられている。上部中央には、太字の青いカートゥーンスタイルのタイトル「ボールで遊ぼう!」が目立つように配置されている。その真下には、サブタイトル「さあ [腕前を披露して]!」が陽気な緑色の文字で描かれている。子犬の 1 匹の近くにある気まぐれな吹き出しには、「へへ、次は僕の小さな友達を驚かせてやるぞ!」という遊び心のあるテキストが含まれている。下端には、より小さな補足テキストとして「また友達とボールで遊べるね!」と書かれている。カラーパレットは、新鮮な緑と空色を中心に、明るいピンクと太陽のような黄色のポップな色でアクセントがつけられ、陽気で子供らしい雰囲気を高めている。スタイルは、柔らかい質感、優しい線画、そして気まぐれな物語のような構図で、ノスタルジックな手描きイラストを彷彿とさせる。"
}
]
},
"usage": {
"image_count": 1
}
}課金とレート制限
無料クォータと価格については、「モデルの価格」をご参照ください。
レート制限については、「Qwen-Image」をご参照ください。
課金の詳細:正常に生成された画像ごとに課金されます。失敗した呼び出しや処理エラーは、料金が発生したり、新規ユーザー無料クォータを消費したりすることはありません。
エラーコード
モデルの呼び出しが失敗し、エラーメッセージが返された場合は、「エラーメッセージ」で解決策をご確認ください。
よくある質問
Q:prompt_extend パラメーターを有効にするべきですか、無効にするべきですか?
A:より多様な画像コンテンツを希望し、モデルに詳細を追加させたい場合は、このオプションを有効にしてください (デフォルト)。画像のディテールをより厳密に制御する必要がある場合は無効にし、「Text-to-Image プロンプトガイド」を使用してプロンプトを最適化してください。
Q:qwen-image、qwen-image-plus、qwen-image-max、qwen-image-2.0、qwen-image-edit の違いは何ですか?
A:
画像生成と編集の統合モデル:Text-to-Image と画像編集の両方をサポートします。
qwen-image-2.0-proとqwen-image-2.0-pro-2026-03-03:同じ機能。Pro シリーズは、よりプロフェッショナルなテキストレンダリング、より細かいリアルなテクスチャ、詳細なリアルなシーン、そしてより強力なセマンティックな忠実性を提供します。同期呼び出しのみをサポートします。qwen-image-2.0とqwen-image-2.0-2026-03-03:同じ機能。高速化バージョンは、モデルのパフォーマンスと品質のバランスを取ります。同期呼び出しのみをサポートします。
Text-to-Image モデル:テキスト記述から画像を生成します。
qwen-image-maxとqwen-image-max-2025-12-30:同じ機能。qwen-image-plusと比較して、リアリズムと自然さが向上し、キャラクターのテクスチャ、ディテール、テキストレンダリングの結果が向上しています。qwen-imageとqwen-image-plus:同じ機能ですが、qwen-image-plusの方がコスト効率が高いです。qwen-image-plus-2026-01-09:Qwen-Image の新しいスナップショットバージョン。qwen-image-maxの蒸留および高速化バージョンであり、高品質な画像の高速生成をサポートします。
画像編集モデル:
qwen-image-edit:入力画像とテキスト命令に基づいて、画像から画像への変換、インペインティング、その他の操作を実行します。詳細については、「Qwen - 画像編集」をご参照ください。
Q:画像ストレージのドメイン名ホワイトリストを取得するにはどうすればよいですか?
A:モデルによって生成された画像は OSS に保存されます。API は一時的な公開 URL を返します。このダウンロード URL のファイアウォールホワイトリストを設定するには、次の点にご注意ください:基盤となるストレージは動的に変更される可能性があります。このトピックでは、古い情報によるアクセス問題を防ぐため、固定の OSS ドメイン名ホワイトリストは提供していません。セキュリティ管理要件がある場合は、アカウントマネージャーに連絡して最新の OSS ドメイン名リストを入手してください。
