全部产品
Search
文档中心

Alibaba Cloud Model Studio:Wan - referensi API text-to-image V2

更新时间:Jan 19, 2026

Model text-to-image Wan menghasilkan gambar dari teks dan mendukung berbagai gaya artistik serta efek fotografi realistis untuk memenuhi beragam kebutuhan kreatif.

Tautan cepat: Coba online (Singapura | Virginia | Beijing) | Situs resmi Wan

Catatan

Fitur-fitur di situs resmi Wan mungkin berbeda dari kemampuan API. Dokumen ini menjelaskan kemampuan aktual API dan diperbarui sesuai dengan itu.

Prasyarat

Sebelum melakukan panggilan, dapatkan Kunci API dan atur Kunci API sebagai variabel lingkungan. Untuk melakukan panggilan menggunakan SDK, instal SDK DashScope.

Penting

Wilayah Singapura, Virginia, dan Beijing memiliki Kunci API dan titik akhir permintaan yang terpisah. Jangan gunakan secara bergantian. Panggilan lintas wilayah menyebabkan kegagalan autentikasi atau kesalahan layanan. Untuk informasi selengkapnya, lihat Pilih wilayah dan mode penyebaran.

Panggilan sinkron HTTP (wan2.6)

Penting

API pada bagian ini menggunakan protokol baru dan hanya mendukung model wan2.6.

Anda dapat mengambil hasil dalam satu permintaan. Proses ini sederhana dan 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

Text-to-image

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-t2i",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "prompt_extend": true,
        "watermark": false,
        "n": 1,
        "negative_prompt": "",
        "size": "1280*1280"
    }
}'

Header permintaan

Content-Type string (Wajib)

Tipe konten permintaan. Anda harus mengatur parameter ini ke application/json.

Authorization string (Wajib)

Kredensial autentikasi. API ini menggunakan Kunci API Model Studio untuk autentikasi. Contoh: `Bearer sk-xxxx`.

Body permintaan

model string (Wajib)

Nama model. Contoh: wan2.6-t2i.

Catatan

Untuk panggilan HTTP pada model wan2.5 dan versi sebelumnya, lihat pemanggilan asinkron HTTP.

input object (Wajib)

Informasi input dasar.

Properti

messages array (Wajib)

Array untuk konten permintaan. Saat ini, hanya percakapan satu giliran yang didukung. Artinya, Anda hanya dapat mengirimkan satu set parameter role dan content. Percakapan multi-giliran tidak didukung.

Properti

role string (Wajib)

Peran pesan. Parameter ini harus diatur ke user.

content array (Wajib)

Array untuk konten pesan.

Properti

text string (Wajib)

Prompt positif. Menggambarkan konten, gaya, dan komposisi gambar yang ingin Anda hasilkan.

Mendukung bahasa Tionghoa dan Inggris. Panjangnya tidak boleh melebihi 2.100 karakter. Setiap karakter Tionghoa, huruf, angka, atau simbol dihitung sebagai satu karakter. Kelebihan akan dipotong secara otomatis.

Contoh: Seekor kucing oranye duduk dengan ekspresi bahagia, hidup dan imut, realistis, dan akurat.

Catatan: Anda hanya dapat mengirimkan satu teks. Jika Anda tidak mengirimkan teks atau mengirimkan beberapa teks, kesalahan akan dikembalikan.

parameters object (Opsional)

Parameter pengeditan gambar.

Properti

negative_prompt string (Opsional)

Prompt negatif yang menggambarkan konten yang tidak ingin Anda lihat dalam gambar. Dapat digunakan untuk membatasi pembuatan gambar.

Panjang maksimum adalah 500 karakter. Parameter ini mendukung bahasa Tionghoa dan Inggris. Karakter berlebih akan dipotong secara otomatis.

Contoh: resolusi rendah, kualitas rendah, anggota tubuh cacat, jari tangan cacat, oversaturated, seperti lilin, tanpa detail wajah, terlalu halus, mirip AI, komposisi kacau, teks buram, teks terdistorsi.

size string (Opsional)

Resolusi gambar output, dalam format width*height.

  • Nilai default adalah 1280*1280.

  • Jumlah total piksel harus antara 1280*1280 dan 1440*1440, dan rasio aspek harus antara 1:4 dan 4:1. Misalnya, 768*2700 adalah resolusi yang valid.

Contoh: 1280*1280.

Resolusi yang direkomendasikan untuk rasio aspek umum

  • 1:1: 1280*1280

  • 3:4: 1104*1472

  • 4:3: 1472*1104

  • 9:16: 960*1696

  • 16:9: 1696*960

n integer (Opsional)

Penting

Nilai n secara langsung memengaruhi biaya. Biaya dihitung sebagai: Biaya = Harga satuan × Jumlah gambar. Sebelum melakukan panggilan, konfirmasi harga model.

Jumlah gambar yang akan dihasilkan. Nilainya harus bilangan bulat dari 1 hingga 4. Nilai default adalah 4.

Catatan: Penagihan dilakukan per gambar. Kami menyarankan Anda mengatur parameter ini ke 1 untuk pengujian.

prompt_extend bool (Opsional)

Menentukan apakah akan mengaktifkan penulisan ulang prompt. Jika parameter ini diaktifkan, model bahasa besar (LLM) mengoptimalkan prompt positif. Ini secara signifikan meningkatkan hasil untuk prompt yang lebih pendek tetapi menambahkan waktu pemrosesan 3 hingga 4 detik.

  • true: Nilai default. Mengaktifkan penulisan ulang cerdas.

  • false: Menonaktifkan penulisan ulang cerdas.

watermark bool (Opsional)

Menentukan apakah akan menambahkan watermark. Watermark ditempatkan di pojok kanan bawah gambar dengan teks tetap "AI-generated".

  • false: Ini adalah nilai default, dan watermark tidak ditambahkan.

  • true: Menambahkan watermark.

seed integer (Opsional)

Bilangan acak seed, dengan rentang nilai [0, 2147483647].

Menggunakan nilai parameter seed yang sama menghasilkan hasil yang lebih konsisten. Jika Anda tidak memberikan seed, algoritma menggunakan bilangan acak.

Catatan: Proses pembuatan model bersifat probabilistik. Bahkan dengan seed yang sama, hasilnya tidak dijamin identik untuk setiap panggilan.

Parameter respons

Tugas berhasil

