← Blog

API Inpainting Z-Image-Turbo: Alur Kerja Masker + Perbaikan Artefak

Panduan lengkap inpainting Z-Image-Turbo. Pelajari pembuatan masker, prompt bahasa alami, teknik pencampuran mulus, dan cara memperbaiki artefak umum. $0,02/gambar.

By Dora 8 min read
API Inpainting Z-Image-Turbo: Alur Kerja Masker + Perbaikan Artefak

Hai, saya Dora. Minggu lalu saya tersandung masalah kecil—sebuah titik silau pada foto produk yang perlu saya gunakan kembali. Saya tidak ingin sesi retouching penuh, hanya sedikit penyuntingan. Saya membuka alat biasa saya, lalu berhenti sejenak. Saya sudah sering melihat sebutan tentang Z-Image-Turbo Inpainting API dan bertanya-tanya apakah itu bisa masuk ke dalam rutinitas saya tanpa mengubah perbaikan lima menit menjadi sebuah proyek. Jadi saya mencobanya, perlahan, pada beberapa tugas nyata, dan mencatat selama prosesnya.

Apa itu AI Inpainting?

Inpainting adalah tim kebersihan dalam penyuntingan gambar. Anda menyembunyikan suatu area dengan mask, mendeskripsikan apa yang Anda inginkan di sana (atau bahwa Anda tidak menginginkan apa-apa), dan model mengisinya agar sesuai dengan bagian gambar yang lain.

Yang saya sukai dari inpainting adalah rasanya bedah. Anda tidak meminta model untuk menciptakan seluruh adegan, hanya untuk menghormati yang sudah ada. Ketika berhasil, hasil editannya tak terlihat. Ketika tidak, Anda melihat sambungan, tekstur aneh, atau “kabut AI” kecil di mana tambalan berada, dan Anda tahu Anda telah mendorongnya terlalu jauh.

Cara Kerja Z-Image-Turbo Inpaint

Saya menguji inpainting Z-Image-Turbo pada Januari–Februari 2026, untuk beberapa tugas: penghapusan silau, pembersihan latar belakang, dan beberapa penggantian objek. Alurnya standar: kirim gambar, mask biner, dan prompt ke Z-Image-Turbo Inpainting API. Model hanya menyunting area yang di-mask dan mencoba memadukan hasilnya dengan konteks di sekitarnya.

Dua detail yang penting dalam praktiknya:

  • Tepi mask: tepi lembut memberikan hasil paduan yang lebih baik. Tepi keras menciptakan sambungan.
  • Prompt: prompt pendek dan literal bekerja paling baik. Deskripsi berlebihan membuat model menebak-nebak.

Dari segi kecepatan, hasil kembali dalam hitungan detik, yang cukup cepat untuk tugas asinkron dalam alur kerja saya. Menurut dokumentasi WaveSpeed, Z-Image-Turbo Inpaint dioptimalkan untuk latensi rendah dan hasil yang bersih, menjadikannya siap produksi untuk pemrosesan batch dan iterasi cepat. Kualitasnya terjaga untuk pengeditan kecil hingga menengah. Penggantian yang lebih besar dan kompleks memerlukan beberapa kali percobaan atau mask yang lebih kecil.

Alur Kerja API

Saya menjaga alur kerja tetap sederhana: biarkan gambar sumber apa adanya, mask hanya apa yang ingin saya ubah, dan prompt dalam bahasa biasa.

Input yang Diperlukan: Gambar + Mask + Prompt

Berikut set minimum yang saya gunakan berulang kali:

  • Gambar: PNG atau JPEG. Saya mempertahankan resolusi asli untuk menghindari artefak up/downscaling.
  • Mask: lebar dan tinggi sama dengan gambar. Putih = dapat diedit. Hitam = dilindungi. Jika versi API Anda membalik itu, biasanya ada flag untuk membaliknya.
  • Prompt: satu kalimat sudah cukup. “Hapus silau di meja dapur.” Atau “Ganti mug dengan cangkir keramik putih polos.”

Opsi tambahan yang membantu:

  • Guidance/strength: lebih rendah untuk pembersihan halus, lebih tinggi untuk penggantian penuh.
  • Seed: tetapkan seed untuk mereproduksi hasil yang baik.
  • Steps: saya menjaganya sedang; lebih banyak langkah tidak selalu berarti lebih baik.

