Qwen-Image-Edit mendukung input dan output multi-gambar. Model ini dapat memodifikasi teks dalam gambar secara akurat, menambahkan, menghapus, atau memindahkan objek, mengubah aksi subjek, mentransfer gaya gambar, serta meningkatkan detail.
Mulai
Contoh berikut menunjukkan cara menggunakan qwen-image-2.0-pro untuk menghasilkan dua gambar yang telah diedit dari tiga gambar input dan sebuah prompt.
Prompt input: Gadis pada Gambar 1 mengenakan gaun hitam dari Gambar 2 dan duduk dalam pose dari Gambar 3.
Gambar input 1 | Gambar input 2 | Gambar input 3 | Gambar output (beberapa gambar) | |
|
|
|
|
|
Sebelum melakukan panggilan, dapatkan Kunci API dan ekspor Kunci API sebagai Variabel lingkungan.
Untuk memanggil API menggunakan SDK, instal DashScope SDK. SDK tersedia untuk Python dan Java.
Model pengeditan gambar Qwen mendukung satu hingga tiga gambar input. Seri qwen-image-2.0, qwen-image-edit-max, dan qwen-image-edit-plus dapat menghasilkan satu hingga enam gambar. qwen-image-edit hanya dapat menghasilkan satu gambar. URL untuk gambar yang dihasilkan berlaku selama 24 jam. Unduh gambar ke perangkat lokal Anda segera.
Python
import json
import os
import dashscope
from dashscope import MultiModalConversation
# Berikut 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'
# Model mendukung satu hingga tiga gambar input.
messages = [
{
"role": "user",
"content": [
{"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"},
{"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"},
{"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"},
{"text": "Make the girl from Image 1 wear the black dress from Image 2 and sit in the pose from Image 3."}
]
}
]
# Wilayah Singapura dan Beijing menggunakan Kunci API yang terpisah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# Ganti dengan Kunci API Anda jika variabel lingkungan belum diatur: api_key="sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")
# Seri qwen-image-2.0, qwen-image-edit-max, dan qwen-image-edit-plus mendukung output 1 hingga 6 gambar. Contoh ini menunjukkan cara menghasilkan 2 gambar.
response = MultiModalConversation.call(
api_key=api_key,
model="qwen-image-2.0-pro",
messages=messages,
stream=False,
n=2,
watermark=False,
negative_prompt=" ",
prompt_extend=True,
size="1024*1536",
)
if response.status_code == 200:
# Untuk melihat respons lengkap, hapus komentar pada baris berikut.
# print(json.dumps(response, ensure_ascii=False))
for i, content in enumerate(response.output.choices[0].message.content):
print(f"URL of output image {i+1}: {content['image']}")
else:
print(f"HTTP status code: {response.status_code}")
print(f"Error code: {response.code}")
print(f"Error message: {response.message}")
print("For more information, see the documentation: https://www.alibabacloud.com/help/en/model-studio/error-code")
Java
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
public class QwenImageEdit {
static {
// URL berikut digunakan 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";
}
// Wilayah Singapura dan Beijing menggunakan Kunci API yang terpisah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Anda: apiKey="sk-xxx"
static String apiKey = System.getenv("DASHSCOPE_API_KEY");
public static void call() throws ApiException, NoApiKeyException, UploadFileException, IOException {
MultiModalConversation conv = new MultiModalConversation();
// Model mendukung satu hingga tiga gambar input.
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"),
Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"),
Collections.singletonMap("image", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"),
Collections.singletonMap("text", "Make the girl from Image 1 wear the black dress from Image 2 and sit in the pose from Image 3.")
)).build();
// Seri qwen-image-2.0, qwen-image-edit-max, dan qwen-image-edit-plus mendukung output 1 hingga 6 gambar. Contoh ini menunjukkan cara menghasilkan 2 gambar.
Map<String, Object> parameters = new HashMap<>();
parameters.put("watermark", false);
parameters.put("negative_prompt", " ");
parameters.put("n", 2);
parameters.put("prompt_extend", true);
parameters.put("size", "1024*1536");
MultiModalConversationParam param = MultiModalConversationParam.builder()
.apiKey(apiKey)
.model("qwen-image-2.0-pro")
.messages(Collections.singletonList(userMessage))
.parameters(parameters)
.build();
MultiModalConversationResult result = conv.call(param);
// Untuk melihat respons lengkap, hapus komentar pada baris berikut.
// System.out.println(JsonUtils.toJson(result));
List<Map<String, Object>> contentList = result.getOutput().getChoices().get(0).getMessage().getContent();
int imageIndex = 1;
for (Map<String, Object> content : contentList) {
if (content.containsKey("image")) {
System.out.println("URL of output image " + imageIndex + ": " + content.get("image"));
imageIndex++;
}
}
}
public static void main(String[] args) {
try {
call();
} catch (ApiException | NoApiKeyException | UploadFileException | IOException e) {
System.out.println(e.getMessage());
}
}
}curl
Perintah berikut menggunakan URL untuk Wilayah Singapura. Jika Anda menggunakan model di Wilayah China (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
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": "qwen-image-2.0-pro",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/thtclx/input1.png"
},
{
"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/iclsnx/input2.png"
},
{
"image": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250925/gborgw/input3.png"
},
{
"text": "Make the girl from Image 1 wear the black dress from Image 2 and sit in the pose from Image 3."
}
]
}
]
},
"parameters": {
"n": 2,
"negative_prompt": " ",
"prompt_extend": true,
"watermark": false,
"size": "1024*1536"
}
}'Rekomendasi model
qwen-image-2.0-proseries (Direkomendasikan): Model gabungan untuk generasi dan pengeditan gambar dengan kemampuan yang ditingkatkan dalam rendering teks, tekstur realistis, dan ketaatan semantik.qwen-image-2.0series: Versi percepatan dari model gabungan generasi dan pengeditan gambar yang menyeimbangkan kualitas dan performa.
Untuk daftar model yang didukung di setiap wilayah, lihat Daftar model.
Instruksi input
Gambar input (messages)
Parameter messages adalah array yang harus berisi satu objek. Objek ini harus mencakup properti role dan content. Properti role harus diatur ke user. Properti content harus mencakup image (satu hingga tiga gambar) dan text (satu instruksi pengeditan).
Gambar input harus memenuhi persyaratan berikut:
Format gambar yang didukung adalah JPG, JPEG, PNG, BMP, TIFF, WEBP, dan GIF.
Gambar output berformat PNG. Untuk GIF animasi, hanya frame pertama yang diproses.
Untuk hasil terbaik, resolusi gambar harus antara 384 hingga 3072 piksel untuk lebar maupun tinggi. Resolusi rendah dapat menghasilkan output yang buram, sedangkan resolusi tinggi meningkatkan waktu pemrosesan.
Ukuran file gambar tunggal tidak boleh melebihi 10 MB.
"messages": [
{
"role": "user",
"content": [
{ "image": "Public URL or Base64 data of Image 1" },
{ "image": "Public URL or Base64 data of Image 2" },
{ "image": "Public URL or Base64 data of Image 3" },
{ "text": "Your editing instruction, for example: 'The girl in Image 1 wears the black dress from Image 2 and sits in the pose from Image 3'" }
]
}
]Urutan input gambar
Saat Anda memberikan beberapa gambar input, urutannya ditentukan oleh posisinya dalam array. Instruksi pengeditan harus sesuai dengan urutan gambar dalam bidang content, seperti 'Gambar 1' dan 'Gambar 2'.
Gambar input 1 | Gambar input 2 | Gambar output | |
|
|
Ganti pakaian gadis di Gambar 1 dengan pakaian gadis di Gambar 2. |
Ganti pakaian gadis di Gambar 2 dengan pakaian gadis di Gambar 1. |
Metode input gambar
URL publik
Anda dapat memberikan URL gambar yang dapat diakses publik dan mendukung protokol HTTP atau HTTPS.
Nilai contoh:
https://xxxx/img.png.
Base64 encoding
Konversi file gambar menjadi string terenkripsi Base64 dan gabungkan dalam format berikut: data:{mime_type};base64,{base64_data}.
{mime_type}: Jenis media gambar, yang harus sesuai dengan format file.{base64_data}: String terenkripsi Base64 dari file.Nilai contoh:
data:image/jpeg;base64,GDU7MtCZz...(Contoh dipotong untuk tujuan demonstrasi.)
Untuk contoh kode lengkap, lihat SDK Python dan SDK Java.
Parameter tambahan
Sesuaikan hasil generasi menggunakan parameter opsional berikut:
n: Jumlah gambar yang akan dihasilkan. Nilai default adalah 1. Seri model qwen-image-2.0, qwen-image-edit-max, dan qwen-image-edit-plus mendukung pembuatan satu hingga enam gambar. Model
qwen-image-edithanya mendukung pembuatan satu gambar.negative_prompt: Menggambarkan konten yang ingin dikecualikan dari gambar, seperti "blur" atau "extra fingers". Parameter ini membantu mengoptimalkan kualitas gambar yang dihasilkan.
watermark: Menentukan apakah akan menambahkan Watermark "Qwen-Image" di pojok kanan bawah gambar. Nilai default adalah
false. Gambar berikut menunjukkan gaya Watermark:
seed: Seed bilangan acak. Nilainya harus berupa bilangan bulat dari
[0, 2147483647]. Jika parameter ini tidak ditentukan, algoritma akan menghasilkan bilangan acak sebagai seed. Menggunakan nilai seed yang sama membantu memastikan hasil generasi yang konsisten.
Parameter opsional berikut hanya tersedia untuk seri model qwen-image-2.0, qwen-image-edit-max, dan qwen-image-edit-plus:
size: Resolusi gambar output. Formatnya adalah
width*height, seperti"1024*2048". Untuk model seri qwen-image-2.0, Anda dapat mengatur lebar dan tinggi secara bebas. Total piksel gambar output harus berada di antara 512 × 512 hingga 2048 × 2048. Secara default, resolusi sama dengan gambar input (gambar terakhir jika ada beberapa gambar). Untuk model seri qwen-image-edit-max dan qwen-image-edit-plus, lebar dan tinggi dapat berkisar antara 512 hingga 2048 piksel. Secara default, gambar output memiliki resolusi mendekati1024*1024dan rasio aspek yang mirip dengan gambar asli.prompt_extend: Mengaktifkan atau menonaktifkan fitur penulisan ulang prompt. Nilai default adalah
true. Jika diaktifkan, model akan mengoptimalkan prompt. Fitur ini dapat secara signifikan meningkatkan hasil untuk prompt yang sederhana atau kurang deskriptif.
Untuk daftar lengkap parameter, lihat Referensi API Qwen-Image-Edit.
Ikhtisar
Fusi multi-gambar
Gambar input 1 | Gambar input 2 | Gambar input 3 | Gambar output |
|
|
|
Gadis di Gambar 1 mengenakan kalung dari Gambar 2 dan membawa tas dari Gambar 3 di bahu kirinya. |
Konsistensi subjek
Gambar input | Gambar output 1 | Gambar output 2 | Gambar output 3 |
|
Ubah gambar menjadi foto ID dengan latar belakang biru. Orang tersebut mengenakan kemeja putih, setelan jas hitam, dan dasi bergaris. |
Orang tersebut mengenakan kemeja putih, setelan jas abu-abu, dan dasi bergaris. Satu tangan bertumpu pada dasi. Latar belakang berwarna terang. |
Orang tersebut mengenakan hoodie hitam dengan tulisan "Qwen Image" dalam font kuas tebal. Ia bersandar pada pagar pembatas dengan sinar matahari di rambutnya. Jembatan dan laut terlihat di latar belakang. |
|
AC ditempatkan di ruang tamu di sebelah sofa. |
Kabut ditambahkan dari ventilasi AC, menjalar ke atas sofa. Daun hijau juga ditambahkan. |
Teks tulisan tangan putih "自然新风 畅享呼吸" ditambahkan di bagian atas. |
Pembuatan sketsa
Gambar input | Gambar output | |
|
Buat gambar yang sesuai dengan bentuk detail yang digariskan di Gambar 1 dan ikuti deskripsi berikut: Seorang wanita muda tersenyum di hari yang cerah. Ia mengenakan kacamata hitam cokelat bulat dengan bingkai motif macan tutul. Rambutnya diikat rapi, ia mengenakan anting mutiara, syal biru tua dengan pola bintang ungu, dan jaket kulit hitam. |
Buat gambar yang sesuai dengan bentuk detail yang digariskan di Gambar 1 dan ikuti deskripsi berikut: Seorang pria lanjut usia tersenyum ke arah kamera. Wajahnya berkerut, rambutnya acak-acakan tertiup angin, dan ia mengenakan kacamata baca berbingkai bulat. Ia mengenakan syal merah lusuh dengan pola bintang di lehernya dan mengenakan jaket berlapis kapas. |
Generasi produk kreatif
Gambar input | Gambar output | ||
|
Buat beruang ini duduk di bawah bulan (diwakili oleh garis bulan sabit abu-abu terang pada latar belakang putih), memegang gitar, dengan bintang-bintang kecil dan gelembung ucapan berisi frasa seperti "Be Kind" melayang di sekitarnya. |
Cetak desain ini pada kaos dan tas kertas. Seorang model wanita memperagakan barang-barang tersebut. Wanita tersebut juga mengenakan topi baseball dengan tulisan "Be kind". |
Model karakter skala 1/7 hiper-realistis, dirancang sebagai produk jadi komersial, ditempatkan di atas meja dengan iMac yang memiliki keyboard putih. Model tersebut berdiri di atas alas akrilik transparan bulat yang bersih tanpa label atau teks. Pencahayaan studio profesional menyoroti detail ukiran. Di layar iMac di latar belakang, proses pemodelan ZBrush untuk model yang sama ditampilkan. Di samping model, letakkan kotak kemasan dengan jendela transparan di bagian depan, hanya menampilkan cangkang plastik bening di dalamnya. Kotak tersebut sedikit lebih tinggi dari model dan berukuran cukup untuk menampungnya. |
Beruang ini mengenakan pakaian astronot dan menunjuk ke kejauhan. |
Beruang ini mengenakan gaun bola mewah, dengan kedua lengan terentang dalam pose dansa elegan. |
Beruang ini mengenakan pakaian olahraga, memegang bola basket, dengan satu kaki ditekuk. | |
Hasilkan gambar dari depth map
Gambar input | Gambar output | |
|
Buat gambar yang sesuai dengan depth map yang digariskan di Gambar 1 dan ikuti deskripsi berikut: Sepeda biru diparkir di gang samping, dengan beberapa gulma tumbuh dari celah-celah batu di latar belakang. |
Buat gambar yang sesuai dengan depth map yang digariskan di Gambar 1 dan ikuti deskripsi berikut: Sepeda merah lusuh diparkir di jalan berlumpur, dengan hutan purba yang lebat di latar belakang. |
Hasilkan gambar dari keypoints
Gambar input | Gambar output | |
|
Buat gambar yang sesuai dengan pose manusia yang digariskan di Gambar 1 dan ikuti deskripsi berikut: Seorang wanita Tiongkok dalam Hanfu memegang payung kertas minyak di tengah hujan, dengan taman Suzhou di latar belakang. |
Buat gambar yang sesuai dengan pose manusia yang digariskan di Gambar 1 dan ikuti deskripsi berikut: Seorang pria muda berdiri di peron stasiun bawah tanah. Ia mengenakan topi baseball, kaos, dan jeans. Sebuah kereta melaju kencang di belakangnya. |
Pengeditan teks
Gambar input | Gambar output | Gambar input | Gambar output |
|
Ganti 'HEALTH INSURANCE' pada ubin Scrabble dengan '明天会更好'. |
|
Ubah frasa "Take a Breather" pada catatan menjadi "Relax and Recharge". |
Gambar input | Gambar output | ||
|
Ubah "Qwen-Image" menjadi font tetesan tinta hitam. |
Ubah "Qwen-Image" menjadi font tulisan tangan hitam. |
Ubah "Qwen-Image" menjadi font piksel hitam. |
Ubah "Qwen-Image" menjadi warna merah. |
Ubah "Qwen-Image" menjadi gradien biru-ungu. |
Ubah "Qwen-Image" menjadi warna-warna permen. | |
Ubah material "Qwen-Image" menjadi logam. |
Ubah material "Qwen-Image" menjadi awan. |
Ubah material "Qwen-Image" menjadi kaca. | |
Tambah, hapus, modifikasi, dan ganti
Kemampuan | Gambar input | Gambar output |
Tambah elemen |
|
Tambahkan papan kayu kecil di depan penguin yang bertuliskan "Welcome to Penguin Beach". |
Hapus elemen |
|
Hapus rambut dari piring. |
Ganti elemen |
|
Ubah buah persik menjadi apel. |
Modifikasi potret |
|
Buat matanya tertutup. |
Modifikasi pose |
|
Ia mengangkat kedua tangan dengan telapak menghadap kamera dan jari-jari terbuka dalam pose bermain-main. |
Transformasi sudut pandang
Gambar input | Gambar output | Gambar input | Gambar output |
|
Dapatkan tampilan depan. |
|
Menghadap ke kiri. |
|
Dapatkan tampilan belakang. |
|
Menghadap ke kanan. |
Penggantian latar belakang
Gambar input | Gambar output | |
|
Ubah latar belakang menjadi pantai. |
Ganti latar belakang asli dengan adegan kelas modern realistis. Di tengah latar belakang terdapat papan tulis tradisional berwarna hijau tua atau hitam. Karakter Tiongkok "Qwen" ditulis rapi di papan tulis dengan kapur putih. |
Pemrosesan foto lama
Kemampuan | Gambar input | Gambar output |
Restorasi dan pewarnaan foto lama |
|
Restorasi foto lama, hapus goresan, kurangi kebisingan, tingkatkan detail, resolusi tinggi, gambar realistis, warna kulit alami, fitur wajah jelas, tanpa distorsi. |
|
Warnai gambar secara cerdas berdasarkan isinya agar terlihat lebih hidup. |
Penagihan dan Pembatasan laju
Untuk kuota gratis dan harga, lihat Daftar model dan harga.
Untuk batas laju, lihat Qwen-Image.
Rincian penagihan:
Penagihan didasarkan pada jumlah gambar yang berhasil dihasilkan. Panggilan model yang gagal atau kesalahan pemrosesan tidak dikenai biaya atau mengurangi kuota gratis.
Anda dapat mengaktifkan fitur 'Kuota gratis saja' untuk menghindari biaya tambahan setelah kuota gratis Anda habis. Untuk informasi lebih lanjut, lihat Kuota gratis untuk pengguna baru.
Referensi API
Untuk parameter input dan output API, lihat Qwen - pengeditan gambar.
Kode error
Jika panggilan model gagal dan mengembalikan pesan error, lihat Pesan error untuk solusi.
FAQ
T: Bahasa apa saja yang didukung oleh model pengeditan gambar Qwen?
A: Mereka secara resmi mendukung Cina Sederhana dan English. Bahasa lain mungkin berfungsi, tetapi hasilnya tidak dijamin.
T: Bagaimana cara melihat metrik pemanggilan model?
J: Satu jam setelah pemanggilan model selesai, buka halaman Monitoring (Singapura) atau Monitoring (China (Beijing)) untuk melihat metrik seperti jumlah pemanggilan dan tingkat keberhasilan. Untuk informasi lebih lanjut, lihat Kueri tagihan dan manajemen biaya.
T: Bagaimana cara mendapatkan daftar putih nama domain untuk penyimpanan gambar?
J: Gambar yang dihasilkan oleh model disimpan di OSS. API mengembalikan URL publik sementara. Untuk mengonfigurasi daftar putih firewall untuk URL unduhan ini, perhatikan hal berikut: Penyimpanan dasar dapat berubah secara dinamis. Topik ini tidak menyediakan daftar putih nama domain OSS tetap untuk mencegah masalah akses akibat informasi yang kedaluwarsa. Jika Anda memiliki persyaratan kontrol keamanan, hubungi manajer akun Anda untuk mendapatkan daftar nama domain OSS terbaru.
Untuk informasi lebih lanjut, lihat FAQ generasi gambar.











































































