Skip to main content
Wan

Wan2.7 - pembuatan dan pengeditan gambar

Wan2.7-Image mendukung text-to-image, text-to-image-set, image-to-image-set, pengeditan gambar, dan pembuatan referensi multi-gambar.

Ikhtisar model

Model

Description

Spesifikasi gambar output

wan2.7-image-pro

Wan 2.7 image Pro. Mendukung output 4K untuk pembuatan text-to-image (tidak berlaku untuk image set).

Format gambar: PNG.

Untuk resolusi dan dimensi gambar, lihat parameter size.

wan2.7-image

Wan 2.7 image. Pembuatan lebih cepat.

Sebelum memanggil model, periksa Daftar model dan harga untuk ketersediaan model di wilayah tertentu.

Prasyarat

Dapatkan Kunci API dan ekspor Kunci API sebagai Variabel lingkungan.
Wilayah China (Beijing) dan Singapura memiliki Kunci API dan Titik akhir permintaan yang terpisah. Keduanya tidak dapat saling menggantikan. Pemanggilan lintas-wilayah menyebabkan kegagalan otentikasi atau error layanan.

HTTP sinkron

Mengembalikan hasil dalam satu permintaan. Direkomendasikan untuk sebagian besar kasus penggunaan.
  • Singapura
  • Beijing
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationGanti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Parameter permintaan

  • Text-to-image
  • Image editing
  • Interactive editing
  • Image set generation
Model wan2.7-image-pro hanya mendukung resolusi 4K untuk pembuatan text-to-image. Pengeditan gambar dan pembuatan image set mendukung resolusi maksimal 2K.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
    --header 'Content-Type: application/json' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --data '{
        "model": "wan2.7-image-pro",
        "input": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {"text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"}
                    ]
                }
            ]
        },
        "parameters": {
            "size": "2K",
            "n": 1,
            "watermark": false,
            "thinking_mode": true
        }
    }'

Header
Content-Type string (Wajib)Tipe konten permintaan. Harus application/json.
Authorization string (Wajib)Mengotentikasi permintaan dengan Kunci API Model Studio. Contoh: Bearer sk-xxxx.
Body permintaan
model string (Wajib)Nama model. Nilai yang valid: wan2.7-image-pro, wan2.7-image.
input object (Wajib)Objek input.

Properti

messages array (Wajib)Array konten permintaan. Hanya percakapan satu putaran yang didukung.

Properti

role string (Wajib)Peran pesan. Harus user.content array (Wajib)Array konten pesan.

Properti

text stringPrompt teks. Mendukung bahasa Tionghoa dan Inggris. Maksimal 5.000 karakter. Setiap karakter, huruf, angka, atau simbol dihitung sebagai satu. Karakter berlebih akan dipotong.image stringURL atau string Base64-encoded dari gambar input.Batasan gambar:
  • Format gambar: JPEG, JPG, PNG (saluran alfa tidak didukung), BMP, WEBP.
  • Resolusi gambar: Lebar dan tinggi harus antara 240 hingga 8.000 piksel. Rasio aspek harus antara 1:8 hingga 8:1.
  • Ukuran file: Tidak lebih dari 20 MB.
Batasan jumlah gambar:
  • Anda dapat menginput 0 hingga 9 gambar.
  • Jika menginput beberapa gambar, Anda harus meneruskan beberapa objek image dalam array content. Urutan objek dalam array menentukan urutan gambar.
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. Teruskan string gambar Base64-encoded
    • Format: data:{MIME_type};base64,{base64_data}
    • Contoh: data:image/jpeg;base64,GDU7MtCZzEbTbmRZ... (Hanya ilustrasi. Anda harus meneruskan string lengkap.)
    • Untuk informasi lebih lanjut, lihat Metode input gambar.
parameters object (Opsional)Pengaturan parameter model.

Properti

bbox_list List[List[List[int]]] (Opsional)Area Kotak pembatas untuk pengeditan interaktif.
  • Panjang daftar harus sesuai dengan jumlah gambar input. Jika suatu gambar tidak memerlukan pengeditan, teruskan daftar kosong [] pada posisi yang sesuai.
  • Format koordinat: [x1, y1, x2, y2] (x kiri atas, y kiri atas, x kanan bawah, y kanan bawah). Gunakan koordinat piksel absolut dari gambar asli. Koordinat kiri atas adalah (0, 0).
  • Satu gambar mendukung maksimal dua Kotak pembatas.
Contoh: Input 3 gambar, di mana gambar kedua tidak memiliki Kotak pembatas dan gambar pertama memiliki dua Kotak pembatas:
[
  [[0, 0, 12, 12], [25, 25, 100, 100]],  # Gambar 1 (2 kotak)
  [],                                    # Gambar 2 (tanpa kotak)
  [[10, 10, 50, 50]]                     # Gambar 3 (1 kotak)
]
enable_sequential boolean (Opsional)Mengontrol mode pembuatan gambar:
  • false (default): Mode output default.
  • true: Mode output image set.