Data tugas, seperti status tugas dan URL gambar, hanya disimpan selama 24 jam dan kemudian secara otomatis dihapus. Anda harus segera menyimpan gambar yang dihasilkan.

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ],
                    "role": "assistant"
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "image_count": 1,
        "input_tokens": 0,
        "output_tokens": 0,
        "size": "1280*1280",
        "total_tokens": 0
    },
    "request_id": "815505c6-7c3d-49d7-b197-xxxxx"
}

Eksekusi Tugas Tidak Normal

Jika tugas gagal, informasi tentang kesalahan dikembalikan. Bidang kode dan pesan menunjukkan penyebab kesalahan. Untuk mengatasi kesalahan tersebut, lihat Pesan kesalahan.

{
    "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

Konten output yang dihasilkan oleh model.

Properti

finish_reason string

Alasan mengapa tugas berhenti. Nilai stop menunjukkan bahwa tugas selesai secara normal.

message object

Pesan yang dikembalikan oleh model.

Properti

role string

Peran pesan. Nilainya tetap assistant.

content array

Properti

image string

URL gambar yang dihasilkan. Gambar dalam format PNG. Tautan berlaku selama 24 jam. Unduh dan simpan gambar segera.

type string

Jenis output. Nilainya tetap image.

finished boolean

Menunjukkan apakah tugas telah selesai.

  • true: Tugas selesai.

  • false: Sedang berlangsung.

usage object

Statistik untuk output. Hanya hasil yang berhasil yang dihitung.

Properti

image_count integer

Jumlah gambar yang dihasilkan oleh model.

size string

Resolusi gambar yang dihasilkan. Contoh: 1280*1280.

input_tokens integer

Jumlah token input. Text-to-image ditagih berdasarkan jumlah gambar. Nilai ini saat ini tetap 0.

output_tokens integer

Jumlah token output. Text-to-image ditagih berdasarkan jumlah gambar. Nilai ini saat ini tetap 0.

total_tokens integer

Jumlah total token. Text-to-image ditagih berdasarkan jumlah gambar. Nilai ini saat ini tetap 0.

request_id string

ID permintaan unik. Anda dapat menggunakan ID ini untuk melacak dan memecahkan masalah.

code string

Kode kesalahan. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

message string

Pesan kesalahan terperinci. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

Panggilan asinkron HTTP (wan2.6)

Penting

API pada bagian ini menggunakan protokol baru dan hanya mendukung model wan2.6.

Metode ini cocok untuk skenario yang sensitif terhadap timeout. Prosesnya melibatkan dua langkah inti: Buat tugas lalu polling untuk mendapatkan hasilnya. Langkah-langkahnya sebagai berikut:

Langkah 1: Buat tugas untuk mendapatkan 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. Sebaliknya, gunakan polling untuk mengambil hasilnya.

Parameter permintaan

Text-to-image

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-t2i",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
                    }
                ]
            }
        ]
    },
    "parameters": {
        "prompt_extend": true,
        "watermark": false,
        "n": 1,
        "negative_prompt": "",
        "size": "1280*1280"
    }
}'
Header permintaan

Content-Type string (Wajib)

Tipe konten permintaan. Anda harus mengatur parameter ini ke application/json.

Authorization string (Wajib)

Kredensial autentikasi. API ini menggunakan Kunci API Model Studio untuk autentikasi. Contoh: `Bearer sk-xxxx`.

X-DashScope-Async string (Wajib)

Parameter ini digunakan untuk mengonfigurasi pemrosesan asinkron. Karena permintaan HTTP hanya mendukung pemrosesan asinkron, Anda harus mengatur parameter ini ke enable.

Penting

Jika Anda tidak menyertakan header permintaan ini, pesan kesalahan "current user api does not support synchronous calls" dikembalikan.

Body permintaan

model string (Wajib)

Nama model. Contoh: wan2.6-t2i.

Catatan

Untuk panggilan HTTP ke model wan2.5 dan versi sebelumnya, lihat pemanggilan asinkron HTTP.

input object (Wajib)

Informasi input dasar.

Properti

messages array (Wajib)

Array untuk konten permintaan. Saat ini, hanya percakapan satu giliran yang didukung. Artinya, Anda hanya dapat mengirimkan satu set parameter role dan content. Percakapan multi-giliran tidak didukung.

Properti

role string (Wajib)

Peran pesan. Parameter ini harus diatur ke user.

content array (Wajib)

Array untuk konten pesan.

Properti

text string (Wajib)

Prompt positif. Menggambarkan konten, gaya, dan komposisi gambar yang ingin Anda hasilkan.

Mendukung bahasa Tionghoa dan Inggris. Panjangnya tidak boleh melebihi 2.100 karakter. Setiap karakter Tionghoa, huruf, angka, atau simbol dihitung sebagai satu karakter. Kelebihan akan dipotong secara otomatis.

Contoh: Toko bunga dengan jendela indah, pintu kayu yang cantik, dan bunga-bunga yang dipajang.

Catatan: Anda hanya dapat mengirimkan satu teks. Jika Anda tidak mengirimkan teks atau mengirimkan beberapa teks, kesalahan akan dikembalikan.

parameters object (Opsional)

Parameter pengeditan gambar.

Properti

negative_prompt string (Opsional)

Prompt negatif yang menggambarkan konten yang tidak ingin Anda lihat dalam gambar. Dapat digunakan untuk membatasi pembuatan gambar.

Panjang maksimum adalah 500 karakter. Parameter ini mendukung bahasa Tionghoa dan Inggris. Karakter berlebih akan dipotong secara otomatis.

Contoh: resolusi rendah, kualitas rendah, anggota tubuh cacat, jari tangan cacat, oversaturated, seperti lilin, tanpa detail wajah, terlalu halus, mirip AI, komposisi kacau, teks buram, teks terdistorsi.

size string (Opsional)

Resolusi gambar output, dalam format width*height.

  • Nilai default adalah 1280*1280.

  • Jumlah total piksel harus antara 1280*1280 dan 1440*1440, dan rasio aspek harus antara 1:4 dan 4:1. Misalnya, 768*2700 adalah resolusi yang valid.

Contoh: 1280*1280.

Resolusi yang direkomendasikan untuk rasio aspek umum

  • 1:1: 1280*1280

  • 3:4: 1104*1472

  • 4:3: 1472*1104

  • 9:16: 960*1696

  • 16:9: 1696*960

n integer (Opsional)

Penting

Nilai n secara langsung memengaruhi biaya. Biaya dihitung sebagai: Biaya = Harga satuan × Jumlah gambar. Sebelum melakukan panggilan, konfirmasi harga model.

Jumlah gambar yang akan dihasilkan. Nilainya harus bilangan bulat dari 1 hingga 4. Nilai default adalah 4.

