All Products
Search
Document Center

Alibaba Cloud Model Studio:Wan2.6 - pembuatan dan pengeditan gambar

Last Updated:Mar 06, 2026

Model pembuatan dan pengeditan gambar Wan2.6 mendukung input multi-gambar, pengeditan gambar, serta output teks-gambar interleaved.

Ikhtisar model

Model

Deskripsi

Spesifikasi gambar output

wan2.6-image

Mengedit gambar dan menghasilkan output teks-gambar interleaved.

Format gambar: PNG

Untuk resolusi dan dimensi gambar, lihat parameter size.

Catatan

Sebelum memanggil API, periksa daftar model dan harga yang didukung di setiap wilayah.

Prasyarat

Dapatkan Kunci API dan ekspor Kunci API sebagai Variabel lingkungan.

Penting

Wilayah Singapura, Virginia, dan Beijing memiliki Kunci API dan titik akhir permintaan yang terpisah. Jangan menggunakannya secara bergantian karena pemanggilan lintas-wilayah dapat menyebabkan kegagalan autentikasi atau kesalahan layanan. Untuk detail selengkapnya, lihat Pilih wilayah dan mode penyebaran.

HTTP synchronous

Ambil hasil dalam satu permintaan—direkomendasikan untuk sebagian besar skenario.

Singapura: POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Virginia: POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Beijing: POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Parameter permintaan

Pengeditan gambar

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "model": "wan2.6-image",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "Generate a tomato and egg stir-fry based on the style of image 1 and the background of image 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"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "prompt_extend": true,
        "watermark": false,
        "n": 1,
        "enable_interleave": false,
        "size": "1K"
    }
}'

Output teks-gambar interleaved (hanya streaming)

Jika Anda mengaktifkan output teks-gambar interleaved (parameters.enable_interleave = true) melalui antarmuka sinkron, Anda harus mengaktifkan streaming output. Selain itu, Anda juga harus memenuhi kedua kondisi berikut:

  • Atur X-DashScope-Sse ke enable.

  • Atur parameters.stream ke true.

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'X-DashScope-Sse: enable' \
--data '{
    "model": "wan2.6-image",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "Give me a three-image tutorial for stir-fried pork with chili peppers"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "max_images": 3,
        "size": "1280*1280",
        "stream": true,
        "enable_interleave":true
    }
}'
Header permintaan

Content-Type string (Wajib)

Tipe konten permintaan. Harus berupa application/json.

Authorization string (Wajib)

Kredensial autentikasi menggunakan Kunci API Model Studio.

Contoh: Bearer sk-xxxx

X-DashScope-Sse string (Opsional)

Mengaktifkan streaming output.

  • Jika parameters.enable_interleave=true, Anda harus mengatur field ini ke enable.

  • Dalam kasus lain, header ini dapat diabaikan.

Body permintaan

model string (Wajib)

Nama model. Atur ke wan2.6-image.

input object (Wajib)

Informasi input dasar.

Properti

messages array (Wajib)

Array konten permintaan. Saat ini, hanya percakapan satu giliran yang didukung. Berikan satu set parameter role dan content. Percakapan multi-giliran tidak didukung.

Properti

role string (Wajib)

Peran pesan. Atur parameter ini ke user.

content array (Wajib)

Array konten pesan.

Properti

text string (Wajib)

Prompt positif yang menjelaskan konten, gaya, dan komposisi gambar yang diinginkan.

Mendukung bahasa Tionghoa dan Inggris. Panjang maksimum adalah 2.000 karakter. Setiap karakter Tionghoa, huruf, angka, atau simbol dihitung sebagai satu karakter. Konten yang melebihi batas ini akan dipotong secara otomatis.

Contoh: Hasilkan hidangan tumis tomat dan telur sesuai dengan gaya gambar ini.

Catatan: Array content harus berisi tepat satu objek dengan field text.

image string (Opsional)

URL atau string gambar yang dikodekan Base64.

Batasan gambar:

  • Format gambar: JPEG, JPG, PNG (saluran alfa tidak didukung), BMP, WEBP.

  • Resolusi gambar: Lebar dan tinggi masing-masing harus antara 240 hingga 8.000 piksel.

  • Ukuran file: Tidak boleh melebihi 10 MB.

Batas jumlah gambar:

  • Jumlah gambar input tergantung pada parameter parameters.enable_interleave.

    • Jika enable_interleave=true (output teks-gambar interleaved), Anda dapat memasukkan 0 hingga 1 gambar.

    • Jika enable_interleave=false (pengeditan gambar), Anda harus memasukkan 1 hingga 4 gambar.

  • Jika Anda memasukkan beberapa gambar, sertakan beberapa objek image dalam array content, dengan urutan gambar ditentukan oleh urutan array.

Format input yang didukung:

  1. Gunakan URL yang dapat diakses publik

    • Mendukung protokol HTTP atau HTTPS.

    • Contoh: http://wanx.alicdn.com/material/xxx.jpeg.

  2. Berikan string gambar yang dikodekan Base64

    • Format: data:{MIME_type};base64,{base64_data}

    • Contoh: data:image/jpeg;base64,GDU7MtCZzEbTbmRZ... (hanya ilustrasi; berikan string lengkap saat digunakan)

    • Untuk panduan pengkodean Base64, lihat Metode input gambar.

parameters object (Opsional)

Parameter pemrosesan gambar.

Properti

negative_prompt string (Opsional)

Prompt negatif yang menjelaskan konten yang tidak diinginkan dalam gambar.

Mendukung bahasa Tionghoa dan Inggris. Panjang maksimum adalah 500 karakter. Karakter berlebih dipotong secara otomatis.

Contoh nilai: resolusi rendah, kualitas rendah, anggota tubuh cacat, jari cacat, warna terlalu jenuh, tampilan seperti lilin, tidak ada detail wajah, kulit terlalu halus, artefak yang terlihat seperti AI, komposisi kacau, serta teks buram atau terdistorsi.

size string (Opsional)

Resolusi gambar output. Mendukung dua metode: merujuk proporsi gambar input atau langsung menentukan dimensi.

