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

Alibaba Cloud Model Studio:Text-to-image

最終更新日:Jul 01, 2026

Text-to-Image API を使用して、テキストの説明から画像を生成します。このサービスは Alibaba Cloud Model Studio によって提供され、Wan、Qwen-Image、Z-Image の各モデルファミリーを備えています。

オンラインで試すシンガポール | 北京

モデルのパフォーマンス

Qwen-Image

複雑なテキスト

p1005416

長文

p1005400

複雑なレイアウト

3

ポスターデザイン

image

イラストデザイン

1

フォトリアリスティックな写真

2

プロンプト

複雑なテキスト:書店のウィンドウディスプレイ。看板には「今週の新刊」と表示されている。その下には、「ベストセラー小説はこちら」というテキストの棚札がある。横には、著者の肖像画を中心に「土曜日に著者サイン会」と宣伝するカラフルなポスターがある。本棚には「The Light Between Worlds」、「When Stars Are Scattered」、「The Silent Patient」、「The Night Circus」の4冊の本が並んでいる。

長文:制服を着た少女が教室に立ち、黒板に文字を書いている。黒板の中央には、白いチョークで「複雑なテキストレンダリングと正確な画像編集に優れた基盤画像生成モデル、Qwen-Image を紹介します。」というテキストがきれいに書かれている。窓から柔らかな自然光が差し込み、優しい影を落としている。シーンはリアルな写真スタイルでレンダリングされ、細かく詳細なテクスチャ、浅い被写界深度、温かみのある色調が特徴。少女の集中した表情と、宙に舞うチョークの粉が動きと活気を与えている。背景の要素(生徒の机や教育ポスターなど)は、中央のアクションを強調するためにわずかにぼかされている。超高解像度 32K、DSLR 品質の画像、ソフトなボケ効果、ドキュメンタリースタイルの構図。

複雑なレイアウト:スピーチ用の教室の PPT スライドを作成する。エレガントなインフォグラフィックとして、きれいに配置されたテキストを縁取る芸術的で装飾的な形状が特徴。中央のタイトル:「感情的な幸福のための習慣」、対称的な花柄に囲まれている。左上:「マインドフルネスを実践する」+ ミニマリストな蓮のアイコン + テキスト「今ここにいて、判断せずに観察し、抵抗せずに受け入れる」。その下:「感謝の気持ちを育む」+ 開いた手のイラスト + テキスト「日々のささやかな喜びを感謝し、ポジティブなことを認める」。左下:「つながりを保つ」+ ミニマリストなチャットバブルのアイコン + テキスト「感情的なエネルギーを維持するために、意味のある関係を築き、維持する」。右下:「睡眠を優先する」+ 三日月のイラスト + テキスト「質の高い睡眠は心身ともに良い影響を与える」。中央右:「定期的な身体活動」+ ジョギングするランナーのアイコン + テキスト「運動は気分を高め、不安を和らげる」。右上:「継続的な学習」+ 本のアイコン + テキスト「成長のために新しいスキルや知識に取り組む」。レイアウトは明瞭さと芸術性のバランスを取り、視聴者を自然に導く。--ar 16:9 --style clean - presentation。

ポスターデザイン:癒し系の手描きポスター。緑豊かな芝生の上でボールで遊ぶ3匹の子犬が、鳥や星などの装飾要素で飾られている。メインタイトル「ボールで遊ぼう!」は、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ、[腕前を披露して]!」が緑色のフォントで表示されている。吹き出しが「へへ、次は僕が友達を驚かせる番だ!」というテキストで遊び心を加えている。下部には、「また友達とボール遊びができるね!」という補足テキストがある。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。

イラストデザイン:活気に満ちた、晴れた日の賑やかな商店街の風景、日常の一コマ。前景では、白いシャツとショートパンツをはいた少年が、市場の屋台で熱心に商品を選んでいる。屋台にはスナック、飲み物、日用品が並んでいる。エプロン姿の中年男性の店主が商品を整理している。屋台の上には手書き風の「Qwen-Image」と書かれた木製の看板が掛かっている。背景には、モダンでカラフルな建物があり、「Alibaba」、「Model Studio」、「Text-to-Image」の目立つ看板がある。空は紺碧で、ふわふわした白い雲と舞い上がるカモメがいる。アートスタイル:リアリズムイラスト、繊細で柔らかく、鮮やかな色、豊かなレイヤー、微妙な手描きテクスチャ、詳細、強い光と影、充実した構図、強い奥行き感、陽気でリラックスした雰囲気。