Catatan: Penagihan dilakukan per gambar. Kami menyarankan Anda mengatur parameter ini ke 1 untuk pengujian.

prompt_extend bool (Opsional)

Menentukan apakah akan mengaktifkan penulisan ulang prompt. Jika parameter ini diaktifkan, model bahasa besar (LLM) mengoptimalkan prompt positif. Ini secara signifikan meningkatkan hasil untuk prompt yang lebih pendek tetapi menambahkan waktu pemrosesan 3 hingga 4 detik.

  • true: Mengaktifkan penulisan ulang cerdas. Ini adalah nilai default.

  • false: Menonaktifkan penulisan ulang cerdas.

watermark bool (Opsional)

Menentukan apakah akan menambahkan watermark. Watermark ditempatkan di pojok kanan bawah gambar dengan teks tetap "AI-generated".

  • false: Nilai default. Watermark tidak ditambahkan.

  • true: Watermark ditambahkan.

seed integer (Opsional)

Bilangan acak seed, dengan rentang nilai [0, 2147483647].

Menggunakan nilai parameter seed yang sama menghasilkan hasil yang lebih konsisten. Jika Anda tidak memberikan seed, algoritma menggunakan bilangan acak.

Catatan: Proses pembuatan model bersifat probabilistik. Bahkan dengan seed yang sama, hasilnya tidak dijamin identik untuk setiap panggilan.

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. Untuk informasi selengkapnya, lihat Pesan kesalahan untuk mengatasi masalah tersebut.

{
    "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. Anda dapat menggunakan ID ini untuk menanyakan tugas hingga 24 jam.

task_status string

Status tugas.

Enumerasi

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.

request_id string

ID permintaan unik. Anda dapat menggunakan ID ini untuk melacak dan memecahkan masalah.

code string

Kode kesalahan. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

message string

Pesan kesalahan terperinci. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

Langkah 2: Tanyakan hasil berdasarkan 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
  • Saran polling: Pembuatan gambar bisa memakan waktu beberapa menit. Kami menyarankan Anda menggunakan mekanisme polling dengan interval permintaan yang wajar, misalnya 10 detik, untuk mengambil hasilnya.

  • Transisi status tugas: PENDING → RUNNING → SUCCEEDED atau FAILED.

  • URL hasil: Setelah tugas berhasil, URL gambar dikembalikan. URL berlaku selama 24 jam. Setelah Anda mengambil URL tersebut, Anda harus segera mengunduh dan menyimpan gambar ke layanan penyimpanan permanen, seperti Object Storage Service (OSS).

Parameter permintaan

Tanyakan hasil tugas

Ganti {task_id} dengan nilai task_id yang dikembalikan oleh panggilan API sebelumnya.

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. API ini menggunakan Kunci API Model Studio untuk autentikasi. Contoh: `Bearer sk-xxxx`.

Parameter path URL

task_id string (Wajib)

ID tugas.

Parameter respons

Tugas berhasil

Data tugas, seperti status tugas dan URL gambar, hanya disimpan selama 24 jam dan kemudian secara otomatis dihapus. Anda harus segera menyimpan gambar yang dihasilkan.

{
    "request_id": "2ddf53fa-699a-4267-9446-xxxxxx",
    "output": {
        "task_id": "3cd3fa4e-53ee-4136-9cab-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-12-18 20:03:01.802",
        "scheduled_time": "2025-12-18 20:03:01.834",
        "end_time": "2025-12-18 20:03:29.260",
        "finished": true,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ]
    },
    "usage": {
        "size": "1280*1280",
        "total_tokens": 0,
        "image_count": 1,
        "output_tokens": 0,
        "input_tokens": 0
    }
}

Tugas tidak normal

Jika tugas gagal dieksekusi karena alasan apa pun, informasi yang relevan dikembalikan. Bidang kode dan pesan menunjukkan penyebab kesalahan. Untuk informasi selengkapnya, lihat Pesan kesalahan untuk mengatasi masalah tersebut.

{
    "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. Anda dapat menggunakan ID ini untuk menanyakan tugas hingga 24 jam.

task_status string

Status tugas.

Enumerasi

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.

Transisi status selama polling:

  • PENDING → RUNNING → SUCCEEDED atau FAILED.

  • Status kueri pertama biasanya PENDING atau RUNNING.

  • Jika statusnya SUCCEEDED, respons berisi URL gambar yang dihasilkan.

  • Jika statusnya FAILED, periksa pesan kesalahan dan coba lagi.

submit_time string

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

scheduled_time string

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

end_time string

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

finished boolean

Menunjukkan apakah tugas telah selesai.

  • true: Proses selesai.

  • false: Operasi belum selesai.

choices array

Konten output yang dihasilkan oleh model.

Properti

finish_reason string

Alasan mengapa tugas berhenti. Nilai stop menunjukkan penyelesaian normal.

message object

Pesan yang dikembalikan oleh model.

Properti

role string

Peran pesan. Nilainya tetap assistant.

content array

Properti

image string

URL gambar yang dihasilkan. Gambar dalam format PNG.

Tautan berlaku selama 24 jam. Unduh dan simpan gambar segera.

type string

Jenis output. Nilainya tetap image.

usage object

Statistik untuk output. Hanya hasil yang berhasil yang dihitung.

Properti

image_count integer

Jumlah gambar yang dihasilkan.

size string

Resolusi gambar yang dihasilkan. Contoh: 1280*1280.

input_tokens integer

Jumlah token input. Nilainya saat ini tetap 0.

output_tokens integer

Jumlah token output. Nilainya saat ini tetap 0.

total_tokens integer

Jumlah total token. Nilainya saat ini tetap 0.

request_id string

ID permintaan unik. Anda dapat menggunakan ID ini untuk melacak dan memecahkan masalah.

code string

Kode kesalahan. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

message string

Pesan kesalahan terperinci. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

Panggilan asinkron HTTP (model wan2.5 dan versi sebelumnya)

Penting

API ini menggunakan protokol lama dan hanya mendukung model wan2.5 dan versi sebelumnya.

Karena tugas text-to-image memakan waktu dan biasanya membutuhkan 1 hingga 2 menit, API menggunakan pemanggilan asinkron. Prosesnya melibatkan dua langkah inti: Buat tugas lalu polling untuk mendapatkan hasilnya. Langkah-langkahnya sebagai berikut:

Waktu yang sebenarnya diperlukan tergantung pada jumlah tugas dalam antrian dan status eksekusi layanan. Bersabarlah saat mengambil hasilnya.

Langkah 1: Buat tugas untuk mendapatkan ID tugas

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

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

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

Parameter permintaan

Text-to-image

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API
URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan yang berikut: https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.5-t2i-preview",
    "input": {
        "prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"
    },
    "parameters": {
        "size": "1280*1280",
        "n": 1
    }
}'    