Jika enable_interleave=false (mode pengeditan gambar):

  • Metode 1: Merujuk proporsi gambar input (direkomendasikan)

    Opsi resolusi output yang tersedia: 1K (default), 2K.

    • 1K: Total piksel output mendekati 1.280×1.280, mempertahankan rasio aspek gambar input terakhir.

    • 2K: Total piksel output mendekati 2.048×2.048, mempertahankan rasio aspek gambar input terakhir.

  • Metode 2: Tentukan lebar dan tinggi gambar output dalam piksel

    Total piksel harus berada di antara [768×768, 2.048×2.048], dengan rentang rasio aspek [1:4, 4:1].

    Nilai piksel output aktual adalah kelipatan 16 terdekat dari nilai yang ditentukan.

Jika enable_interleave=true (mode output teks-gambar interleaved):

  • Metode 1: Merujuk proporsi gambar input (metode default)

    • Jika total piksel gambar input ≤ 1.280×1.280, output sesuai dengan total piksel dan rasio aspek input.

    • Jika total piksel gambar input > 1.280×1.280, total piksel output mendekati 1.280×1.280, mempertahankan rasio aspek input.

  • Metode 2: Tentukan lebar dan tinggi gambar output dalam piksel

    Total piksel harus berada di antara [768×768, 1.280×1.280], dengan rentang rasio aspek [1:4, 4:1].

    Nilai piksel output aktual adalah kelipatan 16 terdekat dari nilai yang ditentukan.

Resolusi yang direkomendasikan untuk rasio aspek umum

  • 1:1: 1.280×1.280

  • 2:3: 800*1200

  • 3:2: 1.200×800

  • 3:4: 960*1280

  • 4:3: 1.280×960

  • 9:16: 720×1280

  • 16:9: 1.280×720

  • 21:9: 1.344×576

enable_interleave bool (Opsional)

Mengontrol mode pembuatan gambar:

  • false (default): Menunjukkan mode pengeditan gambar (mendukung input multi-gambar dan pembuatan gambar konsisten subjek).

    • Kasus penggunaan: Edit, terapkan style transfer, atau hasilkan gambar konsisten subjek berdasarkan 1 hingga 4 gambar input.

    • Input: Harus menyediakan minimal satu gambar referensi.

    • Output: Dapat menghasilkan 1 hingga 4 gambar hasil.

  • true: Mengaktifkan mode output teks-gambar interleaved (mendukung input satu gambar atau tanpa gambar).

    • Kasus penggunaan: Hasilkan konten gabungan teks dan gambar berdasarkan deskripsi teks, atau lakukan pembuatan teks-ke-gambar murni.

    • Input: Dapat memberikan tanpa gambar (teks-ke-gambar) atau hingga satu gambar referensi.

    • Output: Menghasilkan konten campuran yang berisi teks dan gambar.

n integer (Opsional)

Penting

Parameter n berdampak langsung pada biaya. Biaya = harga satuan × jumlah gambar yang berhasil dihasilkan. Konfirmasi harga model sebelum memanggil.

Menentukan jumlah gambar yang akan dihasilkan. Rentang valid dan makna tergantung pada status enable_interleave (saklar mode):

  • Jika enable_interleave=false (mode pengeditan gambar):

    • Fungsi: Secara langsung mengontrol jumlah gambar yang dihasilkan.

    • Rentang: 1 hingga 4. Nilai default adalah 4.

    • Saat pengujian, atur nilai ini ke 1 untuk validasi berbiaya rendah.

  • Jika enable_interleave=true (mode teks-gambar interleaved):

    • Batasan: Parameter ini default ke 1 dan harus tetap 1. Mengatur nilai lain menyebabkan kesalahan.

    • Dalam mode ini, gunakan parameter max_images untuk mengontrol jumlah maksimum gambar yang dihasilkan.

max_images integer (Opsional)

Penting

Parameter max_images berdampak pada biaya. Biaya = harga satuan × jumlah gambar yang berhasil dihasilkan. Konfirmasi harga model sebelum memanggil.

Hanya berlaku dalam mode output teks-gambar interleaved (enable_interleave=true).

  • Fungsi: Menentukan jumlah maksimum gambar yang dapat dihasilkan model dalam satu respons.

  • Rentang: 1 hingga 5. Nilai default adalah 5.

  • Parameter ini menetapkan batas atas. Jumlah gambar yang benar-benar dihasilkan ditentukan oleh inferensi model dan mungkin kurang dari nilai yang ditentukan (misalnya, mengatur 5 mungkin hanya menghasilkan 3 gambar).

prompt_extend bool (Opsional)

Hanya berlaku dalam mode pengeditan gambar (enable_interleave = false).

Mengaktifkan penulisan ulang prompt cerdas. Fitur ini hanya mengoptimalkan dan memperhalus prompt positif, tanpa mengubah prompt negatif.

  • true (default)

  • false

stream bool (Opsional)

Mengontrol apakah respons menggunakan streaming output. Dalam mode output teks-gambar interleaved (enable_interleave = true), Anda harus mengatur ini ke true.

  • false (default)

  • true

watermark bool (Opsional)

Menambahkan label watermark di pojok kanan bawah gambar dengan teks tetap "AI Generated".

  • false (default)

  • true

seed integer (Opsional)

Bibit angka acak. Rentang valid: [0, 2147483647].

Menggunakan seed yang sama membuat hasil relatif stabil. Jika diabaikan, algoritma menggunakan seed acak.

Catatan: Pembuatan gambar bersifat probabilistik. Bahkan dengan seed yang sama, hasilnya mungkin berbeda.

Parameter respons

Eksekusi tugas berhasil

Data tugas (status tugas dan URL gambar) hanya disimpan selama 24 jam, lalu secara otomatis dihapus. Segera simpan gambar yang dihasilkan.

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ],
                    "role": "assistant"
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "image_count": 1,
        "input_tokens": 0,
        "output_tokens": 0,
        "size": "1376*768",
        "total_tokens": 0
    },
    "request_id": "a3f4befe-cacd-49c9-8298-xxxxxx"
}

Eksekusi tugas berhasil (streaming output)

Data tugas (status tugas dan URL gambar) hanya disimpan selama 24 jam, lalu secara otomatis dihapus. Segera simpan gambar yang dihasilkan.