size string (Opsional)Resolusi gambar output. Mendukung dua metode yang saling eksklusif:Model: wan2.7-image-pro
  • Metode 1: Tentukan resolusi gambar output (Direkomendasikan)
    • Mendukung spesifikasi 1K, 2K (default), dan 4K.
    • Lingkup penerapan:
      • Text-to-image (tanpa input gambar, bukan untuk pembuatan image set): Mendukung 1K, 2K, dan 4K.
      • Skenario lainnya: Mendukung 1K dan 2K.
    • Total piksel untuk setiap spesifikasi: 1K: 1024×1024, 2K: 2048×2048, 4K: 4096×4096
    • Rasio aspek gambar:
      • Jika ada input gambar: Rasio aspek output sesuai dengan gambar input (yang terakhir jika ada beberapa gambar input) dan diskalakan ke resolusi yang dipilih.
      • Jika tidak ada input gambar: Output berupa gambar persegi.
  • Metode 2: Tentukan lebar dan tinggi dalam piksel untuk gambar yang dihasilkan
    • Text-to-image: Total piksel antara 768×768 hingga 4096×4096. Rasio aspek antara 1:8 hingga 8:1.
    • Skenario lainnya: Total piksel antara 768×768 hingga 2048×2048. Rasio aspek antara 1:8 hingga 8:1.
Model: wan2.7-image
  • Metode 1: Tentukan resolusi gambar output (Direkomendasikan)
    • Mendukung spesifikasi 1K dan 2K (default). 4K tidak didukung.
  • Metode 2: Tentukan lebar dan tinggi dalam piksel untuk gambar yang dihasilkan
    • Dalam semua skenario, total piksel antara 768×768 hingga 2048×2048. Rasio aspek antara 1:8 hingga 8:1.
Nilai piksel gambar output mungkin memiliki sedikit perbedaan dari nilai yang ditentukan.
n int (Opsional)
Parameter n secara langsung memengaruhi biaya: harga satuan × jumlah gambar yang berhasil dibuat. Konfirmasi harga model sebelum memanggil.
  • Jika mode image set dinonaktifkan, nilai ini merepresentasikan jumlah gambar yang akan dibuat. Rentangnya 1 hingga 4. Default: 1.
  • Jika mode image set diaktifkan, nilai ini merepresentasikan jumlah maksimum gambar yang akan dibuat. Rentangnya 1 hingga 12. Default: 12. Jumlah aktual ditentukan oleh model dan tidak akan melebihi n.
thinking_mode boolean (Opsional)Mengaktifkan mode thinking. Default: true. Parameter ini hanya berlaku ketika mode image set dinonaktifkan dan tidak ada input gambar. Saat diaktifkan, model meningkatkan kemampuan Inferensi untuk meningkatkan kualitas output, tetapi hal ini meningkatkan waktu pembuatan.color_palette array (Opsional)Tema warna kustom. Array objek, masing-masing dengan warna heksadesimal dan rasio. Harus mencakup 3 hingga 10 warna. Disarankan 8 warna.Hanya tersedia saat mode image set dinonaktifkan (enable_sequential=false).

Properti

hex string (Wajib)Nilai warna dalam format heksadesimal (HEX).ratio string (Wajib)Presentase warna. Harus akurat hingga dua tempat desimal (seperti "25.00%"). Jumlah semua nilai rasio harus 100.00%.
"color_palette": [
    {
        "hex": "#C2D1E6",
        "ratio": "23.51%"
    },
    {
        "hex": "#CDD8E9",
        "ratio": "20.13%"
    },
    {
        "hex": "#B5C8DB",
        "ratio": "15.88%"
    },
    {
        "hex": "#C0B5B4",
        "ratio": "13.27%"
    },
    {
        "hex": "#DAE0EC",
        "ratio": "10.11%"
    },
    {
        "hex": "#636574",
        "ratio": "8.93%"
    },
    {
        "hex": "#CACAD2",
        "ratio": "5.55%"
    },
    {
        "hex": "#CBD4E4",
        "ratio": "2.62%"
    }
]
watermark bool (Opsional)Menambahkan label watermark di pojok kanan bawah gambar dengan teks tetap "AI Generated".
  • false (default)
  • true
seed integer (opsional)Seed bilangan acak. Rentang valid: [0,2147483647].Menggunakan seed yang sama menghasilkan output serupa. Jika dihilangkan, algoritma menggunakan seed acak.Catatan: Pembuatan gambar bersifat probabilistik. Bahkan dengan seed yang sama, hasilnya mungkin berbeda.

Parameter respons

  • Eksekusi tugas berhasil
  • Eksekusi tugas abnormal
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-xxx.oss-xxx.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ],
                    "role": "assistant"
                }
            }
        ],
        "finished": true
    },
    "usage": {
        "image_count": 1,
        "input_tokens": 10867,
        "output_tokens": 2,
        "size": "1488*704",
        "total_tokens": 10869
    },
    "request_id": "71dfc3c6-f796-9972-97e4-bc4efc4faxxx"
}
output objectInformasi output tugas.

Properti

choices arrayKonten output yang dihasilkan oleh model.

Properti

finish_reason stringAlasan tugas berhenti. stop menunjukkan penyelesaian alami.message objectPesan yang dikembalikan oleh model.

Properti

role stringPeran pesan. Selalu assistant.content array

Properti

type stringNilai: image.image stringURL gambar yang dihasilkan. Format: PNG.Tautan berlaku selama 24 jam. Segera unduh gambar.
finished booleanMenunjukkan apakah tugas telah selesai. Default: false.
usage objectStatistik penggunaan untuk permintaan. Hanya hasil yang berhasil yang dihitung.

Properti