フォトリアリスティックな写真:20代前半のアジア人女性。ぱっつん前髪で、つやのある黒いストレートのロングヘアが自然に肩にかかっている。彼女はヴィンテージの花柄のソファに横向きに座っている。ソファの生地はオフホワイトの地にピンクと緑の花柄で、少し使い古された生活感がある。彼女はゆったりとしたライトグリーンのモヘアセーターに、柔らかくふわふわした質感のライトグレーブルーのリネンのマキシスカートを合わせており、フレッシュでナチュラル、そしてゆったりとした印象を与えている。右手には赤いトマトをあごの近くでさりげなく持ち、リラックスしたポーズをとっている。彼女は穏やかで少し aloof な表情でカメラをまっすぐ見つめ、無頓着な離人感を伝えている。ソファの右側には、明るい色の陶器の皿に、緑の茎がついたふっくらとした真っ赤なトマトが3、4個置かれており、その鮮やかな色が画像全体のクールなグリーントーンと強いコントラストを生み出している。背景は、古びた質感のあるティールグリーンの壁。窓から自然光が差し込み、被写体と背景に斜めに落ちるはっきりとした光線を作り出し、豊かな光と影の層を加えている。窓辺や背景の隅にはいくつかの鉢植えが置かれ、左側にはダークブラウンのアンティークな木製キャビネットがかすかに見える。この写真はクールなグリーンのカラーパレットで、目立つフィルム粒子と微妙な光漏れ効果がある。構図は充実しており、雰囲気は静かで芸術的で、ヴィンテージのフィルムベースのポートレート写真のスタイルを強く想起させる。

Wanxiang

ポートレート写真

p1023523

フォトリアリスティックな写真

p1023409

アートスタイル

p1023526

テキストレンダリング

p1023535

ポスターデザイン

p1023546

画像セット生成

p1023532

プロンプトの表示

ポートレート写真:超リアルなスカンジナビア人女性のポートレート、流れるようなプラチナブロンドの髪と突き刺すような青い瞳、目立つそばかす、鋭い知的な視線、氷のような雰囲気を醸し出す北欧の寒色系の平行光、クリーンなラインのミニマリストでモダンなスタイリング、浅い被写界深度でぼかされた寒色グラデーションの背景、本物の北欧人の顔の特徴と磁器のような肌の質感。

フォトリアリスティックな写真:劇的なパースの歪みを持つ魚眼パースペクティブの森のシーン、突き刺すような琥珀色の目でレンズを見つめる超詳細なアカギツネ、個々のガードヘアと下毛の層を示す超リアルな毛皮の質感、円形の背景パターンを形成する放射状に歪んだ木々、半透明のウォッシュと有機的な顔料のにじみを持つ水彩画スタイル、モスグリーンとアーストーンのオークルの柔らかいパステルパレット、林冠の隙間からの雰囲気のある輝きを持つ絵画的な照明。

アートスタイル:ヴィンテージ油絵風の牧歌的な風景、野花でいっぱいの牧草地を羊飼いが羊を追っている、遠くには青い空と白い雲の下で風車が回っている、木造の家の煙突から煙が立ち上っている、明るく柔らかな色彩、静けさと安らぎに満ちている。

テキストレンダリング:植物同定ガイドの1ページ。手描きの水彩画風。部位にラベルが付けられたタンポポが描かれている。

ポスターデザイン:映画のポスターシーン:木の割れ目にある目の極端なマクロクローズアップ。ミニマリストなモノクロ、水彩と CGI の融合、低彩度。シュールな強度を出すための震えを伴うスロープッシュイン。広大なネガティブスペース、隠されたタイトル。没入型ビデオ生成に最適化。

画像セット生成:ある老人の一生の思い出。異なるフレームに入った4つのポートレート:子供時代(白黒写真)、青年時代(軍服の写真)、中年時代(ビジネススーツでの仕事の写真)、そして老年時代(配偶者との写真)。

モデルの選択

  • wan2.7-image-pro:複数画像の生成、最大 4096x4096 の解像度、顔の特徴、色、長文テキストレンダリングの強化された制御など、最も多くの機能を提供します。

  • qwen-image-2.0-pro:物理的な素材と自然に融合する中国語と英語のテキストを正確にレンダリングすることに優れています。チャート、ポスター、プレゼンテーションの作成に最適です。

  • z-image-turbo:高速でコスト効率の高い画像生成を実現し、非常にリアルなポートレートや商品画像に優れています。