{"output":{"choices":[{"message":{"content":[{"type":"text","text":"meat"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":571,"image_count":3,"output_tokens":543,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"fragrant"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":572,"image_count":3,"output_tokens":544,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"intertwine"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":573,"image_count":3,"output_tokens":545,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
......
{"output":{"choices":[{"message":{"content":[{"type":"image","image":"https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx.png?Expires=xxxx"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":557,"image_count":3,"output_tokens":529,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"while"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":558,"image_count":3,"output_tokens":530,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"hot"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":559,"image_count":3,"output_tokens":531,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"pinch"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":560,"image_count":3,"output_tokens":532,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"up"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":561,"image_count":3,"output_tokens":533,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"a piece of"}],"role":"assistant"},"finish_reason":"null"}],"finished":true},"usage":{"total_tokens":562,"image_count":3,"output_tokens":534,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}
{"output":{"choices":[{"message":{"content":[{"type":"text","text":"meat"}],"role":"assistant"},"finish_reason":"stop"}],"finished":true},"usage":{"total_tokens":563,"image_count":3,"output_tokens":535,"size":"1280*1280","input_tokens":28},"request_id":"d2dcb952-bf91-4a6a-aad5-xxxxxx"}

Kegagalan eksekusi tugas

Jika tugas gagal, informasi kesalahan dikembalikan. Gunakan field code dan message untuk mengidentifikasi penyebabnya. Lihat Pesan kesalahan untuk troubleshooting.

{
    "request_id": "a4d78a5f-655f-9639-8437-xxxxxx",
    "code": "InvalidParameter",
    "message": "num_images_per_prompt must be 1"
}

output object

Informasi output tugas.

Properti

choices array of object

Konten output yang dihasilkan model.

Properti

finish_reason string

Alasan penghentian tugas.

Skenario output non-streaming: Berhenti secara alami dengan stop.

Skenario output streaming: Parameter ini menunjukkan apakah aliran data telah selesai ditransmisikan.

  • Selama transmisi: Paket data sebelumnya terus-menerus mengembalikan "finish_reason": "null", menunjukkan konten masih dihasilkan. Lanjutkan menerima.

  • Pada akhir transmisi: Hanya struktur JSON terakhir yang mengembalikan "finish_reason":"stop", menunjukkan permintaan streaming telah sepenuhnya selesai. Hentikan penerimaan.

message object

Pesan yang dikembalikan oleh model.

Properti

role string

Peran pesan, tetap sebagai assistant.

content array

Properti

type string

Tipe output. Nilai enumerasi: text, image.

text string

Teks yang dihasilkan.

image string

URL gambar yang dihasilkan dalam format PNG.

Tautan kedaluwarsa setelah 24 jam. Unduh dan simpan gambar segera.

finished bool

Flag penyelesaian permintaan.

  • true: Permintaan selesai.

  • false: Permintaan belum selesai.

usage object

Statistik output. Hanya menghitung hasil yang berhasil.

Properti

image_count integer

Jumlah gambar yang dihasilkan.

size string

Resolusi gambar yang dihasilkan. Contoh: 1376*768.

input_tokens integer

Ditagih per jumlah gambar.

  • Dalam mode pengeditan gambar, tetap 0.

  • Dalam mode teks-gambar interleaved, field ini menghitung token teks input (tidak ditagih).

output_tokens integer

Ditagih per jumlah gambar.

  • Dalam mode pengeditan gambar, tetap 0.

  • Dalam mode teks-gambar interleaved, field ini menghitung token teks output (tidak ditagih).

total_tokens integer

Ditagih per jumlah gambar.

  • Dalam mode pengeditan gambar, tetap 0.

  • Dalam mode teks-gambar interleaved, field ini menghitung total token (tidak ditagih).

request_id string

Pengidentifikasi unik untuk permintaan. Gunakan untuk pelacakan dan troubleshooting masalah.

code string

Kode kesalahan. Dikembalikan hanya jika permintaan gagal. Lihat kode kesalahan untuk detailnya.

message string

Pesan kesalahan detail. Dikembalikan hanya jika permintaan gagal. Lihat kode kesalahan untuk detailnya.

HTTP asynchronous

Tugas pembuatan gambar biasanya memakan waktu 1 hingga 2 menit. API menggunakan pemanggilan asinkron untuk mencegah timeout permintaan. Prosesnya melibatkan dua langkah inti: Buat tugas → Polling hasil

Durasi aktual tergantung pada panjang antrian dan eksekusi layanan. Bersabarlah saat mengambil hasil.

Langkah 1: Buat tugas dan dapatkan ID tugas

Singapura: POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/image-generation/generation

Virginia: POST https://dashscope-us.aliyuncs.com/api/v1/services/aigc/image-generation/generation

Beijing: POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation

Catatan
  • Setelah tugas dibuat, gunakan task_id yang dikembalikan untuk menanyakan hasilnya. task_id berlaku selama 24 jam. Jangan membuat tugas duplikat. Sebagai gantinya, gunakan polling untuk mengambil hasilnya.

  • Untuk tutorial pemula, lihat Postman.

Parameter permintaan

Pengeditan gambar

curl --location 'https://dashscope-intl.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.6-image",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "Generate a tomato and egg stir-fry based on the style of image 1 and the background of image 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"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "prompt_extend": true,
        "watermark": false,
        "n": 1,
        "enable_interleave": false,
        "size": "1K"
    }
}'

Output teks-gambar interleaved

curl --location 'https://dashscope-intl.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.6-image",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "Give me a three-image tutorial for stir-fried pork with chili peppers"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "max_images": 3,
        "size": "1280*1280",
        "enable_interleave":true
    }
}'

Header permintaan

Content-Type string (Wajib)

Tipe konten permintaan. Harus application/json.

Authorization string (Wajib)

Kredensial autentikasi menggunakan Kunci API Model Studio.

Contoh: Bearer sk-xxxx

X-DashScope-Async string (Wajib)

Parameter konfigurasi pemrosesan asinkron. Harus diatur ke enable.

Penting

Mengabaikan header ini mengembalikan kesalahan: “current user api does not support synchronous calls”.

Body permintaan

model string (Wajib)

Nama model.

Contoh: wan2.6-image.

input object (Wajib)

Informasi input dasar.

Properti

messages array (Wajib)

Array konten permintaan. Saat ini, hanya percakapan satu giliran yang didukung. Berikan satu set parameter role dan content. Percakapan multi-giliran tidak didukung.

Properti

role string (Wajib)

Peran pesan. Atur parameter ini ke user.

content array (Wajib)

Array konten pesan.

Properti

text string (Wajib)

Prompt positif yang menjelaskan konten, gaya, dan komposisi gambar yang diinginkan.

Mendukung bahasa Tionghoa dan Inggris. Panjang maksimum adalah 2.000 karakter. Setiap karakter Tionghoa, huruf, angka, atau simbol dihitung sebagai satu karakter. Konten yang melebihi batas ini akan dipotong secara otomatis.

Contoh: Generate a tomato and egg stir-fry based on this image style.

Catatan: Array content harus berisi tepat satu objek dengan field text.

image string (Opsional)

URL atau string gambar yang dikodekan Base64.

Batasan gambar:

  • Format gambar: JPEG, JPG, PNG (saluran alfa tidak didukung), BMP, WEBP.

  • Resolusi gambar: Lebar dan tinggi masing-masing harus antara 240 hingga 8.000 piksel.

  • Ukuran file: Tidak boleh melebihi 10 MB.

Batas jumlah gambar:

  • Jumlah gambar input tergantung pada parameter parameters.enable_interleave.

    • Jika enable_interleave=true (output teks-gambar interleaved), Anda dapat memasukkan 0 hingga 1 gambar.

    • Jika enable_interleave=false (pengeditan gambar), Anda harus memasukkan 1 hingga 4 gambar.

  • Jika Anda memasukkan beberapa gambar, sertakan beberapa objek image dalam array content, dengan urutan gambar ditentukan oleh urutan array.

Format input yang didukung:

  1. Gunakan URL yang dapat diakses publik

    • Mendukung protokol HTTP atau HTTPS.

    • Contoh: http://wanx.alicdn.com/material/xxx.jpeg.

  2. Berikan string gambar yang dikodekan Base64

    • Format: data:{MIME_type};base64,{base64_data}

    • Contoh: data:image/jpeg;base64,GDU7MtCZzEbTbmRZ... (hanya ilustrasi; berikan string lengkap saat digunakan)

    • Untuk panduan pengkodean Base64, lihat Metode input gambar.

parameters object (Opsional)

Parameter pemrosesan gambar.

Properti

negative_prompt string (Opsional)

Prompt negatif yang menjelaskan konten yang tidak diinginkan dalam gambar.

Mendukung bahasa Tionghoa dan Inggris. Panjang maksimum adalah 500 karakter. Karakter berlebih dipotong secara otomatis.

Nilai contoh: Low resolution, low quality, deformed limbs, deformed fingers, oversaturated colors, wax-like appearance, no facial details, overly smooth skin, AI-looking artifacts, chaotic composition, blurry or distorted text.

size string (Opsional)

Resolusi gambar output. Mendukung dua metode: merujuk proporsi gambar input atau langsung menentukan dimensi.

Jika enable_interleave=false (mode pengeditan gambar):

  • Metode 1: Merujuk proporsi gambar input (direkomendasikan)

    Opsi resolusi output yang tersedia: 1K (default), 2K.

    • 1K: Total piksel output mendekati 1.280×1.280, mempertahankan rasio aspek gambar input terakhir.

    • 2K: Total piksel output mendekati 2.048×2.048, mempertahankan rasio aspek gambar input terakhir.

  • Metode 2: Tentukan lebar dan tinggi gambar output dalam piksel

    Total piksel harus berada di antara [768×768, 2.048×2.048], dengan rentang rasio aspek [1:4, 4:1].

    Nilai piksel output aktual adalah kelipatan 16 terdekat dari nilai yang ditentukan.

Jika enable_interleave=true (mode output teks-gambar interleaved):

  • Metode 1: Merujuk proporsi gambar input (metode default)

    • Jika total piksel gambar input ≤ 1.280×1.280, output sesuai dengan total piksel dan rasio aspek input.

    • Jika total piksel gambar input > 1.280×1.280, total piksel output mendekati 1.280×1.280, mempertahankan rasio aspek input.

  • Metode 2: Tentukan lebar dan tinggi gambar output dalam piksel

    Total piksel harus berada di antara [768×768, 1.280×1.280], dengan rentang rasio aspek [1:4, 4:1].

    Nilai piksel output aktual adalah kelipatan 16 terdekat dari nilai yang ditentukan.

Resolusi yang direkomendasikan untuk rasio aspek umum

  • 1:1: 1.280×1.280

  • 2:3: 800×1.200

  • 3:2: 1.200×800

  • 3:4: 960×1.280

  • 4:3: 1.280×960

  • 9:16: 720×1.280

  • 16:9: 1.280×720

  • 21:9: 1.344×576

enable_interleave bool (Opsional)

Mengontrol mode pembuatan gambar:

  • false (default): Menunjukkan mode pengeditan gambar (mendukung input multi-gambar dan pembuatan gambar konsisten subjek).

    • Kasus penggunaan: Edit, terapkan style transfer, atau hasilkan gambar konsisten subjek berdasarkan 1 hingga 4 gambar input.

    • Input: Harus menyediakan minimal satu gambar referensi.

    • Output: Dapat menghasilkan 1 hingga 4 gambar hasil.

  • true: Mengaktifkan mode output teks-gambar interleaved (mendukung input satu gambar atau tanpa gambar).

    • Kasus penggunaan: Hasilkan konten gabungan teks dan gambar berdasarkan deskripsi teks, atau lakukan pembuatan teks-ke-gambar murni.

    • Input: Dapat memberikan tanpa gambar (teks-ke-gambar) atau hingga satu gambar referensi.

    • Output: Menghasilkan konten campuran yang berisi teks dan gambar.

n integer (Opsional)

Penting

Parameter n berdampak langsung pada biaya. Biaya = harga satuan × jumlah gambar yang berhasil dihasilkan. Konfirmasi harga model sebelum memanggil.

Menentukan jumlah gambar yang akan dihasilkan. Rentang valid dan makna tergantung pada status enable_interleave (saklar mode):

  • Jika enable_interleave=false (mode pengeditan gambar):

    • Fungsi: Secara langsung mengontrol jumlah gambar yang dihasilkan.

    • Rentang: 1 hingga 4. Nilai default adalah 4.

    • Saat pengujian, atur nilai ini ke 1 untuk validasi berbiaya rendah.

  • Jika enable_interleave=true (mode teks-gambar interleaved):

    • Batasan: Parameter ini default ke 1 dan harus tetap 1. Mengatur nilai lain menyebabkan kesalahan.

    • Dalam mode ini, gunakan parameter max_images untuk mengontrol jumlah maksimum gambar yang dihasilkan.

max_images integer (Opsional)

Penting

Parameter max_images berdampak pada biaya. Biaya = harga satuan × jumlah gambar yang berhasil dihasilkan. Konfirmasi harga model sebelum memanggil.

Hanya berlaku dalam mode output teks-gambar interleaved (enable_interleave=true).

  • Fungsi: Menentukan jumlah maksimum gambar yang dapat dihasilkan model dalam satu respons.

  • Rentang: 1 hingga 5. Nilai default adalah 5.

  • Parameter ini menetapkan batas atas. Jumlah gambar yang benar-benar dihasilkan ditentukan oleh inferensi model dan mungkin kurang dari nilai yang ditentukan (misalnya, mengatur 5 mungkin hanya menghasilkan 3 gambar).

prompt_extend bool (Opsional)

Hanya berlaku dalam mode pengeditan gambar (enable_interleave = false).

Mengaktifkan penulisan ulang prompt cerdas. Fitur ini hanya mengoptimalkan dan memperhalus prompt positif, tanpa mengubah prompt negatif.

  • true (default)

  • false

watermark bool (Opsional)

Menambahkan label watermark di pojok kanan bawah gambar dengan teks tetap "AI Generated".

  • false (default)

  • true

seed integer (Opsional)

Bibit angka acak. Rentang valid: [0,2147483647].

Menggunakan seed yang sama membuat hasil relatif stabil. Jika diabaikan, algoritma menggunakan seed acak.

Catatan: Pembuatan gambar bersifat probabilistik. Bahkan dengan seed yang sama, hasilnya mungkin berbeda.

Parameter respons

Respons berhasil

Simpan task_id untuk menanyakan status dan hasil tugas.

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

Respons kesalahan

Pembuatan tugas gagal. Lihat kode kesalahan untuk menyelesaikan masalah.

{
    "code": "InvalidApiKey",
    "message": "No API-key provided.",
    "request_id": "7438d53d-6eb8-4596-8835-xxxxxx"
}

output object

Informasi output tugas.

Properti

task_id string

ID tugas. Dapat digunakan untuk menanyakan status tugas hingga 24 jam.

task_status string

Status tugas.

Enumerasi

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: Tugas tidak ada atau status tidak diketahui

request_id string

Pengidentifikasi unik untuk permintaan. Gunakan untuk pelacakan dan pemecahan masalah.

code string

Kode kesalahan. Dikembalikan hanya jika permintaan gagal. Lihat kode kesalahan untuk detailnya.

message string

Pesan kesalahan detail. Dikembalikan hanya jika permintaan gagal. Lihat kode kesalahan untuk detailnya.

Langkah 2: Tanyakan hasil menggunakan ID tugas

Singapura: GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id}

Virginia: GET https://dashscope-us.aliyuncs.com/api/v1/tasks/{task_id}

Beijing: GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

Catatan
  • Rekomendasi polling: Pembuatan gambar memerlukan waktu. Gunakan mekanisme polling dengan interval yang wajar (misalnya, 10 detik) untuk mengambil hasil.

  • Alur status tugas: PENDING → RUNNING → SUCCEEDED / FAILED.

  • Tautan hasil: Setelah berhasil, tautan gambar kedaluwarsa dalam 24 jam. Unduh dan simpan secara permanen (misalnya, di OSS) segera setelah diambil.

Parameter permintaan

Tanyakan hasil tugas

Ganti {task_id} dengan nilai task_id yang dikembalikan oleh panggilan API sebelumnya. task_id berlaku untuk kueri dalam 24 jam.

curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Header permintaan

Authorization string (Wajib)

Kredensial autentikasi menggunakan Kunci API Model Studio.

Contoh: Bearer sk-xxxx

Parameter path URL

task_id string (Wajib)

ID tugas yang akan ditanyakan.

Parameter respons

Eksekusi tugas berhasil

Data tugas (status tugas dan URL gambar) hanya disimpan selama 24 jam, lalu secara otomatis dihapus. Segera simpan gambar yang dihasilkan.

{
    "request_id": "43d9e959-25bc-4dc7-9888-xxxxxx",
    "output": {
        "task_id": "858cad55-4bdc-4ba3-ae6c-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-12-16 04:21:02.275",
        "scheduled_time": "2025-12-16 04:21:02.304",
        "end_time": "2025-12-16 04:24:46.658",
        "finished": true,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/1xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            },
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/1xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ]
    },
    "usage": {
        "size": "1376*768",
        "total_tokens": 0,
        "image_count": 2,
        "output_tokens": 0,
        "input_tokens": 0
    }
}

Kegagalan eksekusi tugas

Jika tugas gagal, informasi kesalahan dikembalikan. Gunakan field code dan message untuk mengidentifikasi penyebabnya. Lihat Pesan Kesalahan untuk troubleshooting.

{
    "request_id": "a4d78a5f-655f-9639-8437-xxxxxx",
    "code": "InvalidParameter",
    "message": "num_images_per_prompt must be 1"
}

output object

Informasi output tugas.

Properti

task_id string

ID tugas. Dapat digunakan untuk menanyakan status tugas hingga 24 jam.

task_status string

Status tugas.

Enumerasi

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: Tugas tidak ada atau status tidak diketahui

Transisi status selama polling:

  • PENDING → RUNNING → SUCCEEDED atau FAILED

  • Kueri pertama biasanya mengembalikan PENDING atau RUNNING

  • Status SUCCEEDED mencakup URL gambar yang dihasilkan dalam respons

  • Status FAILED memerlukan pemeriksaan pesan kesalahan dan percobaan ulang

submit_time string

Waktu saat tugas diajukan. Waktu dalam UTC+8. Format: YYYY-MM-DD HH:mm:ss.SSS.

scheduled_time string

Waktu saat tugas mulai berjalan. Waktu dalam UTC+8. Format: YYYY-MM-DD HH:mm:ss.SSS.

end_time string

Waktu saat tugas selesai. Waktu dalam UTC+8. Format: YYYY-MM-DD HH:mm:ss.SSS.

finished bool

Flag penyelesaian permintaan.

  • true: Permintaan selesai.

  • false: Permintaan belum selesai.

choices array of object

Konten output yang dihasilkan model.

Properti

finish_reason string

Alasan penghentian tugas. Berhenti secara alami dengan stop.

message object

Pesan yang dikembalikan oleh model.

Properti

role string

Peran pesan, tetap sebagai assistant.

content array

Properti

type string

Tipe output. Nilai enumerasi: text, image.

text string

Teks yang dihasilkan.

image string

URL gambar yang dihasilkan dalam format PNG.

Tautan kedaluwarsa setelah 24 jam. Unduh dan simpan gambar segera.

usage object

Statistik output. Hanya menghitung hasil yang berhasil.

Properti

image_count integer

Jumlah gambar yang dihasilkan.

size string

Resolusi gambar yang dihasilkan. Contoh: 1376*768.

input_tokens integer

Jumlah token input. Ditagih per jumlah gambar. Saat ini tetap 0.

output_tokens integer

Jumlah token output. Ditagih per jumlah gambar. Saat ini tetap 0.

total_tokens integer

Jumlah total token. Ditagih per jumlah gambar. Saat ini tetap 0.

request_id string

Pengidentifikasi unik untuk permintaan. Gunakan untuk pelacakan dan troubleshooting masalah.

code string

Kode kesalahan. Dikembalikan hanya jika permintaan gagal. Lihat kode kesalahan untuk detailnya.

message string

Pesan kesalahan detail. Dikembalikan hanya jika permintaan gagal. Lihat kode kesalahan untuk detailnya.

DashScope Python SDK

Nama parameter SDK selaras dengan antarmuka HTTP. Struktur parameter dienkapsulasi sesuai karakteristik bahasa.

Karena durasi tugas yang panjang, SDK mengenkapsulasi panggilan HTTP asinkron secara internal, mendukung pemanggilan sinkron maupun asinkron.

Durasi aktual tergantung pada panjang antrian dan eksekusi layanan. Bersabarlah saat mengambil hasil.
Penting

Pastikan versi DashScope Python SDK Anda minimal 1.25.8 sebelum menjalankan kode berikut. Untuk pembaruan, lihat Instal SDK.

Parameter base_url dan Kunci API spesifik wilayah. Contoh berikut menunjukkan panggilan dari wilayah Singapura:

Singapura: https://dashscope-intl.aliyuncs.com/api/v1

Virginia: https://dashscope-us.aliyuncs.com/api/v1

Beijing: https://dashscope.aliyuncs.com/api/v1

Pengeditan gambar

Sinkron

Contoh permintaan
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message

# Singapore region base_url. Base URLs differ by region.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# If environment variable is not configured, replace the next line with: api_key="sk-xxx"
# API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

message = Message(
    role="user",
    # Supports local files, e.g., "image": "file://umbrella1.png"
    content=[
        {
            "text": "Generate a tomato and egg stir-fry based on the style of image 1 and the background of image 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("----sync call, wait a moment----")
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)
Contoh respons
Tautan kedaluwarsa setelah 24 jam. Unduh gambar segera.
{
    "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
    }
}

Asinkron

Contoh permintaan
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message
from http import HTTPStatus

# Singapore region base_url. Base URLs differ by region.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# If environment variable is not configured, replace the next line with: api_key="sk-xxx"
# API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

# Create asynchronous task
def create_async_task():
    print("Creating async task...")
    message = Message(
        role="user",
        content=[
            {'text': 'Generate a tomato and egg stir-fry based on the style of image 1 and the background of image 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("Task created successfully:", response)
        return response  # Return task ID
    else:
        raise Exception(f"Failed to create task: {response.code} - {response.message}")

# Wait for task completion
def wait_for_completion(task_response):
    print("Waiting for task completion...")
    status = ImageGeneration.wait(task=task_response, api_key=api_key)
    
    if status.output.task_status == "SUCCEEDED":
        print("Task succeeded!")
        print("Response:", status)
    else:
        raise Exception(f"Task failed with status: {status.output.task_status}")

# Fetch asynchronous task info
def fetch_task_status(task):
    print("Fetching task status...")
    status = ImageGeneration.fetch(task=task, api_key=api_key)
    
    if status.status_code == HTTPStatus.OK:
        print("Task status:", status.output.task_status)
        print("Response details:", status)
    else:
        print(f"Failed to fetch status: {status.code} - {status.message}")

# Cancel asynchronous task
def cancel_task(task):
    print("Canceling task...")
    response = ImageGeneration.cancel(task=task, api_key=api_key)
    
    if response.status_code == HTTPStatus.OK:
        print("Task canceled successfully:", response.output.task_status)
    else:
        print(f"Failed to cancel task: {response.code} - {response.message}")

# Main execution flow
if __name__ == "__main__":
    task = create_async_task()
    wait_for_completion(task)
Contoh respons

1. Contoh respons pembuatan tugas

{
    "status_code": 200,
    "request_id": "4fb3050f-de57-4a24-84ff-e37ee5xxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": null,
        "audio": null,
        "task_id": "127ec645-118f-4884-955d-0eba8dxxxxxx",
        "task_status": "PENDING"
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0
    }
}

2. Contoh respons kueri hasil tugas

Tautan kedaluwarsa setelah 24 jam. Segera unduh gambar.
{
    "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
    }
}

Keluaran teks-gambar berselang-seling

Sinkron (hanya streaming)

Contoh permintaan
import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message

# Singapore region URL. Base URLs differ by region.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# If environment variable is not configured, replace the next line with: api_key="sk-xxx"
# API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")


def sync_call_with_stream():
    print("\n========== Synchronous call - Streaming text-image output ==========")

    image_message = Message(
        role="user",
        content=[
            {
                "text": "Give me a three-image tutorial for stir-fried pork with chili peppers"
            }
        ]
    )

    image_stream_res = ImageGeneration.call(
        model="wan2.6-image",
        api_key=api_key,
        messages=[image_message],
        stream=True,  # Streaming only
        negative_prompt="",
        enable_interleave=True,
        max_images=3,
        size="1280*1280"
    )

    print("Streaming output results:")
    for stream_res in image_stream_res:
        print(stream_res)

if __name__ == "__main__":
    sync_call_with_stream()
Contoh respons
Tautan kedaluwarsa setelah 24 jam. Unduh gambar segera.
{"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"}}

Asinkron

Contoh permintaan

Catatan: Pemanggilan asinkron tidak memerlukan parameter stream.

import os
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message
from http import HTTPStatus

# Singapore region URL. Base URLs differ by region.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# If environment variable is not configured, replace the next line with: api_key="sk-xxx"
# API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")


def main():
    """Asynchronous call - Text-image output"""
    print("========== wan2.6-image Asynchronous call - Text-image output ==========")

    image_message = Message(
        role="user",
        content=[
            {
                "text": "Give me a three-image tutorial for stir-fried pork with chili peppers"
            }
        ]
    )

    # Create asynchronous task
    print("---async call, creating task----")
    response = ImageGeneration.async_call(
        model="wan2.6-image",
        api_key=api_key,
        messages=[image_message],
        # Asynchronous calls do not require stream parameter
        negative_prompt="",
        enable_interleave=True,
        max_images=3,
        size="1280*1280"
    )

    if response.status_code == HTTPStatus.OK:
        print(f"Task created successfully:")
        print(response)

        # Wait for task completion
        print("\n---waiting for task completion----")
        status = ImageGeneration.wait(task=response, api_key=api_key)

        if status.output.task_status == "SUCCEEDED":
            print("Task completed!")
            print(f"Results:")
            print(status)
        else:
            print(f"Task failed, status: {status.output.task_status}")
    else:
        print(f"Task creation failed: {response.code} - {response.message}")


if __name__ == "__main__":
    try:
        main()
    except Exception as e:
        print(f"Execution error: {str(e)}")
        import traceback
        traceback.print_exc()
Contoh respons

1. Contoh respons pembuatan tugas

{
    "status_code": 200,
    "request_id": "4fb3050f-de57-4a24-84ff-e37ee5xxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": null,
        "audio": null,
        "task_id": "5c67585e-a3be-4943-b04d-c3fbb2xxxxxx",
        "task_status": "PENDING"
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0
    }
}

2. Contoh respons kueri hasil tugas

Tautan kedaluwarsa setelah 24 jam. Unduh gambar segera.
{
    "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": "Stir-fried pork with chili peppers is a classic Hunan dish and a beloved home-cooked favorite for many. Known for its fresh spiciness and tender meat, it's simple to prepare yet delivers an exceptional flavor experience. Today, we'll learn how to make this dish.\n\nFirst, preparing all ingredients is the key to success. Fresh pork, red and green chili peppers, garlic cloves, and ginger slices are essential. Slice the pork thinly, cut the chilies into segments, and mince the garlic and ginger.",
                            "type": "text"
                        },
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        },
                        {
                            "text": "Next comes the crucial stir-frying step. Heat oil in a wok over high heat. Add minced garlic and ginger to release their aroma, then add the sliced pork. Quickly stir-fry until the pork changes color. Once fragrant, add the chili segments and continue stir-frying to fully release the chili aroma, perfectly blending with the pork's tenderness.",
                            "type": "text"
                        },
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        },
                        {
                            "text": "Finally, season with light soy sauce, dark soy sauce, oyster sauce, and a pinch of sugar. Stir-fry quickly until evenly coated. Cook until the sauce thickens slightly, then turn off the heat and serve. Your delicious, aromatic stir-fried pork with chili peppers is ready!",
                            "type": "text"
                        },
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "audio": null,
        "task_id": "5c67585e-a3be-4943-b04d-c3fbb2xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2026-01-16 17:47:39.469",
        "scheduled_time": "2026-01-16 17:47:39.804",
        "end_time": "2026-01-16 17:49:46.736",
        "finished": true
    },
    "usage": {
        "input_tokens": 29,
        "output_tokens": 477,
        "characters": 0,
        "size": "1280*1280",
        "total_tokens": 506,
        "image_count": 3
    }
}

DashScope Java SDK

Nama parameter SDK selaras dengan antarmuka HTTP. Struktur parameter dienkapsulasi sesuai karakteristik bahasa.

Karena durasi tugas yang panjang, SDK mengenkapsulasi panggilan HTTP asinkron secara internal, mendukung pemanggilan sinkron maupun asinkron.

Durasi aktual tergantung pada panjang antrian dan eksekusi layanan. Bersabarlah saat mengambil hasil.
Penting

Pastikan versi DashScope Java SDK Anda minimal 2.22.6 sebelum menjalankan kode berikut.

Parameter base_url dan Kunci API tidak dapat dipertukarkan lintas wilayah. Contoh berikut menunjukkan cara melakukan panggilan API untuk wilayah Singapura:

Singapura: https://dashscope-intl.aliyuncs.com/api/v1

Virginia: https://dashscope-us.aliyuncs.com/api/v1

Beijing: https://dashscope.aliyuncs.com/api/v1

Pengeditan gambar

Sinkron

Contoh permintaan
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 Image editing - Synchronous call example
 */
public class Main {

    static {
        // Singapore region URL. Base URLs differ by region.
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
    }

    // If environment variable is not configured, replace the next line with: apiKey="sk-xxx"
    // API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void basicCall() throws ApiException, NoApiKeyException, UploadFileException {
        // Build multi-image input message
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Arrays.asList(
                        // Supports multi-image input; provide multiple reference images
                        Collections.singletonMap("text", "Generate a tomato and egg stir-fry based on the style of image 1 and the background of image 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();

        // Image editing uses standard synchronous call; no need to set stream or 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("---sync call for image editing, wait a moment----");
            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());
        }
    }
}
Contoh respons
Tautan kedaluwarsa setelah 24 jam. Unduh gambar segera.
{
    "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": ""
}

Asinkron

Contoh permintaan
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 Image editing - Asynchronous call example
 */
public class Main {

    static {
        // Singapore region URL. Base URLs differ by region.
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
    }

    // If environment variable is not configured, replace the next line with: apiKey="sk-xxx"
    // API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    public static void asyncCall() throws ApiException, NoApiKeyException, UploadFileException {
        // Build multi-image input message
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Arrays.asList(
                        // Supports multi-image input; provide multiple reference images
                        Collections.singletonMap("text", "Generate a tomato and egg stir-fry based on the style of image 1 and the background of image 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("---async call for image editing, creating task----");
            result = imageGeneration.asyncCall(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println("Task creation result:");
        System.out.println(JsonUtils.toJson(result));

        String taskId = result.getOutput().getTaskId();
        // Wait for task completion
        waitTask(taskId);
    }

    public static void waitTask(String taskId) throws ApiException, NoApiKeyException {
        ImageGeneration imageGeneration = new ImageGeneration();
        System.out.println("\n---waiting for task completion----");
        ImageGenerationResult result = imageGeneration.wait(taskId, apiKey);
        System.out.println("Task completion result:");
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            asyncCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
    }
}
Contoh respons

1. Contoh respons pembuatan tugas

{
    "status_code": 200,
    "request_id": "9cd85950-2e26-4b2c-b562-1694cf928xxx",
    "code": "",
    "message": "",
    "output": {
        "task_id": "4c861fbe-af89-4a2f-8fc5-4bb15c313xxx",
        "task_status": "PENDING"
    },
    "usage": null
}

2. Contoh respons kueri hasil tugas

Tautan kedaluwarsa setelah 24 jam. Unduh gambar segera.
{
    "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
    }
}

Output teks-gambar interleaved

Panggilan sinkron (hanya streaming)

Contoh permintaan
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 Text-image output - Streaming call example
 */
public class Main {

    static {
        // Singapore region URL. Base URLs differ by region.
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
    }

    // If environment variable is not configured, replace the next line with: apiKey="sk-xxx"
    // API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/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", "Give me a three-image tutorial for stir-fried pork with chili peppers")
                )).build();

        // Text-image output requires streaming call
        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.6-image")
                .messages(Collections.singletonList(message))
                .stream(true) // Must enable streaming output
                .enableInterleave(true)
                .size("1280*1280")
                .negativePrompt("")
                .maxImages(3)
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        try {
            System.out.println("---stream call for image interleave----");
            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);
    }
}
Contoh respons
Tautan kedaluwarsa setelah 24 jam. Unduh gambar segera.
{"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":""}