image_count integerJumlah gambar yang dihasilkan.size stringResolusi gambar yang dihasilkan. Contoh: 1376*768.input_tokens integerJumlah token input (tidak dikenai biaya). Penagihan berdasarkan jumlah gambar.output_tokens integerJumlah token output (tidak dikenai biaya). Penagihan berdasarkan jumlah gambar.total_tokens integerJumlah total token (tidak dikenai biaya). Penagihan berdasarkan jumlah gambar.
request_id stringIdentifier permintaan unik untuk pelacakan dan troubleshooting.
code stringKode error. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.
message stringPesan error detail. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.

HTTP asinkron

Paling cocok untuk tugas berdurasi panjang. Kirim tugas, lalu polling status dan hasilnya.

Langkah 1: Buat tugas untuk mendapatkan ID tugas

  • Singapura
  • Beijing
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generationGanti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Parameter permintaan

  • Text-to-image
  • Image editing
  • Interactive editing
  • Image set generation
Model wan2.7-image-pro hanya mendukung resolusi 4K untuk pembuatan text-to-image. Pengeditan gambar dan pembuatan image set mendukung resolusi maksimal 2K.
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image-generation/generation' \
    --header 'Content-Type: application/json' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --header "X-DashScope-Async: enable" \
    --data '{
        "model": "wan2.7-image-pro",
        "input": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {"text": "A flower shop with exquisite windows, a beautiful wooden door, and flowers on display"}
                    ]
                }
            ]
        },
        "parameters": {
            "size": "2K",
            "n": 1,
            "watermark": false,
            "thinking_mode": true
        }
    }'

Header
Content-Type string (Wajib)Tipe konten permintaan. Harus application/json.
Authorization string (Wajib)Mengotentikasi permintaan dengan Kunci API Model Studio. Contoh: Bearer sk-xxxx.
X-DashScope-Async string (Wajib)Mengaktifkan pemrosesan asinkron. Permintaan HTTP hanya mendukung panggilan asinkron. Harus enable.
Jika header permintaan ini tidak ada, error "current user api does not support synchronous calls" dikembalikan.
Body permintaan
model string (Wajib)Nama model. Nilai yang valid: wan2.7-image-pro, wan2.7-image.
input object (Wajib)Objek input.

Properti

messages array (Wajib)Array konten permintaan. Hanya percakapan satu putaran yang didukung.

Properti

role string (Wajib)Peran pesan. Harus user.content array (Wajib)Array konten pesan.

Properti

text stringPrompt teks. Mendukung bahasa Tionghoa dan Inggris. Maksimal 5.000 karakter. Setiap karakter, huruf, angka, atau simbol dihitung sebagai satu. Karakter berlebih akan dipotong.image stringURL atau string Base64-encoded dari gambar input.Batasan gambar:
  • Format gambar: JPEG, JPG, PNG (saluran alfa tidak didukung), BMP, WEBP.
  • Resolusi gambar: Lebar dan tinggi harus antara 240 hingga 8.000 piksel. Rasio aspek harus antara 1:8 hingga 8:1.
  • Ukuran file: Tidak lebih dari 20 MB.
Batasan jumlah gambar:
  • Anda dapat menginput 0 hingga 9 gambar.
  • Jika menginput beberapa gambar, Anda harus meneruskan beberapa objek image dalam array content. Urutan objek dalam array menentukan urutan gambar.
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. Teruskan string gambar Base64-encoded
    • Format: data:{MIME_type};base64,{base64_data}
    • Contoh: data:image/jpeg;base64,GDU7MtCZzEbTbmRZ... (Hanya ilustrasi. Anda harus meneruskan string lengkap.)
    • Untuk informasi lebih lanjut, lihat Metode input gambar.
parameters object (Opsional)Pengaturan parameter model.

Properti

bbox_list List[List[List[int]]] (Opsional)Area Kotak pembatas untuk pengeditan interaktif.
  • Panjang daftar harus sesuai dengan jumlah gambar input. Jika suatu gambar tidak memerlukan pengeditan, teruskan daftar kosong [] pada posisi yang sesuai.
  • Format koordinat: [x1, y1, x2, y2] (x kiri atas, y kiri atas, x kanan bawah, y kanan bawah). Gunakan koordinat piksel absolut dari gambar asli. Koordinat kiri atas adalah (0, 0).
  • Satu gambar mendukung maksimal dua Kotak pembatas.
Contoh: Input 3 gambar, di mana gambar kedua tidak memiliki Kotak pembatas dan gambar pertama memiliki dua Kotak pembatas:
[
  [[0, 0, 12, 12], [25, 25, 100, 100]],  # Gambar 1 (2 kotak)
  [],                                    # Gambar 2 (tanpa kotak)
  [[10, 10, 50, 50]]                     # Gambar 3 (1 kotak)
]
enable_sequential boolean (Opsional)Mengontrol mode pembuatan gambar:
  • false (default): Mode output default.
  • true: Mode output image set.
size string (Opsional)Resolusi gambar output. Mendukung dua metode yang saling eksklusif:Model: wan2.7-image-pro
  • Metode 1: Tentukan resolusi gambar output (Direkomendasikan)
    • Mendukung spesifikasi 1K, 2K (default), dan 4K.
    • Lingkup penerapan:
      • Text-to-image (tanpa input gambar, bukan untuk pembuatan image set): Mendukung 1K, 2K, dan 4K.
      • Skenario lainnya: Mendukung 1K dan 2K.
    • Total piksel untuk setiap spesifikasi: 1K: 1024×1024, 2K: 2048×2048, 4K: 4096×4096
    • Rasio aspek gambar:
      • Jika ada input gambar: Rasio aspek output sesuai dengan gambar input (yang terakhir jika ada beberapa gambar input) dan diskalakan ke resolusi yang dipilih.
      • Jika tidak ada input gambar: Output berupa gambar persegi.
  • Metode 2: Tentukan lebar dan tinggi dalam piksel untuk gambar yang dihasilkan
    • Text-to-image: Total piksel antara 768×768 hingga 4096×4096. Rasio aspek antara 1:8 hingga 8:1.
    • Skenario lainnya: Total piksel antara 768×768 hingga 2048×2048. Rasio aspek antara 1:8 hingga 8:1.