Text-to-image (menggunakan prompt negatif)

Gunakan parameter negative_prompt untuk mencegah elemen "person" muncul dalam gambar yang dihasilkan.

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API
URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan yang berikut: https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis \
    -H 'X-DashScope-Async: enable' \
    -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
    -H 'Content-Type: application/json' \
    -d '{
    "model": "wan2.2-t2i-flash",
    "input": {
        "prompt": "Snowy ground, a small white chapel, aurora borealis, winter scene, soft light.",
        "negative_prompt": "person"
    },
    "parameters": {
        "size": "1024*1024",
        "n": 1
    }
}'
Header permintaan

Content-Type string (Wajib)

Tipe konten permintaan. Anda harus mengatur parameter ini ke application/json.

Authorization string (Wajib)

Kredensial autentikasi. API ini menggunakan Kunci API Model Studio untuk autentikasi. Contoh: `Bearer sk-xxxx`.

X-DashScope-Async string (Wajib)

Parameter ini digunakan untuk mengonfigurasi pemrosesan asinkron. Karena permintaan HTTP hanya mendukung pemrosesan asinkron, Anda harus mengatur parameter ini ke enable.

Penting

Jika Anda tidak menyertakan header permintaan ini, pesan kesalahan "current user api does not support synchronous calls" dikembalikan.

Body permintaan

model string (Wajib)

Nama model. Untuk model text-to-image, lihat Daftar model.

Contoh: wan2.5-t2i-preview.

Catatan

Untuk informasi tentang panggilan HTTP untuk model wan2.6, lihat panggilan sinkron HTTP dan panggilan asinkron HTTP.

input object (Wajib)

Informasi input dasar, seperti prompt.

Properti

prompt string (Wajib)

Prompt positif. Menggambarkan elemen yang diinginkan dan fitur visual dalam gambar yang dihasilkan.

Mendukung bahasa Tionghoa dan Inggris. Setiap karakter Tionghoa, huruf, atau tanda baca dihitung sebagai satu karakter. Kelebihan akan dipotong secara otomatis. Batas panjang bervariasi tergantung versi model:

  • wan2.5-t2i-preview: Hingga 2.000 karakter.

  • Model seri wan2.2, wan2.1: Hingga 500 karakter.

  • wanx2.0-t2i-turbo: Hingga 800 karakter.

Contoh: Seekor kucing oranye duduk, dengan ekspresi bahagia, hidup dan imut, realistis dan akurat.

Untuk informasi selengkapnya tentang cara menggunakan prompt, lihat Panduan prompt text-to-image.

negative_prompt string (Opsional)

Prompt negatif. Menggambarkan konten yang tidak ingin muncul dalam gambar untuk membatasi output.

Mendukung bahasa Tionghoa dan Inggris. Panjangnya tidak boleh melebihi 500 karakter. Kelebihan akan dipotong secara otomatis.

Contoh: resolusi rendah, kesalahan, kualitas terburuk, kualitas rendah, cacat, jari ekstra, atau proporsi buruk.

parameters object (Opsional)

Parameter pengeditan gambar. Anda dapat mengatur resolusi gambar, mengaktifkan penulisan ulang prompt, menambahkan watermark, dan lainnya.

Properti

size string (Opsional)

Resolusi gambar output, dalam format width*height. Nilai default dan batasan bervariasi tergantung versi model:

  • wan2.5-t2i-preview: Nilai default adalah 1280*1280. Jumlah total piksel harus antara 1280*1280 dan 1440*1440, dan rasio aspek harus antara 1:4 dan 4:1. Misalnya, 768*2700 adalah resolusi yang valid.

  • Untuk model versi wan2.2 dan sebelumnya: Resolusi default adalah 1024*1024. Lebar dan tinggi gambar harus dalam rentang [512, 1440], dengan resolusi maksimum 1.440×1.440. Misalnya, resolusi 768×2700 melebihi batas sisi tunggal dan tidak didukung.

Contoh: 1280*1280.

Resolusi yang direkomendasikan untuk rasio aspek umum

Resolusi berikut untuk wan2.5-t2i-preview:

  • 1:1: 1280*1280

  • 3:4: 1104*1472

  • 4:3: 1472*1104

  • 9:16: 960*1696

  • 16:9: 1696*960

n integer (Opsional)

Penting

Nilai n secara langsung memengaruhi biaya. Biaya dihitung sebagai berikut: Harga satuan × Jumlah gambar. Sebelum melakukan panggilan, konfirmasi harga model.

Jumlah gambar yang akan dihasilkan. Nilainya harus bilangan bulat dari 1 hingga 4. Nilai default adalah 4. Saat pengujian, Anda dapat mengatur parameter ini ke 1 untuk validasi berbiaya rendah.

prompt_extend boolean (Opsional)

Menentukan apakah akan mengaktifkan penulisan ulang prompt. Jika parameter ini diaktifkan, model bahasa besar (LLM) menulis ulang prompt input. Ini secara signifikan meningkatkan hasil untuk prompt yang lebih pendek tetapi meningkatkan waktu pemrosesan.

  • true (Default): Mengaktifkan penulisan ulang cerdas.

  • false: Menonaktifkan penulisan ulang cerdas.

Contoh: true.

watermark boolean (Opsional)

Menentukan apakah akan menambahkan watermark. Watermark ditempatkan di pojok kanan bawah gambar dengan teks tetap "AI-generated".

  • false: (Default) Watermark tidak ditambahkan.

  • true: Menambahkan watermark.

seed integer (Opsional)

Bilangan acak seed, dengan rentang nilai [0, 2147483647].

Menggunakan nilai parameter seed yang sama menghasilkan hasil yang lebih konsisten. Jika Anda tidak memberikan seed, algoritma menggunakan bilangan acak.

Catatan: Proses pembuatan model bersifat probabilistik. Bahkan dengan seed yang sama, hasilnya tidak dijamin identik untuk setiap panggilan.

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. Untuk informasi selengkapnya, lihat Pesan kesalahan untuk mengatasi masalah tersebut.