クイックスタート

前提条件

開始する前に、API キーを取得し、次にAPI キーを環境変数として設定します。DashScope SDK を使用する場合は、SDK をインストールする必要もあります。

サンプルコード

呼び出しメソッド

  • すべての Wan Text-to-Image モデルは非同期呼び出しをサポートしています。wan2.7-image-prowan2.7-imagewan2.6-imagewan2.6-t2i モデルは同期呼び出しもサポートしています。詳細については、「Wan - 画像生成と編集 2.7」、「Wan - 画像生成と編集 2.6」、および「Wan - Text-to-Image V2」をご参照ください。

  • すべての Qwen Text-to-Image モデルは同期呼び出しをサポートしています。qwen-image-plusqwen-image モデルは非同期呼び出しもサポートしています。詳細については、「Qwen - Text-to-Image」をご参照ください。

Wan - 非同期呼び出し

Python

リクエスト例
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'

# 環境変数が設定されていない場合は、次の行をご利用の Model Studio API キーに置き換えてください: api_key="sk-xxx"
# API キーはリージョンによって異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
api_key = os.getenv("DASHSCOPE_API_KEY")


def main():
    message = Message(
        role="user",
        content=[
            {"text": "自然でカジュアルな自撮りスタイルの若い女性。超高解像度でリアルなライフスタイル写真。彼女は黄色の花柄の長袖トップスを着ており、長く少しウェーブのかかった髪が自然に垂れている。背景は屋外の自然な風景で、近くに緑の植物があり、遠くに水と山が見える。柔らかく自然な太陽光が彼女の顔と体に降り注ぎ、自然な光と影の効果を生み出している。カメラアングルは、彼女が持っているかのような自撮り視点からのミディアムショット。彼女は自然に立っており、リラックスして快適な状態を表現している。アングルは自然で、不意の一瞬を捉えたスナップショットのスタイル。"}
        ]
    )
    
    # 非同期タスクを送信します。
    print("非同期タスクを送信しています...")
    response = ImageGeneration.async_call(
        model="wan2.7-image-pro",
        api_key=api_key,
        messages=[message],
        enable_sequential=False,
        n=1,
        size="2K"
    )
    
    if response.status_code == 200:
        print(f"タスクは正常に送信されました。タスク ID: {response.output.task_id}")
        
        # タスクが完了するのを待ちます。
        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"エラー: {e}")
レスポンス例

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": "77093787-a217-4c29-9cd4-ca7b5ac86xxx",
        "task_status": "PENDING"
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0
    }
}

2. タスクステータスのクエリレスポンス

画像 URL の有効期間は 24 時間です。速やかに画像をダウンロードしてください。
{
    "status_code": 200,
    "request_id": "56e318fd-ed60-99e8-8ca1-cdef25ca4xxx",
    "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,
        "task_id": "77093787-a217-4c29-9cd4-ca7b5ac86xxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2026-03-31 23:04:46.166",
        "scheduled_time": "2026-03-31 23:04:46.208",
        "end_time": "2026-03-31 23:05:11.664",
        "finished": true
    },
    "usage": {
        "input_tokens": 720,
        "output_tokens": 11,
        "characters": 0,
        "size": "2048*2048",
        "total_tokens": 731,
        "image_count": 1
    }
}

Java

リクエスト例
import com.alibaba.dashscope.aigc.imagegeneration.*;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.Collections;

public class Main {