Persyaratan Format Mask

Bagian ini membuat perbedaan terbesar pada kualitas:

  • Gunakan mask biner (putih murni dan hitam murni). Jika Anda memerlukan kelembutan, sedikit feather pada tepinya, tetapi hindari abu-abu yang tersebar di seluruh area.
  • Cocokkan dimensi dengan tepat. Jika mask berbeda satu piksel, API akan mengeluh atau salah sejajar.
  • Jaga area mask tetap ketat. Mask yang lebih kecil memberi model lebih sedikit kesempatan untuk berimajinasi.
  • Perhatikan detail tipis. Untuk helai rambut atau kabel, mask lembut yang sedikit lebih besar memberikan hasil paduan yang lebih baik daripada mask keras yang sangat tipis.

Jika Anda menyunting dekat tepi, perluas mask sedikit melewati batas. Ini memberi model ruang untuk melukis di bawah sambungan dan menghindari tampilan “stiker”.

Implementasi Python

Saya tidak mengubah ini menjadi library lengkap. Saya menggunakan permintaan singkat dalam skrip utilitas kecil. Intinya:

  • Kirim permintaan POST ke endpoint Z-Image-Turbo Inpainting dengan data form multipart.
  • Lampirkan: file gambar, file mask, string prompt, dan parameter opsional apa pun (guidance, steps, seed, ukuran output jika diperlukan).
  • Tangani respons: gambar base64 atau URL untuk diambil. Simpan, lalu pratinjau sebelum memasukkannya ke pipeline Anda.

Beberapa catatan praktis dari pengaturan:

  • Perhatikan batas kecepatan. Saya membatch pengeditan dan menambahkan backoff untuk menghindari pengulangan.
  • Catat prompt, seed, dan parameter yang tepat dengan setiap gambar yang disimpan. Ketika saya mendapatkan hasil yang bersih, ini memudahkan reproduksinya.
  • Jika Anda membangun UI, pratinjau overlay mask pada gambar sumber. Saya menemukan dua ketidakselarasan mask dengan cara ini sebelum mengirim permintaan.

Sebagian besar keberhasilan saya berasal dari prompt yang lebih pendek dan lebih literal. Mask melakukan sebagian besar pekerjaan: prompt seharusnya mengarahkan, bukan bercerita.

Prompt Penghapusan (“permukaan bersih”)

Ketika saya hanya perlu menghapus sesuatu, saya menulis prompt yang mendeskripsikan ketidakhadiran dan hasil akhir yang saya inginkan: “Hapus pantulan: pertahankan permukaan matte yang rata,” atau “Hapus noda debu: pertahankan serat kayu.” Model lebih menghormati tekstur sekitarnya ketika saya menyebutkannya.

Tips kecil: sebutkan pencahayaan saat itu penting. “Pertahankan pencahayaan sore yang lembut” mencegah bercak terang.

Prompt Penggantian (deskripsikan konten baru)

Untuk penggantian, saya spesifik tapi ringkas:

  • “Ganti mug merah dengan cangkir keramik putih polos, ukuran serupa, pencahayaan netral.”
  • “Isi celah dengan tekstur beton yang sesuai: tanpa pola.”

Saya menghindari kata sifat yang mengundang gaya (misalnya, “indah,” “sinematik”). Kata-kata itu mendorong model untuk berimajinasi. Ukuran juga membantu. “Ukuran serupa” atau “sudut yang sama” mengurangi pergeseran perspektif yang canggung.

Prompt Berbasis Konteks

Ketika adegan memiliki tampilan yang kuat—cahaya hangat, bayangan lembut, kedalaman dangkal—saya menyampaikannya dalam prompt. Menurut pengujian komunitas di RunComfy, Z-Image-Turbo Inpainting menunjukkan kontinuitas tekstur yang kuat, pencahayaan yang realistis, dan penanganan perspektif yang akurat ketika prompt secara eksplisit merujuk konteks adegan yang ada. Z-Image-Turbo Inpainting API tampaknya merespons isyarat-isyarat tersebut. “Cocokkan cahaya hangat yang ada, bayangan lembut di sebelah kiri” lebih efektif daripada “realistis” yang abstrak.

