このトピックでは、Wan - 画像編集モデルの入力パラメーターと出力パラメーターについて説明します。
このドキュメントは、中国本土 (北京) リージョン専用です。モデルを使用するには、中国本土 (北京) リージョンの API キー を使用してください。
このモデルは、簡単な命令を使用して、さまざまな画像編集タスク (画像拡張、透かし除去、スタイル変換、画像インペインティング、画像エンハンスメント) を実行します。現在、以下の機能がサポートされています。
画像スタイル変換: グローバルスタイル変換とローカルスタイル変換。
画像コンテンツ編集: 命令ベースの編集 (領域を指定せずに命令を使用して画像コンテンツを追加または変更)、インペインティング (指定された領域のコンテンツを追加、削除、または変更)、およびテキスト透かし除去 (中国語と英語)。
画像サイズと解像度の最適化: 画像拡張 (比率による拡張) と超解像度 (高解像度へのエンハンスメント)。
画像色処理: カラー化 (白黒またはグレースケール画像をカラーに変換)。
参照画像に基づく生成: スケッチから画像生成 (入力画像からスケッチを抽出し、そのスケッチに基づいて画像を生成) と漫画キャラクター参照生成。
関連ガイド: 画像編集 - Wan2.1
モデル概要
モデル | 価格 | レート制限 (ルートアカウントと RAM ユーザーで共有) | |
タスク送信 RPS | 同時タスク | ||
wanx2.1-imageedit | $0.020070/画像 | 2 | 2 |
モデル効果
機能 | 入力画像 | 入力プロンプト | 出力画像 |
グローバルスタイル変換 |
| フランスの絵本スタイルに変換 |
|
ローカルスタイル変換 |
| 家を木製スタイルに変更。 |
|
命令ベースの編集 |
| 彼女の髪を赤に変更。 |
|
インペインティング | 入力画像
入力マスク画像 (白はマスク領域)
| 陶器のウサギが陶器の花を持っている。 | 出力画像
|
テキスト透かし除去 |
| 画像からテキストを削除。 |
|
画像拡張 |
| 緑の妖精。 |
|
超解像度 | ぼやけた画像
| 超解像度。 | クリアな画像
|
カラー化 |
| 青い背景、黄色い葉。 |
|
スケッチから画像生成 | 入力画像
| ミニマリストの北欧スタイルのリビングルーム。 | 元の画像からスケッチを抽出し、新しい画像を生成
|
漫画キャラクター参照生成 | 入力参照画像 (漫画キャラクター)
| 漫画キャラクターが部屋のきらめく青い宝石を慎重に覗き見ている。 | 出力画像
|
前提条件
HTTP または DashScope SDK を使用して、Wan - 画像編集 API を呼び出します。
呼び出しを行う前に、API キーを取得し、API キーを環境変数としてエクスポートしてください。
SDK を使用して API を呼び出すには、DashScope SDK をインストールしてください。SDK は Python と Java で利用できます。
HTTP
画像モデルの処理には時間がかかる場合があります。HTTP 呼び出しは、リクエストタイムアウトを防ぐために非同期結果取得のみをサポートしています。これには2つのリクエストが必要です。
タスク ID を取得するためのタスク作成: タスクを作成するリクエストを送信します。応答でタスク ID (
task_id) を返します。タスク ID で結果をクエリ: 前のステップのタスク ID を使用して、タスクステータスと結果をクエリします。タスクが成功した場合、画像 URL (24 時間有効) を返します。
タスク作成後、タスクはスケジューリングを待つキューに追加されます。「タスク ID で結果をクエリ」API を呼び出して、タスクステータスと結果を取得してください。
画像編集モデルは、リクエストの処理に約 5 ~ 15 秒かかります。実際の時間は、キュー内のタスク数とネットワークの状態によって異なります。結果を辛抱強くお待ちください。
ステップ1: タスク ID を取得するためのタスク作成
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis
リクエストパラメーター | グローバルスタイル変換ローカルファイル (Base64) を渡す次の例は、グローバルスタイル変換のために Base64 エンコードされたパラメーターを渡す方法を示しています。 Base64 エンコードされた文字列が長いため、image_base64 をダウンロードし、その全内容を データ形式の詳細については、「サポートされている形式」をご参照ください。 ローカルスタイル変換命令ベースの編集機能説明: 領域を指定せずに、命令のみを使用して画像コンテンツを追加または変更します。 インペインティング機能説明: 指定された領域のコンテンツを追加、削除、または変更します。 テキスト透かし除去機能説明: 中国語と英語のテキスト透かしの除去をサポートします。 画像拡張機能説明: 画像を上下左右に比例して拡張することをサポートします。 超解像度機能説明: ぼやけた画像を高解像度にアップスケールすることをサポートします。 カラー化機能説明: 白黒またはグレースケール画像をカラー画像に変換します。 スケッチから画像生成機能説明: 入力画像からスケッチを抽出し、そのスケッチに基づいて画像を生成します。 漫画キャラクター参照生成機能説明: 参照漫画キャラクターに基づいて画像を生成することをサポートします。 |
リクエストヘッダー | |
Content-Type リクエストのコンテンツタイプ。 | |
Authorization Model Studio API キーを使用した認証資格情報。 例: | |
X-DashScope-Async 非同期処理を有効にします。HTTP リクエストは非同期処理のみをサポートしているため、 重要 含まれていない場合、「current user api does not support synchronous calls」エラーが返されます。 | |
リクエストボディ | |
model モデル名。例: wanx2.1-imageedit。 | |
input 基本的な入力情報 (プロンプト)。 | |
parameters 画像処理パラメーター。 |
応答パラメーター | 成功応答
エラー応答タスク作成に失敗しました。問題を解決するには、「エラーコード」をご参照ください。 |
output タスク出力情報。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 | |
code エラーコード。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。 | |
message 詳細なエラーメッセージ。リクエストが失敗した場合にのみ返されます。詳細については、「エラーコード」をご参照ください。 |
ステップ2: タスク ID で結果をクエリ
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
リクエストパラメーター | タスク結果のクエリ
|
リクエストヘッダー | |
Authorization Model Studio API キーを使用した認証資格情報。 例: | |
パスパラメーター | |
task_id クエリするタスクの ID。 |
応答パラメーター | タスク成功タスクデータ (タスクステータスと画像 URL) は 24 時間のみ保持され、その後自動的に消去されます。生成された画像を速やかに保存してください。 タスク失敗タスクが失敗した場合、 タスク部分失敗モデルは単一のタスクで複数の画像を生成できます。少なくとも 1 つの画像が正常に生成された場合、タスクステータスは |
output タスク出力情報。 | |
usage 出力情報統計。成功した結果のみがカウントされます。 | |
request_id リクエストの一意の識別子。問題の追跡とトラブルシューティングに使用します。 |
DashScope SDK
まず、DashScope SDK の最新バージョンがインストールされていることを確認してください。インストールされていない場合、実行時エラーが発生する可能性があります。
DashScope SDK は現在、Python と Java をサポートしています。
SDK のパラメーター名は、HTTP API のパラメーター名とほとんど同じです。パラメーターの構造は、言語ごとの SDK のカプセル化によって異なります。パラメーターの説明については、「HTTP」をご参照ください。
ビデオモデル処理には時間がかかるため、サービスは非同期アプローチを使用します。SDK は、同期呼び出しと非同期呼び出しの両方をサポートするラッパーを提供します。
一般的な画像編集モデルは、リクエストの処理に約 5 ~ 15 秒かかります。実際の時間は、キュー内のタスク数とネットワーク条件によって異なります。結果を辛抱強くお待ちください。
Python SDK
Python SDK を使用して画像ファイルを処理する場合、次の 3 つのいずれかの方法でイメージを入力します。ご利用のシナリオに最適な方法を選択してください。
パブリック URL: HTTP または HTTPS プロトコルを使用した、一般公開されている画像 URL です。
Base64 エンコーディング:
data:{MIME_type};base64,{base64_data}の形式の Base64 エンコードされたファイル文字列です。ローカルファイルパス: 絶対パスと相対パスの両方をサポートしています。有効なファイルパスの形式については、次の表をご参照ください。
システム | 提供されるファイルパス | 例 (絶対パス) | 例 (相対パス) |
Linux または macOS | file://{absolute or relative path of the file} | file:///home/images/test.png | file://./images/test.png |
Windows オペレーティングシステム | file://D:/images/test.png | file://./images/test.png |
サンプルコード
コードを呼び出す前に、DashScope Python SDK をインストール済みであることを確認してください。最新バージョンにアップグレードすることを推奨します。以下のコマンドを実行してください:pip install -U dashscope。「SDK のインストール」をご参照ください。
同期呼び出し
この例では、同期呼び出しを示し、公開 URL、Base64 エンコーディング、ローカルファイルパスの 3 つのイメージ入力方法をサポートしています。
リクエスト例
import base64
import os
from http import HTTPStatus
from dashscope import ImageSynthesis
import mimetypes
"""
環境要件:
dashscope python SDK >= 1.23.8
SDK のインストール/アップグレード:
pip install -U dashscope
"""
# 環境変数が設定されていない場合、次の行を api_key="sk-xxx" に置き換えてください。
api_key = os.getenv("DASHSCOPE_API_KEY")
# --- ヘルパー関数: Base64 エンコーディング用 ---
# 形式は data:{MIME_type};base64,{base64_data} です。
def encode_file(file_path):
mime_type, _ = mimetypes.guess_type(file_path)
if not mime_type or not mime_type.startswith("image/"):
raise ValueError("サポートされていない、または認識されないイメージ形式")
with open(file_path, "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
return f"data:{mime_type};base64,{encoded_string}"
"""
イメージ入力方法:
次の 3 つのいずれかの方法を選択してください。
1. 公開 URL を使用 - 公開アクセス可能なイメージに適しています。
2. ローカルファイルを使用 - ローカル開発とテストに適しています。
3. Base64 エンコーディングを使用 - 非公開イメージまたは暗号化された送信が必要なシナリオに適しています。
"""
# [方法 1] 公開イメージ URL を使用
mask_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png"
base_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg"
# [方法 2] ローカルファイルを使用 (絶対パスと相対パスをサポート)
# 形式要件: file:// + ファイルパス
# 例 (絶対パス):
# mask_image_url = "file://" + "/path/to/your/mask_image.png" # Linux/macOS
# base_image_url = "file://" + "C:/path/to/your/base_image.jpeg" # Windows
# 例 (相対パス):
# mask_image_url = "file://" + "./mask_image.png" # 実際のパスに基づく
# base_image_url = "file://" + "./base_image.jpeg" # 実際のパスに基づく
# [方法 3] Base64 エンコードされたイメージを使用
# mask_image_url = encode_file("./mask_image.png") # 実際のパスに基づく
# base_image_url = encode_file("./base_image.jpeg") # 実際のパスに基づく
def sample_sync_call_imageedit():
print('お待ちください...')
rsp = ImageSynthesis.call(api_key=api_key,
model="wanx2.1-imageedit",
function="description_edit_with_mask",
prompt="A ceramic rabbit holding a ceramic flower",
mask_image_url=mask_image_url,
base_image_url=base_image_url,
n=1)
assert rsp.status_code == HTTPStatus.OK
print('応答: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
for result in rsp.output.results:
print("---------------------------")
print(result.url)
else:
print('sync_call が失敗しました。status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_sync_call_imageedit()応答例
URL は 24 時間有効です。イメージを速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "dc41682c-4e4a-9010-bc6f-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "6e319d88-a07a-420c-9493-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?xxxxxx"
}
],
"submit_time": "2025-05-26 14:58:27.320",
"scheduled_time": "2025-05-26 14:58:27.339",
"end_time": "2025-05-26 14:58:39.170",
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
}
},
"usage": {
"image_count": 1
}
}非同期呼び出し
この例では、非同期呼び出し方法のみを示します。
リクエスト例
import os
from http import HTTPStatus
from dashscope import ImageSynthesis
"""
環境要件:
dashscope python SDK >= 1.23.4
SDK のインストール/アップグレード:
pip install -U dashscope
"""
# 環境変数が設定されていない場合、次の行を api_key="sk-xxx" に置き換えてください。
api_key = os.getenv("DASHSCOPE_API_KEY")
# 公開イメージ URL を使用
mask_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png"
base_image_url = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg"
def sample_async_call_imageedit():
# 非同期呼び出し。task_id を返します。
rsp = ImageSynthesis.async_call(api_key=api_key,
model="wanx2.1-imageedit",
function="description_edit_with_mask",
prompt="A ceramic rabbit holding a ceramic flower",
mask_image_url=mask_image_url,
base_image_url=base_image_url,
n=1)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print("task_id: %s" % rsp.output.task_id)
else:
print('失敗しました。status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
# 非同期タスク情報を取得
status = ImageSynthesis.fetch(task=rsp, api_key=api_key)
if status.status_code == HTTPStatus.OK:
print(status.output.task_status) # タスクステータスを確認
else:
print('失敗しました。status_code: %s, code: %s, message: %s' %
(status.status_code, status.code, status.message))
# 非同期タスクが完了するのを待機
rsp = ImageSynthesis.wait(rsp)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output)
for result in rsp.output.results:
print("---------------------------")
print(result.url)
else:
print('失敗しました。status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_async_call_imageedit()応答例
1. タスク作成の応答例
{
"status_code": 200,
"request_id": "6dc3bf6c-be18-9268-9c27-xxxxxx",
"code": "",
"message": "",
"output": {
"task_id": "686391d9-7ecf-4290-a8e9-xxxxxx",
"task_status": "PENDING",
"video_url": ""
},
"usage": null
}2. タスク結果クエリの応答例
URL は 24 時間有効です。イメージを速やかにダウンロードしてください。
{
"status_code": 200,
"request_id": "dc41682c-4e4a-9010-bc6f-xxxxxx",
"code": null,
"message": "",
"output": {
"task_id": "6e319d88-a07a-420c-9493-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?xxxxxx"
}
],
"submit_time": "2025-05-26 14:58:27.320",
"scheduled_time": "2025-05-26 14:58:27.339",
"end_time": "2025-05-26 14:58:39.170",
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
}
},
"usage": {
"image_count": 1
}
}Java SDK
Java SDK を使用して画像ファイルを処理する際は、以下の 3 つの方法のいずれかで画像を入力します。ご自身のシナリオに最も適した方法を選択してください。
公開 URL:HTTP または HTTPS プロトコルを使用した、パブリックにアクセス可能な画像 URL。
Base64 エンコーディング:
data:{MIME_type};base64,{base64_data}形式の Base64 エンコード済みファイル文字列。ローカルファイルパス:絶対パスのみがサポートされています。正しいファイルパス形式については、次の表をご参照ください。
システム | 指定するファイルパス | 例 |
Linux または macOS | file://{absolute path of the file} | file:///home/images/test.png |
Windows オペレーティングシステム | file:///{absolute path of the file} | file:///D:/images/test.png |
サンプルコード
コードを呼び出す前に、DashScope Java SDK がインストールされていることを確認してください。最新バージョンへのアップグレードを推奨します。詳細については、「SDK のインストール」をご参照ください。
同期呼び出し
この例では、同期呼び出しを示し、公開 URL、Base64 エンコーディング、ローカルファイルパスの 3 つの画像入力方法をサポートしています。
リクエスト例
// 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.JsonUtils;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
import java.util.HashMap;
import java.util.Map;
/**
* 環境要件
* dashscope java SDK >=2.20.9
* Maven 依存関係の更新:
* https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java
*/
public class ImageEditSync {
// 環境変数が設定されていない場合は、次の行を apiKey="sk-xxx" に置き換えてください。
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
/**
* 画像入力方法: 以下の 3 つのうちいずれか 1 つを選択してください。
*
* 1. 公開 URL を使用 - パブリックにアクセス可能な画像に適しています。
* 2. ローカルファイルを使用 - ローカルでの開発およびテストに適しています。
* 3. Base64 エンコーディングを使用 - 非公開画像や暗号化伝送が必要なシナリオに適しています。
*/
//[Method 1] 公開 URL
static String maskImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png";
static String baseImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg";
//[Method 2] ローカルファイルパス (file://+絶対パス または file:///+絶対パス)
// static String maskImageUrl = "file://" + "/your/path/to/mask_image.png"; // Linux/macOS
// static String baseImageUrl = "file:///" + "C:/your/path/to/base_image.png"; // Windows
//[Method 3] Base64 エンコーディング
// static String maskImageUrl = encodeFile("/your/path/to/mask_image.png");
// static String baseImageUrl = encodeFile("/your/path/to/base_image.png");
public static void syncCall() {
// parameters パラメーターを設定します。
Map<String, Object> parameters = new HashMap<>();
parameters.put("prompt_extend", true);
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.apiKey(apiKey)
.model("wanx2.1-imageedit")
.function(ImageSynthesis.ImageEditFunction.DESCRIPTION_EDIT_WITH_MASK)
.prompt("A ceramic rabbit holding a ceramic flower")
.maskImageUrl(maskImageUrl)
.baseImageUrl(baseImageUrl)
.n(1)
.size("1024*1024")
.parameters(parameters)
.build();
ImageSynthesis imageSynthesis = new ImageSynthesis();
ImageSynthesisResult result = null;
try {
System.out.println("---sync call, please wait a moment----");
result = imageSynthesis.call(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
}
System.out.println(JsonUtils.toJson(result));
}
/**
* ファイルを Base64 文字列にエンコードします。
* @param filePath ファイルパス
* @return data:{MIME_type};base64,{base64_data} 形式の Base64 文字列
*/
public static String encodeFile(String filePath) {
Path path = Paths.get(filePath);
if (!Files.exists(path)) {
throw new IllegalArgumentException("File does not exist: " + filePath);
}
// MIME タイプを検出します。
String mimeType = null;
try {
mimeType = Files.probeContentType(path);
} catch (IOException e) {
throw new IllegalArgumentException("Cannot detect file type: " + filePath);
}
if (mimeType == null || !mimeType.startsWith("image/")) {
throw new IllegalArgumentException("Unsupported or unrecognized image format");
}
// ファイル内容を読み取り、エンコードします。
byte[] fileBytes = null;
try{
fileBytes = Files.readAllBytes(path);
} catch (IOException e) {
throw new IllegalArgumentException("Cannot read file content: " + filePath);
}
String encodedString = Base64.getEncoder().encodeToString(fileBytes);
return "data:" + mimeType + ";base64," + encodedString;
}
public static void main(String[] args) {
syncCall();
}
}
レスポンス例
URL の有効期間は 24 時間です。画像は速やかにダウンロードしてください。
{
"request_id": "bf6c6361-f0fc-949c-9d60-xxxxxx",
"output": {
"task_id": "958db858-153b-4c81-b243-xxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com/xxx.png?xxxxxx"
}
],
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
}
},
"usage": {
"image_count": 1
}
}非同期呼び出し
この例では、非同期呼び出し方法のみを示します。
リクエスト例
// Copyright (c) Alibaba, Inc. and its affiliates.
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.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.JsonUtils;
import java.util.HashMap;
import java.util.Map;
/**
* 環境要件
* dashscope java SDK >= 2.20.1
* Maven 依存関係の更新:
* https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java
*/
public class ImageEditAsync {
// 環境変数が設定されていない場合は、次の行を apiKey="sk-xxx" に置き換えてください。
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
//[Method 1] 公開 URL
static String maskImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3_mask.png";
static String baseImageUrl = "http://wanx.alicdn.com/material/20250318/description_edit_with_mask_3.jpeg";
public static void asyncCall() {
// parameters パラメーターを設定します。
Map<String, Object> parameters = new HashMap<>();
parameters.put("prompt_extend", true);
ImageSynthesisParam param =
ImageSynthesisParam.builder()
.apiKey(apiKey)
.model("wanx2.1-imageedit")
.function(ImageSynthesis.ImageEditFunction.DESCRIPTION_EDIT_WITH_MASK)
.prompt("A ceramic rabbit holding a ceramic flower")
.maskImageUrl(maskImageUrl)
.baseImageUrl(baseImageUrl)
.n(1)
.size("1024*1024")
.parameters(parameters)
.build();
ImageSynthesis imageSynthesis = new ImageSynthesis();
ImageSynthesisResult result = null;
try {
System.out.println("---async call, please wait a moment----");
result = imageSynthesis.asyncCall(param);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
}
System.out.println(JsonUtils.toJson(result));
String taskId = result.getOutput().getTaskId();
System.out.println("taskId=" + taskId);
try {
result = imageSynthesis.wait(taskId, apiKey);
} catch (ApiException | NoApiKeyException e){
throw new RuntimeException(e.getMessage());
}
System.out.println(JsonUtils.toJson(result));
System.out.println(JsonUtils.toJson(result.getOutput()));
}
public static void listTask() throws ApiException, NoApiKeyException {
ImageSynthesis is = new ImageSynthesis();
AsyncTaskListParam param = AsyncTaskListParam.builder().build();
param.setApiKey(apiKey);
ImageSynthesisListResult result = is.list(param);
System.out.println(result);
}
public void fetchTask(String taskId) throws ApiException, NoApiKeyException {
ImageSynthesis is = new ImageSynthesis();
// DASHSCOPE_API_KEY が環境変数として設定されている場合、apiKey は空でも構いません。
ImageSynthesisResult result = is.fetch(taskId, apiKey);
System.out.println(result.getOutput());
System.out.println(result.getUsage());
}
public static void main(String[] args) {
asyncCall();
}
}レスポンス例
1. タスク作成時のレスポンス例
{
"request_id": "5dbf9dc5-4f4c-9605-85ea-xxxxxxxx",
"output": {
"task_id": "7277e20e-aa01-4709-xxxxxxxx",
"task_status": "PENDING"
}
}2. タスク結果照会時のレスポンス例
URL の有効期間は 24 時間です。画像は速やかにダウンロードしてください。
{
"request_id": "3d740fc4-a968-9c36-b0e7-xxxxxxxx",
"output": {
"task_id": "34dcf4b0-ed84-441e-91cb-xxxxxxxx",
"task_status": "SUCCEEDED",
"results": [
{
"url": "https://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/xxx.png"
}
],
"submit_time": "2025-02-21 17:56:31.786",
"scheduled_time": "2025-02-21 17:56:31.821",
"end_time": "2025-02-21 17:56:42.530",
"task_metrics": {
"TOTAL": 1,
"SUCCEEDED": 1,
"FAILED": 0
}
},
"usage": {
"image_count": 1
}
}エラーコード
モデルの呼び出しに失敗し、エラーメッセージが返された場合は、「エラーメッセージ」をご参照ください。
この API には、次の表に示すとおり、固有のステータスコードもあります。
HTTP ステータスコード | API エラーコード (code) | API エラーメッセージ (message) | 説明 |
400 | InvalidParameter | InvalidParameter | リクエストパラメーターが無効です。 |
400 | IPInfringementSuspect | 入力データに IP 侵害の疑いがあります。 | 入力データ(プロンプトや画像など)に知的財産権侵害の疑いがあります。入力内容を確認し、侵害リスクのあるコンテンツが含まれていないことを確認してください。 |
400 | DataInspectionFailed | 入力データに不適切なコンテンツが含まれている可能性があります。 | 入力データ(プロンプトや画像など)に不適切なコンテンツが含まれている可能性があります。入力を変更して、もう一度お試しください。 |
500 | InternalError | InternalError | サービスに異常があります。再試行して、一時的な問題かどうかをご確認ください。 |
入力イメージフォーマット
サポートされるフォーマット
入力イメージは、次の表に示すように、複数の文字列フォーマットをサポートしています。
呼び出しメソッド | HTTP | Python SDK | Java SDK |
サポートされる入力イメージメソッド |
|
|
|
メソッド 1: パブリック URL の使用
パブリックにアクセス可能なイメージアドレスを指定します。HTTP または HTTPS プロトコルがサポートされています。
例:
https://xxxx/img.png
メソッド 2: Base64 エンコーディングの使用
ローカルイメージファイルを Base64 文字列に変換し、data:{MIME_type};base64,{base64_data} のフォーマットに連結します。
変換コードについては、「サンプルコード」をご参照ください。
{MIME_type}: イメージのメディアタイプ。ファイル形式と一致している必要があります。
{base64_data}: イメージファイルの Base64 エンコードされた文字列
MIME タイプのリファレンス:
イメージフォーマット
MIME タイプ
JPEG
image/jpeg
JPG
image/jpeg
PNG
image/png
BMP
image/bmp
TIFF
image/tiff
WEBP
image/webp
例:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDg......注: 上記の Base64 文字列は説明のために省略されています。実際の使用では、完全なエンコード文字列を渡してください。
メソッド 3: ローカルファイルパスの使用
HTTP はローカルファイルパスをサポートしていません。このメソッドは Python SDK と Java SDK のみでサポートされています。
ローカルファイルパスのルールについては、「Python SDK」および「Java SDK」をご参照ください。
よくある質問
イメージモデルに関するよくある質問 (モデルの課金、レート制限ルール、よくある API エラーなど) については、「よくある質問」をご参照ください。




