Model: wan2.7-image
  • Metode 1: Tentukan resolusi gambar output (Direkomendasikan)
    • Mendukung spesifikasi 1K dan 2K (default). 4K tidak didukung.
  • Metode 2: Tentukan lebar dan tinggi dalam piksel untuk gambar yang dihasilkan
    • Dalam semua skenario, total piksel antara 768×768 hingga 2048×2048. Rasio aspek antara 1:8 hingga 8:1.
Nilai piksel gambar output mungkin memiliki sedikit perbedaan dari nilai yang ditentukan.
n int (Opsional)
Parameter n secara langsung memengaruhi biaya: harga satuan × jumlah gambar yang berhasil dibuat. Konfirmasi harga model sebelum memanggil.
  • Jika mode image set dinonaktifkan, nilai ini merepresentasikan jumlah gambar yang akan dibuat. Rentangnya 1 hingga 4. Default: 1.
  • Jika mode image set diaktifkan, nilai ini merepresentasikan jumlah maksimum gambar yang akan dibuat. Rentangnya 1 hingga 12. Default: 12. Jumlah aktual ditentukan oleh model dan tidak akan melebihi n.
thinking_mode boolean (Opsional)Mengaktifkan mode thinking. Default: true. Parameter ini hanya berlaku ketika mode image set dinonaktifkan dan tidak ada input gambar. Saat diaktifkan, model meningkatkan kemampuan Inferensi untuk meningkatkan kualitas output, tetapi hal ini meningkatkan waktu pembuatan.color_palette array (Opsional)Tema warna kustom. Array objek, masing-masing dengan warna heksadesimal dan rasio. Harus mencakup 3 hingga 10 warna. Disarankan 8 warna.Hanya tersedia saat mode image set dinonaktifkan (enable_sequential=false).

Properti

hex string (Wajib)Nilai warna dalam format heksadesimal (HEX).ratio string (Wajib)Presentase warna. Harus akurat hingga dua tempat desimal (seperti "25.00%"). Jumlah semua nilai rasio harus 100.00%.
"color_palette": [
    {
        "hex": "#C2D1E6",
        "ratio": "23.51%"
    },
    {
        "hex": "#CDD8E9",
        "ratio": "20.13%"
    },
    {
        "hex": "#B5C8DB",
        "ratio": "15.88%"
    },
    {
        "hex": "#C0B5B4",
        "ratio": "13.27%"
    },
    {
        "hex": "#DAE0EC",
        "ratio": "10.11%"
    },
    {
        "hex": "#636574",
        "ratio": "8.93%"
    },
    {
        "hex": "#CACAD2",
        "ratio": "5.55%"
    },
    {
        "hex": "#CBD4E4",
        "ratio": "2.62%"
    }
]
watermark bool (Opsional)Menambahkan label watermark di pojok kanan bawah gambar dengan teks tetap "AI Generated".
  • false (default)
  • true
seed integer (opsional)Seed bilangan acak. Rentang valid: [0,2147483647].Menggunakan seed yang sama menghasilkan output serupa. Jika dihilangkan, algoritma menggunakan seed acak.Catatan: Pembuatan gambar bersifat probabilistik. Bahkan dengan seed yang sama, hasilnya mungkin berbeda.

Parameter respons

  • Respons berhasil
  • Respons error
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"
}
output objectInformasi output tugas.

Properti

task_id stringID tugas. Berlaku untuk kueri selama 24 jam.task_status stringStatus tugas.

Nilai enumerasi

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • CANCELED
  • UNKNOWN: Tugas tidak ada atau statusnya tidak diketahui.
request_id stringIdentifier permintaan unik untuk pelacakan dan troubleshooting.
code stringKode error. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.
message stringPesan error detail. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.

Langkah 2: Tanyakan hasil berdasarkan ID tugas

  • Singapura
  • Beijing
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

Parameter permintaan

  • Tanyakan hasil tugas
Ganti {task_id} dengan nilai task_id yang dikembalikan oleh panggilan API sebelumnya. task_id berlaku untuk kueri selama 24 jam.
curl -X GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
Header
Authorization string (Wajib)Mengotentikasi permintaan dengan Kunci API Model Studio. Contoh: Bearer sk-xxxx.
Parameter path
task_id string (Wajib)ID tugas.

Parameter respons

  • Eksekusi tugas berhasil
  • Eksekusi tugas abnormal
Data tugas (status tugas dan URL gambar) hanya disimpan selama 24 jam, lalu secara otomatis dihapus. Segera simpan gambar yang dihasilkan.
{
    "request_id": "810fa5f5-334c-91f3-aaa4-ed89cf0caxxx",
    "output": {
        "task_id": "a81ee7cb-014c-473d-b842-76e98311cxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2026-03-26 17:16:01.663",
        "scheduled_time": "2026-03-26 17:16:01.716",
        "end_time": "2026-03-26 17:16:22.961",
        "finished": true,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-xxx.oss-xxx.aliyuncs.com/xxx.png?Expires=xxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ]
    },
    "usage": {
        "size": "2976*1408",
        "total_tokens": 11017,
        "image_count": 1,
        "output_tokens": 2,
        "input_tokens": 11015
    }
}
output objectInformasi output tugas.