    static {
        // これはシンガポールリージョンのベース URL です。ベース URL はリージョン固有です。
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // 環境変数が設定されていない場合は、次の行をご利用の Model Studio API キーに置き換えてください: apiKey="sk-xxx"
    // API キーはリージョンによって異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static ImageGenerationResult waitTask(String taskId)
            throws ApiException, NoApiKeyException {
        ImageGeneration imageGeneration = new ImageGeneration();
        return imageGeneration.wait(taskId, apiKey);
    }

    public static void asyncCall() throws ApiException, NoApiKeyException, UploadFileException {
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Collections.singletonList(
                        Collections.singletonMap("text", "自然でカジュアルな自撮りスタイルの若い女性。超高解像度でリアルなライフスタイル写真。彼女は黄色の花柄の長袖トップスを着ており、長く少しウェーブのかかった髪が自然に垂れている。背景は屋外の自然な風景で、近くに緑の植物があり、遠くに水と山が見える。柔らかく自然な太陽光が彼女の顔と体に降り注ぎ、自然な光と影の効果を生み出している。カメラアングルは、彼女が持っているかのような自撮り視点からのミディアムショット。彼女は自然に立っており、リラックスして快適な状態を表現している。アングルは自然で、不意の一瞬を捉えたスナップショットのスタイル。")
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.7-image-pro")
                .messages(Collections.singletonList(message))
                .enableSequential(false)
                .n(1)
                .size("2K")
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult taskResult = null;
        try {
            System.out.println("----非同期呼び出し、タスク作成中----");
            taskResult = imageGeneration.asyncCall(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println("タスク作成完了: " + JsonUtils.toJson(taskResult));

        // タスクが完了するのを待ちます。
        String taskId = taskResult.getOutput().getTaskId();
        ImageGenerationResult result = waitTask(taskId);
        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": "7d026dc1-e8c9-9caa-84ac-e82e2da97xxx",
    "output": {
        "task_id": "2de18c56-c151-4b80-8105-1d164733exxx",
        "task_status": "PENDING"
    },
    "status_code": 200,
    "code": "",
    "message": ""
}

2. タスクステータスのクエリレスポンス

{
    "requestId": "daea7295-4ce0-928a-9a11-4d2bea058xxx",
    "usage": {
        "input_tokens": 720,
        "output_tokens": 11,
        "total_tokens": 731,
        "image_count": 1,
        "size": "2048*2048"
    },
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "task_id": "2de18c56-c151-4b80-8105-1d164733exxx",
        "task_status": "SUCCEEDED",
        "finished": true,
        "submit_time": "2026-03-31 19:49:53.124",
        "scheduled_time": "2026-03-31 19:49:53.175",
        "end_time": "2026-03-31 19:50:53.160"
    },
    "status_code": 200,
    "code": "",
    "message": ""
}

Curl

説明
  • 非同期呼び出しの場合、ヘッダーパラメーター X-DashScope-Asyncenable に設定する必要があります。

  • 非同期タスクの task_id は 24 時間クエリできます。この期間を過ぎると、タスクのステータスは UNKNOWN に変わります。

ステップ 1: タスクの作成

リクエストはタスク ID (task_id) を返します。

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
    --header 'Content-Type: application/json' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --header "X-DashScope-Async: enable" \
    --data '{
        "model": "wan2.7-image-pro",
        "input": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {"text": "精巧な窓、美しい木製のドア、そして花が飾られた花屋"}
                    ]
                }
            ]
        },
        "parameters": {
            "size": "2K",
            "n": 1,
            "watermark": false,
            "thinking_mode": true
        }
    }'
    
ステップ 2: タスク結果のクエリ

前のステップの task_id を使用して、task_status が SUCCEEDED または FAILED に変わるまで API をポーリングしてタスクのステータスを確認します。

前の API 呼び出しで返された task_id の値で {task_id} を置き換えます。task_id は 24 時間クエリに対して有効です。

curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Qwen - 同期呼び出し

Python

リクエスト例

import json
import os
import dashscope
from dashscope import MultiModalConversation

# シンガポールリージョンにはこの URL を使用します。北京リージョンの場合は、https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1 に置き換えてください
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.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"
                        }
                    ]
                }
            }
        ]
    }
}

Java

リクエスト例

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://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1 に置き換えてください
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.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",
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png?Expires=xxx"
                        }
                    ]
                }
            }
        ]
    }
}

Curl