{
    "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. Anda dapat menggunakan ID ini untuk menanyakan tugas hingga 24 jam.

task_status string

Status tugas.

Enumerasi

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.

request_id string

ID permintaan unik. Anda dapat menggunakan ID ini untuk melacak dan memecahkan masalah.

code string

Kode kesalahan. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

message string

Pesan kesalahan terperinci. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

Langkah 2: Tanyakan hasil berdasarkan ID tugas

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

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

Catatan
  • Saran polling: Pembuatan gambar bisa memakan waktu beberapa menit. Kami menyarankan Anda menggunakan mekanisme polling dengan interval permintaan yang wajar, misalnya 10 detik, untuk mengambil hasilnya.

  • Transisi status tugas: PENDING → RUNNING → SUCCEEDED atau FAILED.

  • URL hasil: Setelah tugas berhasil, URL gambar dikembalikan. URL berlaku selama 24 jam. Setelah Anda mengambil URL tersebut, Anda harus segera mengunduh dan menyimpan gambar ke layanan penyimpanan permanen, seperti Object Storage Service (OSS).

Parameter permintaan

Hasil Kueri Tugas

Ganti 86ecf553-d340-4e21-xxxxxxxxx dengan ID tugas yang sebenarnya.

Kunci API bersifat spesifik wilayah. Dapatkan Kunci API.
Untuk model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx
curl -X GET https://dashscope-intl.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Header permintaan

Authorization string (Wajib)

Kredensial autentikasi. API ini menggunakan Kunci API Model Studio untuk autentikasi. Contoh: `Bearer sk-xxxx`.

Parameter path URL

task_id string (Wajib)

ID tugas.

Parameter respons

Tugas berhasil

URL gambar hanya disimpan selama 24 jam dan kemudian secara otomatis dihapus. Anda harus segera menyimpan gambar yang dihasilkan.

{
    "request_id": "f767d108-7d50-908b-a6d9-xxxxxx",
    "output": {
        "task_id": "d492bffd-10b5-4169-b639-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-01-08 16:03:59.840",
        "scheduled_time": "2025-01-08 16:03:59.863",
        "end_time": "2025-01-08 16:04:10.660",
        "results": [
            {
                "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door with a brass handle. Inside, a variety of colorful and vibrant flowers, including roses, lilies, and sunflowers, are on display. The background is a warm indoor scene, with the street visible through the window. High-definition realistic photography, medium shot composition.",
                "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
            }
        ],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Tugas gagal

Jika tugas gagal, `task_status` diatur ke FAILED, dan kode serta pesan kesalahan disediakan. Untuk informasi selengkapnya, lihat Pesan kesalahan untuk mengatasi masalah tersebut.

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "xxxxxx",
        "task_metrics": {
            "TOTAL": 4,
            "SUCCEEDED": 0,
            "FAILED": 4
        }
    }
}

Kegagalan tugas parsial

Model dapat menghasilkan beberapa gambar dalam satu tugas. Jika setidaknya satu gambar berhasil dihasilkan, status tugas ditandai sebagai SUCCEEDED, dan URL gambar yang berhasil dikembalikan. Untuk gambar yang gagal dihasilkan, hasilnya mencakup alasan kegagalan. Untuk mengatasi kegagalan ini, lihat Pesan kesalahan. Selain itu, hanya gambar yang berhasil dihasilkan yang dihitung dalam statistik penggunaan.

{
    "request_id": "85eaba38-0185-99d7-8d16-xxxxxx",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [
            {
                "url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/123/a1.png"
            },
            {
                "code": "InternalError.Timeout",
                "message": "An internal timeout error has occurred during execution, please try again later or contact service support."
            }
        ],
        "task_metrics": {
            "TOTAL": 2,
            "SUCCEEDED": 1,
            "FAILED": 1
        }
    },
    "usage": {
        "image_count": 1
    }
}

Kueri tugas kedaluwarsa

`task_id` berlaku selama 24 jam. Setelah periode ini, kueri gagal dan mengembalikan pesan kesalahan berikut.

{
    "request_id": "a4de7c32-7057-9f82-8581-xxxxxx",
    "output": {
        "task_id": "502a00b1-19d9-4839-a82f-xxxxxx",
        "task_status": "UNKNOWN"
    }
}

output object

Informasi output tugas.

Properti

task_id string

ID tugas. Anda dapat menggunakan ID ini untuk menanyakan tugas hingga 24 jam.

task_status string

Status tugas.

Enumerasi

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.

Transisi status selama polling:

  • PENDING → RUNNING → SUCCEEDED atau FAILED.

  • Status kueri pertama biasanya PENDING atau RUNNING.

  • Jika statusnya SUCCEEDED, respons berisi URL gambar yang dihasilkan.

  • Jika statusnya FAILED, periksa pesan kesalahan dan coba lagi.

submit_time string

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

scheduled_time string

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

end_time string

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

results array of object

Daftar hasil tugas, termasuk URL gambar, prompt, dan informasi kesalahan untuk tugas yang sebagian gagal.

Struktur data

{
    "results": [
        {
            "orig_prompt": "",
            "actual_prompt": "",
            "url": ""
        },
        {
            "code": "",
            "message": ""
        }
    ]
}

Properti

orig_prompt string

Prompt input asli. Ini adalah nilai parameter permintaan prompt.

actual_prompt string

Jika penulisan ulang prompt diaktifkan, parameter ini mengembalikan prompt yang dioptimalkan yang sebenarnya digunakan. Jika fitur ini dinonaktifkan, parameter ini tidak dikembalikan.

url string

URL gambar. Ini dikembalikan hanya ketika `task_status` adalah SUCCEEDED. Tautan berlaku selama 24 jam. Anda dapat menggunakan URL ini untuk mengunduh gambar.

code string

Kode kesalahan. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

message string

Pesan kesalahan terperinci. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

task_metrics object

Statistik untuk hasil tugas.

Properti

TOTAL integer

Jumlah total tugas.

SUCCEEDED integer

Jumlah tugas yang berhasil.

FAILED integer

Jumlah tugas yang gagal.

code string

Kode kesalahan. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

message string

Pesan kesalahan terperinci. Parameter ini dikembalikan hanya ketika permintaan gagal. Untuk informasi selengkapnya, lihat Pesan kesalahan.

usage object

Statistik untuk output. Hanya hasil yang berhasil yang dihitung.

Properti

image_count integer

Jumlah gambar yang berhasil dihasilkan oleh model. Rumus penagihan: Biaya = (Jumlah gambar) × (Harga satuan).

request_id string

ID permintaan unik. Anda dapat menggunakan ID ini untuk melacak dan memecahkan masalah.

SDK Python DashScope

Nama parameter dalam SDK sebagian besar konsisten dengan yang ada di API HTTP. Struktur parameter dienkapsulasi berdasarkan fitur bahasa pemrograman.