Panggilan asinkron

Contoh permintaan

Catatan: Panggilan asinkron tidak memerlukan parameter 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 Text-image output - Asynchronous call example
 */
public class Main {

    static {
        // Singapore region URL. Base URLs differ by region.
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
    }

    // If environment variable is not configured, replace the next line with: apiKey="sk-xxx"
    // API keys differ by region. Get API key: https://www.alibabacloud.com/help/zh/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", "Give me a three-image tutorial for stir-fried pork with chili peppers")
                )).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("---async call for image interleave, creating task----");
            result = imageGeneration.asyncCall(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println("Task creation result:");
        System.out.println(JsonUtils.toJson(result));

        String taskId = result.getOutput().getTaskId();
        // Wait for task completion
        waitTask(taskId);
    }

    public static void waitTask(String taskId) throws ApiException, NoApiKeyException {
        ImageGeneration imageGeneration = new ImageGeneration();
        System.out.println("\n---waiting for task completion----");
        ImageGenerationResult result = imageGeneration.wait(taskId, apiKey);
        System.out.println("Task completion result:");
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            asyncCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
    }
}
Contoh respons

1. Contoh respons pembuatan tugas

{
    "requestId": "7d6c5760-334b-48c4-9b1e-08ee9c7fexxx",
    "output": {
        "task_id": "1bb9d9fa-bf1a-43dc-b5fe-366c1dc70xxx",
        "task_status": "PENDING"
    },
    "status_code": 200,
    "code": "",
    "message": ""
}