リクエスト例
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "model": "qwen-image-2.0-pro",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "北京の冬の街並み。灰色の瓦屋根と朱色の外壁を持つ伝統的な中国の店が2軒隣り合って建っている。軒下には馬の切り絵をモチーフにした温かい光の提灯が吊るされ、曇り空の拡散光の下、湿った石畳に柔らかな光輪を投げかけている。左側は書道店。古びた藍色の看板には、大胆な行書体で「テキストレンダリング」と書かれている。店のガラスには縦書きの巻物が上から下に田英章の硬筆スタイルで「プロフェッショナルなスライド、バイリンガルポスター、高度なインフォグラフィック」と書かれ、「1k トークン」と読める朱印が押されている。店内には、壁に3つの縦書きの書道作品がかすかに見える。1つ目は「Alibaba」、2つ目は「Qwen」、3つ目は「画像生成」。白髪の老人がカメラに背を向けてその芸術を鑑賞している。右側は花屋で、看板には生花で「リアルな質感」と書かれている。店内には、多層の棚に赤いバラ、ピンクの牡丹、緑の植物が飾られている。ドアには円形で花柄のバッジに「2k 解像度」と書かれ、入り口のカラフルなネオンサインには「詳細な描写:人物、自然、建築」というテキストが表示されている。2つの店の間に、雪だるまが古風な黒板を持っており、チョークで「Qwen-Image-2.0 公式リリース」と書かれている。通りの左側には、若いカップルが寄り添っている。スリムな顔立ちの女性は、ベージュのカシミアコートとヌードトーンのシアータイツを着用し、「画像生成と編集を一つに」という白いテキストが印刷された透明なハート型の風船を持っている。風船の中には、ふわふわのカピバラのぬいぐるみが入っている。男性は、仕立ての良いダークグレーのウールコートの下に、明るい色のタートルネックセーターを着ている。通りの右側では、「より小さなモデル、より速いスピード」と背中に書かれた配達員がスピードを上げて通り過ぎていく。通り全体が、織り交ぜられた光と影を通して、ダイナミックな動きと静かな静けさを融合させている。"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "negative_prompt": "低解像度、低品質、歪んだ手足、奇形の指、過飽和の色、蝋人形のような外観、顔のディテールの欠如、過度の滑らかさ、AIのようなアーティファクト、混沌とした構図、ぼやけたまたは歪んだテキスト。",
        "prompt_extend": true,
        "watermark": false,
        "size": "2048*2048"
    }
}'
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "model": "qwen-image-2.0-pro",
    "input": {
      "messages": [
        {
          "role": "user",
          "content": [
            {
              "text": "癒し系の手描きポスター。緑豊かな芝生の上でボールで遊ぶ3匹の子犬が、鳥や星などの装飾要素で飾られている。メインタイトル「ボールで遊ぼう!」は、太字の青いカートゥーンフォントで上部に目立つように表示されている。その下には、サブタイトル「さあ、[腕前を披露して]!」が緑色のフォントで表示されている。吹き出しが「へへ、次は僕が友達を驚かせる番だ!」というテキストで遊び心を加えている。下部には、「また友達とボール遊びができるね!」という補足テキストがある。カラーパレットは、新鮮な緑と青を中心に、明るいピンクと黄色のトーンでアクセントをつけ、陽気で子供らしい雰囲気を強調している。"
            }
          ]
        }
      ]
    },
    "parameters": {
      "negative_prompt": "低解像度、低品質、歪んだ手足、奇形の指、過飽和の色、蝋人形のような外観、顔のディテールの欠如、過度の滑らかさ、AIのようなアーティファクト、混沌とした構図、ぼやけたまたは歪んだテキスト。",
      "prompt_extend": true,
      "watermark": false,
      "size": "2048*2048"
    }
}'
レスポンス例
{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "content": [
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx"
                        }
                    ],
                    "role": "assistant"
                }
            }
        ]
    },
    "usage": {
        "height": 2048,
        "image_count": 1,
        "width": 2048
    },
    "request_id": "d0250a3d-b07f-49e1-bdc8-6793f4929xxx"
}

主要な機能

1. プロンプト追従

パラメーター: messages.content.text または input.prompt (必須)、および negative_prompt (オプション)。

  • prompt:主題、シーン、スタイル、ライティング、構図など、画像に含めたい内容を記述します。これは、テキストからの画像生成を制御するためのコアパラメーターです。

  • negative prompt:画像から除外したい内容 (「ぼやけ」や「余分な指」など) を記述します。このパラメーターは、出力品質を向上させるのに役立ちます。

最良の結果を得るには、構造化プロンプトを使用することを推奨します。詳細については、「Text-to-Image プロンプトガイド」をご参照ください。

negative_prompt パラメーターは、wan2.7-image-pro および wan2.7-image ではサポートされていません。不要な要素を除外するには、プロンプト内で「xxx を含めない」のように記述してください。

2. プロンプトリライトの有効化

パラメーター: parameters.prompt_extend (ブール値、デフォルトは true)。