Properti

task_id stringID tugas. Berlaku untuk kueri selama 24 jam.task_status stringStatus tugas.

Nilai 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 awal biasanya PENDING atau RUNNING.
  • Saat status berubah menjadi SUCCEEDED, respons berisi URL gambar yang dihasilkan.
  • Jika statusnya FAILED, periksa pesan error dan coba ulang tugas.
submit_time stringWaktu saat tugas dikirim. Waktu dalam UTC+8 dan format YYYY-MM-DD HH:mm:ss.SSS.scheduled_time stringWaktu saat tugas dieksekusi. Waktu dalam UTC+8 dan format YYYY-MM-DD HH:mm:ss.SSS.end_time stringWaktu saat tugas selesai. Waktu dalam UTC+8 dan format YYYY-MM-DD HH:mm:ss.SSS.finished booleanMenunjukkan apakah tugas telah selesai. Default: false.choices arrayKonten output yang dihasilkan oleh model.

Properti

finish_reason stringAlasan tugas berhenti. stop menunjukkan penyelesaian alami.message objectPesan yang dikembalikan oleh model.

Properti

role stringPeran pesan. Selalu assistant.content array

Properti

type stringNilai: text, image.text stringTeks yang dihasilkan.image stringURL gambar yang dihasilkan. Format: PNG.Tautan berlaku selama 24 jam. Segera unduh gambar.
usage objectStatistik penggunaan untuk permintaan. Hanya hasil yang berhasil yang dihitung.

Properti

image_count integerJumlah gambar yang dihasilkan.size stringResolusi gambar yang dihasilkan. Contoh: 1376*768.input_tokens integerJumlah token input (tidak dikenai biaya). Penagihan berdasarkan jumlah gambar.output_tokens integerJumlah token output (tidak dikenai biaya). Penagihan berdasarkan jumlah gambar.total_tokens integerJumlah total token (tidak dikenai biaya). Penagihan berdasarkan jumlah gambar.
request_id stringIdentifier permintaan unik untuk pelacakan dan troubleshooting.
code stringKode error. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.
message stringPesan error detail. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.

Python SDK

Nama parameter SDK sebagian besar konsisten dengan HTTP API. Tugas pembuatan gambar bisa memakan waktu, sehingga SDK membungkus alur kerja asinkron HTTP. Panggilan sinkron dan asinkron didukung.
Durasi tugas bergantung pada panjang antrian dan status layanan.
Pastikan versi DashScope Python SDK Anda adalah 1.25.15 atau lebih baru. Untuk memperbarui, lihat Instal SDK.
Baik base_url maupun Kunci API bersifat spesifik wilayah. Contoh berikut menggunakan wilayah Singapura:
  • Singapura
  • China (Beijing)
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1Saat memanggil, ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Image editing

  • Panggilan sinkron
  • Panggilan asinkron
Contoh permintaan
import os
import base64
import mimetypes
import urllib.request
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message

# base_url berikut untuk wilayah Singapura. Ganti {WorkspaceId} dengan ID ruang kerja Bailian Anda. base_url berbeda-beda per wilayah.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.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 berbeda-beda per wilayah. Untuk mendapatkan Kunci API, kunjungi: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

# --- Fungsi encoding Base64 ---
# Format encoding Base64 adalah data:{MIME_type};base64,{base64_data}
def encode_file(file_path):
    mime_type, _ = mimetypes.guess_type(file_path)
    if not mime_type or not mime_type.startswith("image/"):
        raise ValueError("Format gambar tidak didukung atau tidak dikenali")
    with open(file_path, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode("utf-8")
    return f"data:{mime_type};base64,{encoded_string}"

"""
Metode input gambar:
Berikut tiga metode input gambar. Anda perlu memilih salah satu.
1. Gunakan URL publik: Metode ini cocok untuk gambar yang dapat diakses publik.
2. Gunakan file lokal: Metode ini cocok untuk pengembangan dan pengujian lokal.
3. Gunakan encoding Base64: Metode ini cocok untuk gambar privat atau skenario yang memerlukan transmisi terenkripsi.
"""
# [Metode 1] Gunakan URL gambar publik
image_1 = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251229/pjeqdf/car.webp"
image_2 = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251229/xsunlm/paint.webp"

# [Metode 2] Gunakan file lokal (mendukung path absolut dan relatif)
# image_1 = "file:///path/to/your/car.png"
# image_2 = "file:///path/to/your/paint.png"

# [Metode 3] Gunakan gambar Base64-encoded
# image_1 = encode_file("/path/to/your/car.png")
# image_2 = encode_file("/path/to/your/paint.png")

message = Message(
    role="user",
    content=[
        {"text": "Spray the graffiti from image 2 onto the car in image 1"},
        {"image": image_1},
        {"image": image_2},
    ],
)
print("----sync call, please wait a moment----")
rsp = ImageGeneration.call(
    model="wan2.7-image-pro",
    api_key=api_key,
    messages=[message],
    watermark=False,
    n=1,
    size="2K",  # wan2.7-image-pro mendukung resolusi 4K hanya untuk pembuatan text-to-image. Pengeditan gambar dan pembuatan gambar multi mendukung resolusi maksimal 2K.
)

# Ekstrak URL gambar hasil dan simpan gambar ke file lokal.
if rsp.status_code == 200:
    for i, choice in enumerate(rsp.output.choices):
        for j, content in enumerate(choice["message"]["content"]):
            if content.get("type") == "image":
                image_url = content["image"]
                file_name = f"output_{i}_{j}.png"
                # URL hasil berlaku selama 24 jam. Harap unduh tepat waktu.
                urllib.request.urlretrieve(image_url, file_name)
                print(f"Gambar disimpan ke {file_name}")
else:
    print(f"Gagal: status_code={rsp.status_code}, message={rsp.message}")
Contoh respons
URL berlaku selama 24 jam. Segera unduh gambar.
{
    "status_code": 200,
    "request_id": "81d868c6-6ce1-92d8-a90d-d2ee71xxxxxx",
    "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": 18790,
        "output_tokens": 2,
        "characters": 0,
        "image_count": 1,
        "size": "2985*1405",
        "total_tokens": 18792
    }
}

