Qwen-Image-Edit mendukung input dan output multi-gambar. Model ini dapat memodifikasi teks dalam gambar, menambah, menghapus, atau memindahkan objek, mengubah aksi subjek, mentransfer gaya, 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 dalam 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 SDK DashScope. 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 ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.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": "Gadis dari Gambar 1 mengenakan gaun hitam dari Gambar 2 dan duduk dalam pose dari Gambar 3."}
]
}
]
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan: 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 satu hingga enam gambar output. Contoh ini menghasilkan dua 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 gambar output {i+1}: {content['image']}")
else:
print(f"Kode status HTTP: {response.status_code}")
print(f"Kode error: {response.code}")
print(f"Pesan error: {response.message}")
print("Untuk informasi lebih lanjut, lihat 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 ini untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1.
Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API DashScope 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", "Gadis dari Gambar 1 mengenakan gaun hitam dari Gambar 2 dan duduk dalam pose dari Gambar 3.")
)).build();
// Model seri qwen-image-2.0, qwen-image-edit-max, dan qwen-image-edit-plus mendukung satu hingga enam gambar output. Contoh ini menghasilkan dua 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-edit-max")
.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 gambar output " + 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://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
"model": "qwen-image-2.0-pro",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"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": "Gadis dari Gambar 1 mengenakan gaun hitam dari Gambar 2 dan duduk dalam pose dari Gambar 3."
}
]
}
]
},
"parameters": {
"n": 2,
"negative_prompt": " ",
"prompt_extend": true,
"watermark": false,
"size": "1024*1536"
}
}'Rekomendasi model
qwen-image-2.0-proseries (Direkomendasikan): Model fusi untuk generasi dan pengeditan gambar dengan kemampuan yang ditingkatkan dalam rendering teks, tekstur realistis, dan kepatuhan semantik.qwen-image-2.0series: Versi percepatan dari model fusi generasi dan pengeditan gambar yang menyeimbangkan kualitas dan performa.
Untuk 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 dalam format PNG. Untuk GIF animasi, hanya frame pertama yang diproses.
Untuk hasil terbaik, resolusi gambar harus antara 384 hingga 3072 piksel untuk lebar dan tinggi. Resolusi rendah dapat menghasilkan output buram, sedangkan resolusi tinggi meningkatkan waktu pemrosesan.
Ukuran file gambar tunggal tidak boleh melebihi 10 MB.
"messages": [
{
"role": "user",
"content": [
{ "image": "URL publik atau data Base64 Gambar 1" },
{ "image": "URL publik atau data Base64 Gambar 2" },
{ "image": "URL publik atau data Base64 Gambar 3" },
{ "text": "Instruksi pengeditan Anda, misalnya: 'Gadis dalam Gambar 1 mengenakan gaun hitam dari Gambar 2 dan duduk dalam pose dari Gambar 3'" }
]
}
]Urutan input gambar
Nomor gambar dalam prompt sesuai dengan posisi array: gambar pertama adalah "gambar 1", gambar kedua adalah "gambar 2". Anda juga dapat menggunakan penanda seperti "[gambar 1]" dan "[gambar 2]".
{
"content": [
{"text": "Instruksi pengeditan, misalnya: Tempatkan jam alarm dari gambar 1 di sebelah vas di atas meja makan dalam gambar 2"},
{"image": "https://example.com/image1.png"},
{"image": "https://example.com/image2.png"}
]
}Gambar input | Gambar output | ||
Gambar 1 |
Gambar 2 |
Prompt: Pindahkan gambar 1 ke gambar 2 |
Prompt: Pindahkan gambar 2 ke 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 Panggilan SDK Python dan Panggilan menggunakan SDK Java.
Parameter tambahan
Sesuaikan hasil generasi menggunakan parameter opsional berikut:
n: Jumlah gambar yang akan dihasilkan. Nilai default adalah 1. Model seri 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 harus 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 model seri 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 antara 512 × 512 hingga 2048 × 2048. Secara default, resolusi sama dengan gambar input (gambar terakhir jika beberapa disediakan). 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 mirip 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 dalam 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-daun hijau juga ditambahkan. |
Teks tulisan tangan putih "Natural Fresh Air Enjoy Breathing" ditambahkan di bagian atas. |
Pembuatan sketsa
Gambar input | Gambar output | |
|
Buat gambar yang sesuai dengan bentuk detail yang digariskan dalam Gambar 1 dan ikuti deskripsi berikut: Seorang wanita muda tersenyum di hari yang cerah. Ia mengenakan kacamata hitam bulat cokelat dengan bingkai motif leopard. Rambutnya diikat rapi, ia memakai anting mutiara, syal biru tua dengan pola bintang ungu, dan jaket kulit hitam. |
Buat gambar yang sesuai dengan bentuk detail yang digariskan dalam Gambar 1 dan ikuti deskripsi berikut: Seorang pria tua 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 jaket berlapis kapas. |
Generasi produk kreatif
Gambar input | Gambar output | ||
|
Buat beruang ini duduk di bawah bulan (diwakili oleh garis lengkung abu-abu terang pada latar belakang putih), memegang gitar, dengan bintang-bintang kecil dan balon ucapan berisi frasa seperti "Be Kind" melayang di sekitarnya. |
Cetak desain ini pada kaos dan tas kertas. Seorang model wanita memperagakan barang-barang ini. Wanita tersebut juga mengenakan topi baseball dengan tulisan "Be kind". |
Model karakter hiper-realistis skala 1/7, dirancang sebagai produk jadi komersial, ditempatkan di atas meja dengan iMac yang memiliki keyboard putih. Model berdiri di atas alas akrilik bundar transparan 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 baju astronot dan menunjuk ke kejauhan. |
Beruang ini mengenakan gaun pesta 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 dalam 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 dalam 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 dalam 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 dalam 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 'Tomorrow Will Be Better'. |
|
Ubah frasa "Take a Breather" pada catatan menjadi "Relax and Recharge". |
Gambar input | Gambar output | ||
|
Ubah "Qwen-Image" menjadi font tinta hitam menetes. |
Ubah "Qwen-Image" menjadi font tulisan tangan hitam. |
Ubah "Qwen-Image" menjadi font piksel hitam. |
Ubah "Qwen-Image" menjadi 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. | |
Menambah dan menghapus
Kemampuan | Gambar input | Gambar output |
Menambah elemen |
|
Tambahkan papan kayu kecil di depan penguin yang bertuliskan "Welcome to Penguin Beach". |
Menghapus elemen |
|
Hapus rambut dari piring. |
Transformasi sudut pandang
Gambar input | Gambar output | Gambar input | Gambar output |
|
Dapatkan tampilan depan. |
|
Menghadap ke kiri. |
|
Dapatkan tampilan belakang. |
|
Menghadap ke kanan. |
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. |
|
Pewarnaan cerdas berdasarkan konten gambar agar lebih hidup. |
Penagihan dan Pembatasan laju
Lihat Daftar model dan harga untuk kuota gratis, harga, dan Pembatasan laju.
Detail penagihan:
Penagihan hanya berdasarkan gambar yang berhasil dihasilkan. Panggilan yang gagal tidak dikenai biaya atau mengurangi kuota gratis.
Aktifkan 'Hanya kuota gratis' untuk menghindari biaya setelah kuota habis. Lihat Kuota gratis untuk pengguna baru.
Referensi API
Lihat Qwen-Image Edit untuk parameter API.
Kode error
Jika panggilan model gagal dan mengembalikan pesan error, lihat Kode error untuk penyelesaian.
FAQ
T: Bahasa apa saja yang didukung oleh model Pengeditan Gambar Qwen?
J: Model saat ini mendukung Bahasa Mandarin Sederhana dan Bahasa Inggris. Anda dapat mencoba bahasa lain, tetapi kinerja 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 Manajemen biaya dan penagihan.
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 usang. Jika Anda memiliki persyaratan kontrol keamanan, hubungi manajer akun Anda untuk mendapatkan daftar nama domain OSS terbaru.
Lihat FAQ Generasi Gambar.


































