Karena tugas text-to-image memakan waktu, SDK mengenkapsulasi proses panggilan asinkron HTTP di lapisan dasar dan mendukung metode pemanggilan sinkron maupun asinkron.

Waktu yang sebenarnya diperlukan tergantung pada jumlah tugas dalam antrian dan status eksekusi layanan. Bersabarlah saat mengambil hasilnya.

wan2.6

Penting
  • Kode berikut hanya untuk model wan2.6.

  • Pastikan versi SDK Python DashScope Anda minimal 1.25.7 sebelum menjalankan kode berikut. Untuk memperbarui SDK, lihat Instal SDK.

Parameter base_url dan Kunci API tidak universal di semua wilayah. Contoh berikut menunjukkan panggilan di 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

Pemanggilan sinkron

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

# Berikut ini adalah base_url untuk wilayah Singapura. base_url berbeda untuk setiap wilayah.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
# Kunci API untuk wilayah berbeda berbeda. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

message = Message(
    role="user",
    content=[
        {
            'text': 'A flower shop with exquisite windows, a beautiful wooden door, and flowers on display'
        }
    ]
)
print("----sync call, please wait a moment----")
rsp = ImageGeneration.call(
    model="wan2.6-t2i",
    api_key=api_key,
    messages=[message],
    negative_prompt="",
    prompt_extend=True,
    watermark=False,
    n=1,
    size="1280*1280"
)
print(rsp)
Contoh respons
URL berlaku selama 24 jam. Anda harus segera mengunduh gambar.
{
    "status_code": 200,
    "request_id": "820dd0db-eb42-4e05-8d6a-1ddb4axxxxxx",
    "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": "1280*1280",
        "total_tokens": 0
    }
}

Pemanggilan asinkron

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

# Berikut ini adalah base_url untuk wilayah Singapura. base_url berbeda untuk setiap wilayah.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
# Kunci API untuk wilayah berbeda berbeda. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

# Buat tugas asinkron
def create_async_task():
    print("Creating async task...")
    message = Message(
        role="user",
        content=[{'text': 'A flower shop with exquisite windows, a beautiful wooden door, and flowers on display'}]
    )
    response = ImageGeneration.async_call(
        model="wan2.6-t2i",
        api_key=api_key,
        messages=[message],
        negative_prompt="",
        prompt_extend=True,
        watermark=False,
        n=1,
        size="1280*1280"
    )
    
    if response.status_code == 200:
        print("Task created successfully:", response)
        return response
    else:
        raise Exception(f"Failed to create task: {response.code} - {response.message}")

# Tunggu hingga tugas selesai
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}")

# Dapatkan informasi tugas asinkron
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}")

# Batalkan tugas asinkron
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}")

# Alur eksekusi utama
if __name__ == "__main__":
    task = create_async_task()
    wait_for_completion(task)
Contoh respons

1. Contoh respons untuk membuat tugas

{
    "status_code": 200,
    "request_id": "c4f11410-ea42-4996-957d-9c82f9xxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": null,
        "audio": null,
        "task_id": "f470bbfd-d955-4165-935b-d35b8eexxxxxx",
        "task_status": "PENDING"
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0
    }
}

2. Contoh respons untuk menanyakan hasil tugas

URL berlaku selama 24 jam. Anda harus segera mengunduh gambar.
{
    "status_code": 200,
    "request_id": "7e57e7e8-00b0-4534-9aff-fe31e0xxxxxx",
    "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": "f470bbfd-d955-4165-935b-d35b8exxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2026-01-09 17:18:17.901",
        "scheduled_time": "2026-01-09 17:18:17.941",
        "end_time": "2026-01-09 17:18:45.544",
        "finished": true
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 0,
        "size": "1280*1280",
        "total_tokens": 0,
        "image_count": 1
    }
}

Model wan2.5 dan versi sebelumnya

Penting
  • Kode berikut hanya untuk model wan2.5 dan versi sebelumnya.

  • Sebelum menjalankan kode berikut, pastikan versi SDK Python DashScope Anda minimal 1.25.2.

    Versi yang lebih lama dapat memicu kesalahan seperti "url error, please check url!". Untuk informasi selengkapnya tentang cara memperbarui SDK, lihat Instal SDK.

Parameter base_url dan Kunci API tidak universal di semua wilayah. Contoh berikut menunjukkan panggilan di wilayah Singapura:

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

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

Pemanggilan sinkron

Contoh permintaan
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
import dashscope

# Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

print('----sync call, please wait a moment----')
rsp = ImageSynthesis.call(api_key=api_key,
                          model="wan2.5-t2i-preview",
                          prompt="A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                          negative_prompt="",
                          n=1,
                          size='1280*1280',
                          prompt_extend=True,
                          watermark=False,
                          seed=12345)
print('response: %s' % rsp)
if rsp.status_code == HTTPStatus.OK:
    # Simpan gambar ke direktori saat ini
    for result in rsp.output.results:
        file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
        with open('./%s' % file_name, 'wb+') as f:
            f.write(requests.get(result.url).content)
else:
    print('sync_call Failed, status_code: %s, code: %s, message: %s' %
          (rsp.status_code, rsp.code, rsp.message))
Contoh respons
URL berlaku selama 24 jam. Anda harus segera mengunduh gambar.
{
    "status_code": 200,
    "request_id": "9d634fda-5fe9-9968-a908-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "d35658e4-483f-453b-b8dc-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png",
            "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "An exquisite flower shop, with windows decorated with elegant carvings and a beautiful wooden door with a brass handle. Inside, various colorful flowers such as roses, tulips, and lilies are on display. The background is a warm indoor scene with soft light, creating a quiet and comfortable atmosphere. High-definition realistic photography, close-up center composition."
        }],
        "submit_time": "2025-01-08 19:36:01.521",
        "scheduled_time": "2025-01-08 19:36:01.542",
        "end_time": "2025-01-08 19:36:13.270",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Pemanggilan asinkron

Contoh permintaan
from http import HTTPStatus
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath
import requests
from dashscope import ImageSynthesis
import os
import dashscope

# Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

def async_call():
    print('----create task----')
    task_info = create_async_task()
    print('----wait task done then save image----')
    wait_async_task(task_info)


# Buat tugas asinkron
def create_async_task():
    rsp = ImageSynthesis.async_call(api_key=api_key,
                                    model="wan2.5-t2i-preview",
                                    prompt="A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
                                    negative_prompt="",
                                    n=1,
                                    size='1280*1280',
                                    prompt_extend=True,
                                    watermark=False,
                                    seed=12345)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))
    return rsp