この機能は、短いプロンプトを自動的に拡張および最適化し、画像品質を向上させます。この機能を有効にすると、大規模モデルを使用してプロンプトをリライトするため、生成時間が 3〜5 秒長くなります。

推奨事項:

  • 短いまたは一般的なプロンプトに対してこの機能を有効にすると、画像品質が大幅に向上します。

  • 画像の詳細を正確に制御する必要がある場合、包括的なプロンプトを提供している場合、またはレスポンスレイテンシーが懸念される場合は、この機能を無効にしてください。無効にするには、prompt_extend パラメーターを false に設定します。

prompt_extend パラメーターは、wan2.7-image-pro および wan2.7-image ではサポートされていません。これらのモデルで画像品質を向上させるには、代わりに thinking_mode を有効にしてください。

3. 出力画像の解像度設定

パラメーター: parameters.size (文字列)、フォーマットは 「width*height」 です。

モデル

サイズ形式

ピクセル範囲

デフォルト

アスペクト比

wan2.7-image-pro

短縮形

1K (1024*1024)、2K (2048*2048)、4K (4096*4096)

2K (2048*2048)

1:8 – 8:1

カスタム 「width*height」

768*768 – 4096*4096

wan2.7-image

短縮形

1K (1024*1024)、2K (2048*2048)

2K (2048*2048)

1:8 – 8:1

カスタム 「width*height」

768*768 – 2048*2048

wan2.6-image (テキストと画像が交互に出力されるモード)

カスタム 「width*height」

768*768 – 1280*1280

入力のアスペクト比に一致 (≤1280*1280)

1:4 – 4:1

wan2.6-t2i、wan2.5-t2i-preview

カスタム 「width*height」

1280*1280 – 1440*1440

1280*1280

1:4 – 4:1

wan2.2 およびそれ以前の t2i モデル

カスタム 「width*height」

[512, 1440]、かつ総ピクセル数が 1440*1440 以下

1024*1024

-

qwen-image-2.0 シリーズ

カスタム 「width*height」

512*512 – 2048*2048

2048*2048

-

qwen-image-max / qwen-image-plus シリーズ

固定のプリセットサイズのみ

下記のプリセットサイズをご参照ください

1664*928 (16:9)

-

wan2.7-image-pro モデルは 4K 解像度と最大 4096*4096 のカスタム解像度をサポートしますが、これは Text-to-Image タスク (画像が入力されず、画像セット生成が無効になっている場合) に限定されます。他のすべてのシナリオでは、解像度は 2K (2048*2048) に制限されます。

qwen-image-max および qwen-image-plus シリーズは、以下の 5 つの固定解像度のみをサポートします:

  • 1664*928 (デフォルト): 16:9

  • 1472*1104: 4:3

  • 1328*1328: 1:1

  • 1104*1472: 3:4

  • 928*1664: 9:16

推奨解像度:

アスペクト比

4K (wan2.7-image-pro)

2K (wan2.7-image, qwen-image-2.0)

1K (Wan t2i)

1:1

4096*4096

2048*2048

1280*1280

16:9

4096*2304

2688*1536

1696*960

9:16

2304*4096

1536*2688

960*1696

4:3

4096*3072

2368*1728

1472*1104

3:4

3072*4096

1728*2368

1104*1472

4. 画像セット生成

パラメーター: parameters.enable_sequential (ブール値、デフォルトは false)。wan2.7-image-pro および wan2.7-image のみでサポートされます。

true に設定すると、画像セット生成モードが有効になります。このモードでは、モデルはプロンプトと任意のリファレンス画像を使用して、単一のリクエストからストーリーに一貫性のある複数の画像を生成します。

  • 画像数n パラメーターで制御します。このモードが有効な場合、この値の範囲は 1〜12 で、デフォルトは 12 です。モデルは実際に生成する画像数を決定し、その数は n を超えません。

  • 注意: 画像セット生成が有効な場合、thinking_mode および color_palette パラメーターは利用できません。

5. 思考モード

パラメーター: parameters.thinking_mode (ブール値、デフォルトは true)。wan2.7-image-pro および wan2.7-image のみでサポートされます。

有効にすると、モデルは推論能力を強化して画像品質を向上させます。これにより、生成時間が増加します。

画像セット生成が無効 (enable_sequential=false) の場合にのみ利用可能です。

6. カスタムカラーパレット