Image set generation

  • Panggilan sinkron
  • Panggilan asinkron
Contoh permintaan
import os
import base64
import mimetypes
import urllib.request
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message

# base_url berikut untuk wilayah Singapura. Ganti {WorkspaceId} dengan ID ruang kerja Bailian Anda. base_url berbeda-beda per wilayah.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.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 berbeda-beda per wilayah. Untuk mendapatkan Kunci API, kunjungi: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

# --- Fungsi encoding Base64 ---
# Format encoding Base64 adalah data:{MIME_type};base64,{base64_data}
def encode_file(file_path):
    mime_type, _ = mimetypes.guess_type(file_path)
    if not mime_type or not mime_type.startswith("image/"):
        raise ValueError("Format gambar tidak didukung atau tidak dikenali")
    with open(file_path, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode("utf-8")
    return f"data:{mime_type};base64,{encoded_string}"

"""
Deskripsi metode input gambar (untuk pembuatan sequence gambar image-to-image):
Pilih salah satu dari tiga metode input gambar berikut:
1. Gunakan URL publik - Cocok untuk gambar yang dapat diakses publik.
2. Gunakan file lokal - Cocok untuk pengembangan dan pengujian lokal.
3. Gunakan encoding Base64 - Cocok untuk gambar privat atau skenario yang memerlukan transmisi terenkripsi.
"""
# [Metode 1] Gunakan URL gambar publik
# image_1 = "https://img.alicdn.com/imgextra/i4/O1CN01IM44WN23dq5uY1yla_!!6000000007279-49-tps-1024-1024.webp"

# [Metode 2] Gunakan file lokal (mendukung path absolut dan relatif)
# image_1 = "file:///path/to/your/image.png"

# [Metode 3] Gunakan gambar Base64-encoded
# image_1 = encode_file("/path/to/your/image.png")

message = Message(
    role="user",
    content=[
        {
            "text": "A cinematic image sequence featuring the same stray orange cat, whose features must be consistent across all images. First image: In spring, the orange cat weaves through blooming cherry blossom trees. Second image: In summer, the orange cat cools off in the shade of a tree on an old street. Third image: In autumn, the orange cat walks on a carpet of golden fallen leaves. Fourth image: In winter, the orange cat leaves footprints as it walks on the snow."
        }
        # Untuk pembuatan sequence gambar image-to-image: Hapus komentar baris berikut dan beri komentar pada teks biasa di atas.
        # {"text": "Generate a four-seasons image sequence based on the style of the reference image"},
        # {"image": image_1}
    ],
)

print("----sync call, please wait a moment----")
rsp = ImageGeneration.call(
    model="wan2.7-image-pro",
    api_key=api_key,
    messages=[message],
    enable_sequential=True,
    n=4,
    size="2K",  # wan2.7-image-pro mendukung resolusi 4K hanya dalam skenario text-to-image. Pengeditan gambar dan pembuatan sequence gambar mendukung resolusi maksimal 2K.
)

# Ekstrak URL gambar hasil dan simpan gambar secara lokal.
if rsp.status_code == 200:
    for i, choice in enumerate(rsp.output.choices):
        for j, content in enumerate(choice["message"]["content"]):
            if content.get("type") == "image":
                image_url = content["image"]
                file_name = f"output_{i}_{j}.png"
                # URL hasil berlaku selama 24 jam. Unduh gambar tepat waktu.
                urllib.request.urlretrieve(image_url, file_name)
                print(f"Gambar disimpan ke {file_name}")
else:
    print(f"Gagal: status_code={rsp.status_code}, message={rsp.message}")
Contoh respons
URL berlaku selama 24 jam. Segera unduh gambar.
{
    "status_code": 200,
    "request_id": "56e318fd-ed60-99e8-8ca1-cdef25ca4xxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": null,
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        },
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        },
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        },
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "audio": null,
        "finished": true
    },
    "usage": {
        "input_tokens": 720,
        "output_tokens": 11,
        "characters": 0,
        "image_count": 4,
        "size": "2048*2048",
        "total_tokens": 731
    }
}

Java SDK

Nama parameter SDK sebagian besar konsisten dengan HTTP API. Tugas pembuatan gambar bisa memakan waktu, sehingga SDK membungkus alur kerja asinkron HTTP. Panggilan sinkron dan asinkron didukung.
Pastikan versi DashScope Java SDK Anda adalah 2.22.13 atau lebih baru.
  • Singapura
  • China (Beijing)
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1Saat memanggil, ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Image editing

  • Panggilan sinkron
  • Panggilan 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.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.Arrays;