# Tunggu hingga tugas asinkron selesai
def wait_async_task(task):
    rsp = ImageSynthesis.wait(task=task, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output)
        # simpan file ke direktori saat ini
        for result in rsp.output.results:
            file_name = PurePosixPath(unquote(urlparse(result.url).path)).parts[-1]
            with open('./%s' % file_name, 'wb+') as f:
                f.write(requests.get(result.url).content)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))


# Dapatkan informasi tugas asinkron
def fetch_task_status(task):
    status = ImageSynthesis.fetch(task=task, api_key=api_key)
    print(status)
    if status.status_code == HTTPStatus.OK:
        print(status.output.task_status)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (status.status_code, status.code, status.message))


# Batalkan tugas asinkron. Hanya tugas dalam status PENDING yang dapat dibatalkan.
def cancel_task(task):
    rsp = ImageSynthesis.cancel(task=task, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output.task_status)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))


if __name__ == '__main__':
    async_call()
Contoh respons

1. Contoh respons untuk membuat tugas

{
	"status_code": 200,
	"request_id": "31b04171-011c-96bd-ac00-f0383b669cc7",
	"code": "",
	"message": "",
	"output": {
		"task_id": "4f90cf14-a34e-4eae-xxxxxxxx",
		"task_status": "PENDING",
		"results": []
	},
	"usage": null
}

2. Contoh respons untuk menanyakan hasil tugas

URL berlaku selama 24 jam. Anda harus segera mengunduh gambar.
{
    "status_code": 200,
    "request_id": "9d634fda-5fe9-9968-a908-xxxxxx",
    "code": null,
    "message": "",
    "output": {
        "task_id": "d35658e4-483f-453b-b8dc-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/xxx.png",
            "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "An exquisite flower shop, with windows decorated with elegant carvings and a beautiful wooden door with a brass handle. Inside, various colorful flowers such as roses, tulips, and lilies are on display. The background is a warm indoor scene with soft light, creating a quiet and comfortable atmosphere. High-definition realistic photography, close-up center composition."
        }],
        "submit_time": "2025-01-08 19:36:01.521",
        "scheduled_time": "2025-01-08 19:36:01.542",
        "end_time": "2025-01-08 19:36:13.270",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Panggilan SDK Java DashScope

Nama parameter dalam SDK sebagian besar konsisten dengan yang ada di API HTTP. Struktur parameter dienkapsulasi berdasarkan fitur bahasa pemrograman.

Karena tugas text-to-image memakan waktu, SDK mengenkapsulasi proses panggilan asinkron HTTP di lapisan dasar dan mendukung metode pemanggilan sinkron maupun asinkron.

Waktu yang sebenarnya diperlukan tergantung pada jumlah tugas dalam antrian dan status eksekusi layanan. Bersabarlah saat mengambil hasilnya.

wan2.6

Penting
  • Kode berikut hanya untuk model wan2.6-t2i.

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

Parameter base_url dan Kunci API spesifik untuk setiap wilayah. Contoh berikut menunjukkan panggilan yang dibuat 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

Pemanggilan 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.Collections;

public class Main {

    static {
        // Berikut ini adalah URL untuk wilayah Singapura. base_url berbeda untuk setiap wilayah.
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
    }

    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey="sk-xxx"
    // Kunci API untuk wilayah berbeda berbeda. Untuk mendapatkan Kunci API, lihat 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 {
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Collections.singletonList(
                        Collections.singletonMap("text", "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.6-t2i")
                .n(1)
                .size("1280*1280")
                .negativePrompt("")
                .promptExtend(true)
                .watermark(false)
                .messages(Collections.singletonList(message))
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = null;
        try {
            System.out.println("---sync call, please 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
URL berlaku selama 24 jam. Anda harus segera mengunduh gambar.
{
    "status_code": 200,
    "request_id": "50b57166-eaaa-4f17-b1e0-35a5ca88672c",
    "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"
                        }
                    ]
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "image_count": 1,
        "size": "1280*1280",
        "total_tokens": 0
    }
}

Pemanggilan 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.Collections;

public class Main {

    static {
        // Berikut ini adalah URL untuk wilayah Singapura. base_url berbeda untuk setiap wilayah.
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
    }

    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey="sk-xxx"
    // Kunci API untuk wilayah berbeda berbeda. Untuk mendapatkan Kunci API, lihat 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", "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.6-t2i")
                .n(1)
                .size("1280*1280")
                .negativePrompt("")
                .promptExtend(true)
                .watermark(false)
                .messages(Collections.singletonList(message))
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = null;
        try {
            System.out.println("---async call, creating task----");
            result = imageGeneration.asyncCall(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));

        String taskId = result.getOutput().getTaskId();
        // Tunggu hingga tugas selesai
        waitTask(taskId);
    }

    public static void waitTask(String taskId) throws ApiException, NoApiKeyException {
        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = imageGeneration.wait(taskId, apiKey);
        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 untuk membuat tugas

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

2. Contoh respons untuk menanyakan hasil tugas

URL berlaku selama 24 jam. Anda harus segera mengunduh gambar.
{
    "status_code": 200,
    "request_id": "cbdf1424-306e-4a52-82f3-8bf5d8a99103",
    "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": "1280*1280",
        "total_tokens": 0,
        "image_count": 1
    }
}

Model wan2.5 dan versi sebelumnya

Penting
  • Model wan2.6-t2i tidak mendukung panggilan SDK Java. Kode berikut hanya untuk model wan2.5 dan versi sebelumnya.

  • Sebelum menjalankan kode berikut, pastikan versi SDK Java DashScope Anda adalah 2.22.2 atau lebih baru.

    Versi yang lebih lama dapat memicu kesalahan seperti "url error, please check url!". Untuk informasi selengkapnya tentang cara memperbarui SDK, lihat Instal SDK.

Parameter base_url dan Kunci API tidak universal di semua wilayah. Contoh berikut menunjukkan panggilan di wilayah Singapura:

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

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

Pemanggilan sinkron

Contoh permintaan
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisListResult;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.task.AsyncTaskListParam;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.HashMap;
import java.util.Map;

public class Main {

  static {
     // Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
     Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";  
  }
  
  // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey="sk-xxx"
  // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat 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 {
        // Setel parameter
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);
        parameters.put("watermark", false);
        parameters.put("seed", 12345);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.5-t2i-preview")
                        .prompt("A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                        .n(1)
                        .size("1280*1280")
                        .negativePrompt("")
                        .parameters(parameters)
                        .build();

        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            System.out.println("---sync call, please wait a moment----");
            result = imageSynthesis.call(param);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
    }