2. Contoh respons kueri hasil tugas

Tautan kedaluwarsa setelah 24 jam. Unduh gambar segera.
{
    "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": "Stir-fried pork with chili peppers is a classic Hunan dish and a beloved home-cooked favorite for many. Known for its fresh spiciness and tender meat, it's simple to prepare yet delivers an exceptional flavor experience. Today, we'll learn how to make this dish.\n\nFirst, preparing all ingredients is the key to success. Fresh pork, red and green chili peppers, garlic cloves, and ginger slices are essential. Slice the pork thinly, cut the chilies into segments, and mince the garlic and ginger.",
                            "type": "text"
                        },
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        },
                        {
                            "text": "Next, marinate the pork. Place the sliced pork in a bowl, add a little light soy sauce, cooking wine, starch, and cooking oil. Mix well by hand and marinate for 10 to 15 minutes. This treatment makes the pork slices more tender and flavorful.",
                            "type": "text"
                        },
                        {
                            "image": "https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        },
                        {
                            "text": "Finally, heat oil in a wok over high heat. Add the marinated pork slices and quickly stir-fry until they change color, then remove and set aside. Leave some oil in the wok, add minced garlic and ginger to release their aroma, then add chili segments and stir-fry until fragrant. Add the pork back in, season with light soy sauce, dark soy sauce, a pinch of sugar, and oyster sauce. Stir-fry quickly until evenly coated, sprinkle with chopped scallions, and serve.",
                            "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": ""
}

Batasan

  • Validitas data: task_id dan url gambar hanya disimpan selama 24 jam. Setelah periode ini, tidak dapat ditanyakan atau diunduh.

  • Moderasi konten: prompt input dan gambar output keduanya dikenai moderasi konten. Permintaan yang mengandung konten terlarang menghasilkan kesalahan IPInfringementSuspect atau DataInspectionFailed. Lihat kode kesalahan untuk detailnya.

Penagihan dan pembatasan laju

  • Untuk kuota gratis dan harga model, lihat Harga model.

  • Untuk batas laju model, lihat Wan.

  • Detail penagihan: Biaya didasarkan pada jumlah gambar yang berhasil dihasilkan. Panggilan yang gagal atau salah tidak dikenai biaya dan tidak mengonsumsi kuota gratis pengguna baru.

Kode kesalahan

Jika pemanggilan model gagal dan mengembalikan pesan kesalahan, lihat Pesan kesalahan untuk penyelesaian.

FAQ

Q: Bagaimana cara melihat biaya inferensi dan penggunaan?

A: Lihat Kueri tagihan dan manajemen biaya.

Q: Mengapa saya tidak bisa menjalankan contoh kode?

A: Tingkatkan SDK Anda ke versi terbaru. Untuk pembaruan, lihat Instal SDK.