import java.util.Base64;
import java.util.Collections;
import java.util.List;
import java.util.Map;

/**
 * Contoh Panggilan Sinkron Pengeditan Gambar wan2.7-image-pro
 */
public class Main {

    static {
        // URL berikut untuk wilayah Singapura. Ganti {WorkspaceId} dengan ID ruang kerja Bailian Anda. base_url berbeda-beda per wilayah.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey="sk-xxx"
    // Kunci API berbeda-beda per wilayah. Untuk mendapatkan Kunci API, kunjungi https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    // --- Fungsi encoding Base64 ---
    // Format encoding Base64: data:{MIME_type};base64,{base64_data}
    public static String encodeFile(String filePath) throws IOException {
        byte[] fileContent = Files.readAllBytes(Paths.get(filePath));
        String base64String = Base64.getEncoder().encodeToString(fileContent);
        String mimeType = Files.probeContentType(Paths.get(filePath));
        return "data:" + mimeType + ";base64," + base64String;
    }

    public static void basicCall() throws ApiException, NoApiKeyException, UploadFileException, IOException {
        /*
         * Deskripsi metode input gambar:
         * Tiga metode input gambar disediakan di bawah ini. Pilih salah satu.
         * 1. Gunakan URL publik: Cocok untuk gambar yang dapat diakses publik.
         * 2. Gunakan file lokal: Cocok untuk pengembangan dan pengujian lokal.
         * 3. Gunakan encoding Base64: Cocok untuk gambar privat atau skenario yang memerlukan transmisi terenkripsi.
         */
        // Metode 1: Gunakan URL gambar publik.
        String image1 = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251229/pjeqdf/car.webp";
        String image2 = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20251229/xsunlm/paint.webp";

        // Metode 2: Gunakan file lokal. Path absolut dan relatif didukung.
        // Format: file:// + path file
        // String image1 = "file:///path/to/your/car.png";
        // String image2 = "file:///path/to/your/paint.png";

        // Metode 3: Gunakan gambar Base64-encoded.
        // String image1 = encodeFile("/path/to/your/car.png");
        // String image2 = encodeFile("/path/to/your/paint.png");

        // Bangun pesan input multi-gambar.
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Arrays.asList(
                        // Input multi-gambar didukung. Anda dapat memberikan beberapa gambar referensi.
                        Collections.singletonMap("text", "Spray the graffiti from image 2 onto the car in image 1"),
                        Collections.singletonMap("image", image1),
                        Collections.singletonMap("image", image2)
                )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.7-image-pro")
                .messages(Collections.singletonList(message))
                .n(1)
                .size("2K") // Untuk wan2.7-image-pro, hanya skenario pembuatan text-to-image yang mendukung resolusi 4K. Pengeditan gambar dan pembuatan kolase mendukung resolusi maksimal 2K.
                .build();

        ImageGeneration imageGeneration = new ImageGeneration();
        ImageGenerationResult result = null;
        try {
            System.out.println("---sync call for image editing, please wait a moment----");
            result = imageGeneration.call(param);
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            throw new RuntimeException(e.getMessage());
        }
        // Ekstrak URL gambar hasil dan simpan ke file lokal.
        for (int i = 0; i < result.getOutput().getChoices().size(); i++) {
            List<Map<String, Object>> contents = result.getOutput().getChoices().get(i)
                    .getMessage().getContent();
            for (int j = 0; j < contents.size(); j++) {
                if ("image".equals(contents.get(j).get("type"))) {
                    String imageUrl = (String) contents.get(j).get("image");
                    String fileName = "output_" + i + "_" + j + ".png";
                    // URL hasil berlaku selama 24 jam. Unduh gambar tepat waktu.
                    try (InputStream in = new URL(imageUrl).openStream()) {
                        Files.copy(in, Paths.get(fileName), StandardCopyOption.REPLACE_EXISTING);
                    }
                    System.out.println("Gambar disimpan ke " + fileName);
                }
            }
        }
    }

    public static void main(String[] args) throws ApiException, NoApiKeyException, UploadFileException, IOException {
        basicCall();
    }
}
Contoh respons
URL berlaku selama 24 jam. Simpan tepat waktu.
{
    "requestId": "1bf6173a-e8de-9f75-94d3-5e618f875xxx",
    "usage": {
        "input_tokens": 18790,
        "output_tokens": 2,
        "total_tokens": 18792,
        "image_count": 1,
        "size": "2985*1405"
    },
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "finished": true
    },
    "status_code": 200,
    "code": "",
    "message": ""
}

Image set generation

  • Panggilan sinkron
  • Panggilan 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.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.Arrays;
import java.util.Base64;
import java.util.Collections;
import java.util.List;
import java.util.Map;

/**
 * Contoh penggunaan wan2.7-image-pro untuk pembuatan seri gambar melalui panggilan sinkron di wilayah Singapura.
 */
public class Main {

    static {
        // URL berikut untuk wilayah Singapura. Ganti {WorkspaceId} dengan ID ruang kerja Bailian Anda. base_url berbeda-beda per wilayah.
        Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }

    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey="sk-xxx"
    // Kunci API berbeda-beda per wilayah. Untuk mendapatkan Kunci API, kunjungi: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    static String apiKey = System.getenv("DASHSCOPE_API_KEY");