    public static void listTask() throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        AsyncTaskListParam param = AsyncTaskListParam.builder().build();
        param.setApiKey(apiKey);
        ImageSynthesisListResult result = is.list(param);
        System.out.println(result);
    }

    public static void fetchTask(String taskId) throws ApiException, NoApiKeyException {
        ImageSynthesis is = new ImageSynthesis();
        // Jika mengatur variabel lingkungan DASHSCOPE_API_KEY, apiKey dapat null.
        ImageSynthesisResult result = is.fetch(taskId, apiKey);
        System.out.println(result.getOutput());
        System.out.println(result.getUsage());
    }

    public static void main(String[] args){
        try{
            basicCall();
            //listTask();
        }catch(ApiException|NoApiKeyException e){
            System.out.println(e.getMessage());
        }
    }
}
Contoh respons
URL berlaku selama 24 jam. Anda harus segera mengunduh gambar.
{
    "request_id": "22f9c744-206c-9a78-899a-xxxxxx",
    "output": {
        "task_id": "4a0f8fc6-03fb-4c44-a13a-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
           "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door slightly ajar. Inside, a variety of colorful and fragrant flowers, including roses, lilies, and sunflowers, are on display. The background is a warm indoor scene with soft light shining on the flowers through the window. High-definition realistic photography, medium shot composition.",
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
        }],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Pemanggilan asinkron

Contoh permintaan
// Copyright (c) Alibaba, Inc. and its affiliates.

import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

import java.util.HashMap;
import java.util.Map;

public class Main {
    static {
        // Berikut ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
    }
    
    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey="sk-xxx"
    // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");
    
    public void asyncCall() {
        System.out.println("---create task----");
        String taskId = this.createAsyncTask();
        System.out.println("---wait task done then return image url----");
        this.waitAsyncTask(taskId);
    }


    /**
     * Buat tugas asinkron
     * @return taskId
     */
    public String createAsyncTask() {
        // Setel parameter
        Map<String, Object> parameters = new HashMap<>();
        parameters.put("prompt_extend", true);
        parameters.put("watermark", false);
        parameters.put("seed", 12345);

        ImageSynthesisParam param =
                ImageSynthesisParam.builder()
                        .apiKey(apiKey)
                        .model("wan2.5-t2i-preview")
                        .prompt("A flower shop with exquisite windows, a beautiful wooden door, and flowers on display")
                        .n(1)
                        .size("1280*1280)
                        .negativePrompt("")
                        .parameters(parameters)
                        .build();

        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            result = imageSynthesis.asyncCall(param);
        } catch (Exception e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
        String taskId = result.getOutput().getTaskId();
        System.out.println("taskId=" + taskId);
        return taskId;
    }


    /**
     * Tunggu hingga tugas asinkron selesai
     * @param taskId ID tugas
     * */
    public void waitAsyncTask(String taskId) {
        ImageSynthesis imageSynthesis = new ImageSynthesis();
        ImageSynthesisResult result = null;
        try {
            // Setelah mengonfigurasi variabel lingkungan, Anda dapat mengatur apiKey ke null di sini
            result = imageSynthesis.wait(taskId, apiKey);
        } catch (ApiException | NoApiKeyException e){
            throw new RuntimeException(e.getMessage());
        }
        System.out.println(JsonUtils.toJson(result));
        System.out.println(JsonUtils.toJson(result.getOutput()));
    }


    public static void main(String[] args){
        Main main = new Main();
        main.asyncCall();
    }

}
Contoh respons

1. Contoh respons untuk membuat tugas

{
	"request_id": "5dbf9dc5-4f4c-9605-85ea-542f97709ba8",
	"output": {
		"task_id": "7277e20e-aa01-4709-xxxxxxxx",
		"task_status": "PENDING"
	}
}

2. Contoh respons untuk menanyakan hasil tugas

{
    "request_id": "22f9c744-206c-9a78-899a-xxxxxx",
    "output": {
        "task_id": "4a0f8fc6-03fb-4c44-a13a-xxxxxx",
        "task_status": "SUCCEEDED",
        "results": [{
           "orig_prompt": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display",
            "actual_prompt": "A flower shop with exquisitely carved windows and a beautiful dark wooden door slightly ajar. Inside, a variety of colorful and fragrant flowers, including roses, lilies, and sunflowers, are on display. The background is a warm indoor scene with soft light shining on the flowers through the window. High-definition realistic photography, medium shot composition.",
            "url": "https://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1.png"
        }],
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 1,
            "FAILED": 0
        }
    },
    "usage": {
        "image_count": 1
    }
}

Batasan

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

  • Moderasi konten: prompt input dan gambar output keduanya dikenai moderasi konten. Permintaan yang berisi konten terlarang menghasilkan kesalahan `IPInfringementSuspect` atau `DataInspectionFailed`. Untuk informasi selengkapnya, lihat Pesan kesalahan.

  • Konfigurasi akses jaringan: URL gambar disimpan di OSS. Jika sistem bisnis Anda tidak dapat mengakses URL OSS eksternal karena kebijakan keamanan, Anda harus menambahkan nama domain OSS berikut ke daftar putih Anda.

    # Daftar nama domain OSS
    dashscope-result-bj.oss-cn-beijing.aliyuncs.com
    dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com
    dashscope-result-sh.oss-cn-shanghai.aliyuncs.com
    dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com
    dashscope-result-zjk.oss-cn-zhangjiakou.aliyuncs.com
    dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com
    dashscope-result-hy.oss-cn-heyuan.aliyuncs.com
    dashscope-result-cd.oss-cn-chengdu.aliyuncs.com
    dashscope-result-gz.oss-cn-guangzhou.aliyuncs.com
    dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com

Penagihan dan pembatasan laju

  • Untuk informasi tentang kuota gratis dan harga satuan model, lihat Daftar Model.

  • Untuk batas laju model, lihat Wan.

  • Rincian penagihan: Penagihan didasarkan pada jumlah gambar yang berhasil dihasilkan. Panggilan model yang gagal atau kesalahan pemrosesan tidak dikenai biaya atau tidak mengurangi kuota gratis.

Kode kesalahan

Jika panggilan gagal, lihat Pesan kesalahan untuk troubleshooting.

FAQ

T: Bagaimana cara melihat biaya inferensi dan volume panggilan untuk model?

J: Untuk informasi selengkapnya, lihat Kueri tagihan dan manajemen biaya.