パラメーター: parameters.color_palette (配列)。wan2.7-image-pro および wan2.7-image のみでサポートされます。

オブジェクトの配列を提供することで、画像の配色を定義します。各オブジェクトは 16進数カラーとその比率を指定します。3〜10 色 (8 色を推奨) を提供する必要があり、すべての比率の合計は 100.00% になる必要があります。

画像セット生成が無効 (enable_sequential=false) の場合にのみ利用可能です。

入力例を表示するにはクリックしてください

"color_palette": [
    {
        "hex": "#C2D1E6",
        "ratio": "23.51%"
    },
    {
        "hex": "#CDD8E9",
        "ratio": "20.13%"
    },
    {
        "hex": "#B5C8DB",
        "ratio": "15.88%"
    },
    {
        "hex": "#C0B5B4",
        "ratio": "13.27%"
    },
    {
        "hex": "#DAE0EC",
        "ratio": "10.11%"
    },
    {
        "hex": "#636574",
        "ratio": "8.93%"
    },
    {
        "hex": "#CACAD2",
        "ratio": "5.55%"
    },
    {
        "hex": "#CBD4E4",
        "ratio": "2.62%"
    }
]

本番デプロイメント

  • 耐障害性

    • レート制限の処理:API が Throttling エラーコードまたは HTTP 429 状態コードを返した場合、レート制限がトリガーされています。レート制限への対処方法については、レート制限をご参照ください。

    • 非同期タスクのポーリング:非同期タスクの結果をポーリングする際は、レート制限がトリガーされるのを避けるため、合理的なポーリング戦略を実装してください。例えば、最初の 30 秒間は 3 秒ごとにポーリングし、その後ポーリング間隔を徐々に長くします。タスクには最終的なタイムアウト (例:2 分) を設定してください。タスクがタイムアウトした場合は、失敗として処理してください。

  • リスク防止

    • 結果の永続化:API から返されるイメージ URL の有効期間は 24 時間です。本番システムでは、URL を受信後すぐにイメージをダウンロードし、Alibaba Cloud Object Storage Service (OSS) などの永続ストレージサービスに転送する必要があります。

    • コンテンツモデレーション:すべての prompt および negative_prompt の入力は、コンテンツモデレーションの対象となります。入力内容がコンプライアンスに違反している場合、リクエストはブロックされ、DataInspectionFailed エラーが返されます。

    • 生成コンテンツの著作権およびコンプライアンスリスク:プロンプトが、適用されるすべての法律および規制に準拠していることを確認してください。ブランドの商標、有名人の肖像、または著作権で保護された知的財産 (IP) を含むコンテンツを生成すると、権利侵害のリスクが生じる可能性があります。関連するすべてのリスクを評価し、負担することはお客様の責任となります。

API リファレンス

課金とレート制限

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

  • レート制限については、画像生成をご参照ください。

  • 料金は、正常に生成された画像に対してのみ発生します。リクエストの失敗や処理エラーでは、料金が発生したり、新規ユーザー向けの無料クォータが消費されたりすることはありません。

エラーコード

モデルの呼び出しが失敗し、エラーメッセージが返された場合は、エラーコードをご参照ください。

よくある質問

Q:イメージ URL の有効期間はどのくらいですか。イメージを永続的に保存するにはどうすればよいですか。

A:イメージ URL の有効期限は 24 時間です。プログラムを使用して直ちにイメージをダウンロードし、ローカルサーバーや Alibaba Cloud Object Storage Service などの永続ストレージに保存する必要があります。

Q:API 呼び出しで DataInspectionFailed エラーが返されます。どうすれば解決できますか。

A:このエラーは、入力がコンテンツモデレーションをトリガーしたことを意味します。プロンプトまたは negative_prompt を確認し、非準拠コンテンツを削除してから、リクエストをリトライしてください。

Q:どのような場合に prompt_extend パラメーターを有効または無効にすればよいですか。

A:簡潔なプロンプトや、よりクリエイティブな出力を求める場合は、有効 (デフォルト) のままにしてください。プロンプトがすでに詳細かつ専門的である場合や、API レイテンシーに敏感な場合は、明示的に false に設定します。

注:wan2.7-image-pro および wan2.7-image モデルは、prompt_extend パラメーターをサポートしていません。イメージの品質を向上させるには、代わりに thinking_mode を有効にしてください。