    // --- Fungsi encoding Base64 ---
    // Format untuk encoding Base64 adalah data:{MIME_type};base64,{base64_data}
    public static String encodeFile(String filePath) throws IOException {
        byte[] fileContent = Files.readAllBytes(Paths.get(filePath));
        String base64String = Base64.getEncoder().encodeToString(fileContent);
        String mimeType = Files.probeContentType(Paths.get(filePath));
        return "data:" + mimeType + ";base64," + base64String;
    }

    public static void basicCall() throws ApiException, NoApiKeyException, UploadFileException, IOException {
        /*
         * Metode input gambar (untuk pembuatan seri gambar image-to-image):
         * Tiga metode input gambar disediakan di bawah ini. Pilih salah satu.
         * 1. URL publik: Cocok untuk gambar yang sudah dapat diakses publik.
         * 2. File lokal: Cocok untuk pengembangan dan pengujian lokal.
         * 3. Encoding Base64: Cocok untuk gambar privat atau skenario yang memerlukan transmisi terenkripsi.
         */
        // Metode 1: Gunakan URL gambar publik
        // String image1 = "https://img.alicdn.com/imgextra/i4/O1CN01IM44WN23dq5uY1yla_!!6000000007279-49-tps-1024-1024.webp";

        // Metode 2: Gunakan file lokal (mendukung path absolut dan relatif)
        // Format: file:// + path file
        // String image1 = "file:///path/to/your/image.png";

        // Metode 3: Gunakan gambar Base64-encoded
        // String image1 = encodeFile("/path/to/your/image.png");

        // Bangun pesan input teks. Ini mendukung pembuatan seri text-to-image dan image-to-image. Contoh ini menunjukkan pembuatan seri text-to-image.
        ImageGenerationMessage message = ImageGenerationMessage.builder()
                .role("user")
                .content(Collections.singletonList(
                        Collections.singletonMap("text", "A cinematic image series documenting the same stray orange cat, whose features must remain consistent. First image: In spring, the cat weaves through blooming cherry blossom trees. Second image: In summer, the cat cools off in the shade on an old street. Third image: In autumn, the cat walks on a carpet of golden fallen leaves. Fourth image: In winter, the cat leaves footprints in the snow.")
                )).build();
        // Untuk pembuatan seri image-to-image, hapus komentar kode berikut dan beri komentar pada pembangun pesan teks biasa di atas.
        // ImageGenerationMessage message = ImageGenerationMessage.builder()
        //         .role("user")
        //         .content(Arrays.asList(
        //                 Collections.singletonMap("text", "Generate a four-season image series based on the style of the reference image."),
        //                 Collections.singletonMap("image", image1)
        //         )).build();

        ImageGenerationParam param = ImageGenerationParam.builder()
                .apiKey(apiKey)
                .model("wan2.7-image-pro")
                .messages(Collections.singletonList(message))
                .enableSequential(true)
                .n(4)
                .size("2K") // Model wan2.7-image-pro hanya mendukung resolusi 4K untuk pembuatan text-to-image. Pengeditan gambar dan pembuatan seri gambar mendukung resolusi maksimal 2K.
                .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());
        }
        // Ekstrak URL gambar hasil dan simpan ke direktori lokal.
        for (int i = 0; i < result.getOutput().getChoices().size(); i++) {
            List<Map<String, Object>> contents = result.getOutput().getChoices().get(i)
                    .getMessage().getContent();
            for (int j = 0; j < contents.size(); j++) {
                if ("image".equals(contents.get(j).get("type"))) {
                    String imageUrl = (String) contents.get(j).get("image");
                    String fileName = "output_" + i + "_" + j + ".png";
                    // URL hasil berlaku selama 24 jam. Pastikan untuk mengunduhnya tepat waktu.
                    try (InputStream in = new URL(imageUrl).openStream()) {
                        Files.copy(in, Paths.get(fileName), StandardCopyOption.REPLACE_EXISTING);
                    }
                    System.out.println("Gambar disimpan ke " + fileName);
                }
            }
        }
    }

    public static void main(String[] args) throws ApiException, NoApiKeyException, UploadFileException, IOException {
        basicCall();
    }
}
Contoh respons
URL berlaku selama 24 jam. Simpan tepat waktu.
{
    "requestId": "4678c314-b37a-91c9-a2ae-2d3cd54bbxxx",
    "usage": {
        "input_tokens": 720,
        "output_tokens": 11,
        "total_tokens": 731,
        "image_count": 4,
        "size": "2048*2048"
    },
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        },
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        },
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        },
                        {
                            "image": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxxxxx.png?Expires=xxxxxx",
                            "type": "image"
                        }
                    ]
                }
            }
        ],
        "finished": true
    },
    "status_code": 200,
    "code": "",
    "message": ""
}

Penagihan dan pembatasan laju

  • Untuk kuota gratis dan harga satuan model, lihat Harga model.
  • Untuk pembatasan laju model, lihat Wanxiang.
  • Detail penagihan: Anda ditagih berdasarkan jumlah gambar yang berhasil dihasilkan. Panggilan gagal dan error pemrosesan tidak dikenai biaya atau mengurangi kuota gratis untuk pengguna baru Anda.

Kode error

Jika pemanggilan model gagal dan mengembalikan pesan error, lihat Kode error untuk penyelesaian.
Video Generation
Model Dunia
Audio
  • Pembuatan audio
Realtime API
Penyematan Teks
TokenPlan
Model production