Jika konteks sekitarnya lemah (pola ramai, detail rendah), saya memperkecil mask dan melakukan dua tahap: pertama struktural (bentuk), lalu permukaan (tekstur/cahaya). Membutuhkan satu menit ekstra, tetapi hasilnya terlihat kurang seperti AI.

Aplikasi Praktis

Inilah situasi di mana Z-Image-Turbo Inpainting API mendapat tempat dalam minggu kerja saya.

Pembersihan Foto Produk

Saya menjalankan sejumlah kecil foto tabletop melaluinya: goresan kecil, lipatan pada latar, dan titik panas aneh dari lampu. Prompt penghapusan sudah cukup. Dari segi waktu, saya menghemat sekitar 3–4 menit per gambar dibandingkan penyembuhan manual. Kemenangan nyatanya adalah upaya mental—lebih sedikit keputusan mikro.

Menghapus Objek yang Tidak Diinginkan

Saya menguji dengan foto jalanan: tempat sampah dekat toko dan sebagian pejalan kaki di tepi frame. Dengan mask yang ketat dan catatan tentang “lanjutkan pola bata” atau “perluas tekstur trotoar,” pengisian berbaur dengan baik. Penghapusan besar pada tekstur kompleks masih memerlukan beberapa kali percobaan.

Penggantian Latar Belakang

Penggantian latar belakang penuh lebih rumit. Untuk adegan sederhana—item meja di atas kertas—saya bisa mengganti latar belakang dengan gradien polos dan mempertahankan bayangan alami dengan meng-mask di bawah objek, bukan di sekitarnya. Rambut kompleks berlatar belakang berantakan lebih sulit. Saya hanya akan menggunakan inpainting di sini jika mask bersih dan latar belakang baru sederhana.

Memperbaiki Artefak Umum

Ketika sesuatu terlihat “aneh,” biasanya salah satu dari ini penyebabnya.

Sambungan Terlihat di Tepi Mask

Gejala: garis samar di mana tambalan bertemu dengan aslinya.

Yang membantu:

  • Sedikit feather tepi mask dan jalankan ulang.
  • Perbesar area yang di-mask beberapa piksel agar model melukis di bawah sambungan.
  • Turunkan guidance sedikit jika pengisian terlalu bergaya dibandingkan adegan yang polos.

Ketidaksesuaian Warna/Pencahayaan

Gejala: tambalannya berbentuk benar, tapi pencahayaannya salah.

Yang membantu:

  • Sebutkan arah dan kehangatan cahaya dalam prompt: “cocokkan cahaya hangat dari kanan, bayangan lembut.”
  • Kurangi steps sedikit. Saya menemukan sampling yang lebih berat kadang-kadang menggeser warna.
  • Jika seluruh foto sudah di-grade warnanya, lakukan inpainting sebelum grade, lalu terapkan kembali grade pada hasil akhir.

Ketidakkonsistenan Tekstur

Gejala: permukaan terlihat kabur atau terlalu seragam.

Yang membantu:

  • Deskripsikan tekstur secara eksplisit (“tekstur kanvas halus,” “serat kayu yang lembut”).
  • Perkecil mask dan isi secara bertahap: struktur dulu, tekstur kedua.
  • Tambahkan sedikit noise atau grain setelahnya untuk membaur. Tidak terlalu murni, tapi efektif.

Mengapa ini penting bagi saya: inpainting tidak glamor, tapi mengurangi gesekan pada pengeditan kecil yang tidak mencolok. Z-Image-Turbo Inpainting API tidak mengubah proses saya—ia masuk ke dalamnya begitu saja. Jika Anda banyak melakukan pembersihan ringan atau sesekali melakukan penggantian objek dan Anda nyaman menggambar mask, ini cocok untuk Anda. Jika Anda menginginkan penulisan ulang adegan yang berat, Anda masih perlu meluangkan waktu untuk menyesuaikan mask dan prompt.

Satu catatan terakhir dari pengujian: hasil terbaik datang ketika saya memperlakukan prompt seperti arahan sutradara dan mask seperti batas wilayah. Peran yang jelas. Model bekerja dengan baik dalam kondisi seperti itu. Dan saya masih penasaran seberapa jauh saya bisa mendorong mask kecil pada tekstur rumit tanpa kabut khas AI tersebut—itu ada di daftar berikutnya. Bagaimana dengan Anda?