GPT-6 Sol & Claude Opus 5.5 kini tersediaGPT-6 Sol: setengah harga 5.6 Sol

API virtual try-on: mengganti pakaian model dengan GPT Image 2

Satu foto dan satu prompt bisa mengganti pakaian. Berikut kode permintaannya, tiga pergantian yang kami jalankan pada 28 Oktober 2026, dan di mana hasil editnya meleset.

Kiki, OmniaKey COO7 menit baca
Di halaman ini

Bisa, dengan satu prompt teks. Endpoint edit GPT-Image 2 mengganti pakaian pada satu foto dan mempertahankan pose, wajah, serta latar pada tiga percobaan kami tanggal 28 Oktober 2026. Tidak ada kolom khusus untuk pakaian, tetapi foto pakaian kedua mengubah panjang gaun pada percobaan kami. Periksa setiap hasil dengan mata.

Permintaannya adalah pengeditan gambar di API media OmniaKey: satu foto sumber, satu prompt, dan gambar referensi opsional. Kami memeriksa fungsi di bawah pada 28 Oktober 2026 dengan prompt berbeda (jas hujan kuning) pada JPEG 1024 piksel dari model dasar, dan hasilnya PNG 1024x1536.

Apa yang bisa dan tidak bisa dilakukan edit untuk try-on

Pengeditan gambar dimulai dari foto sumber dan prompt. Operasinya edit, sumber dikirim inline sebagai Base64, dan prompt menyebut pakaian baru; dokumentasi API gambar OmniaKey (diperiksa 28 Oktober 2026) juga mengizinkan beberapa gambar referensi dalam array images. Hasilnya bingkai baru, jadi pakaian berubah sementara orangnya tetap di tempat: pada percobaan kami wajah, pose, rambut, dan latar studio tidak berubah.

Ada dua batas yang penting untuk try-on: tidak ada kolom pakaian terpisah, jadi model menggambar pakaian dari deskripsi Anda atau foto kedua, dan bingkai baru bisa menyentuh detail yang tidak Anda sebut. Fitur try-on sebaiknya menampilkan hasil untuk ditinjau dan membiarkan pembeli menilai sendiri kemiripannya. Operasi yang sama juga menangani menghapus objek dari sebuah scene; untuk pengeditan yang dipandu instruksi, lihat panduan alternatif FLUX Kontext.

Kirim foto dan prompt pakaian

Kirim POST ke https://api.omniakey.com/v1/media/tasks dengan kunci bearer, body JSON, dan header Idempotency-Key; dokumentasi API gambar OmniaKey (diperiksa 28 Oktober 2026) menyebut pembuatan mengembalikan HTTP 202 dan id tugas. Polling URL tugas selama statusnya queued atau processing; succeeded berarti asetnya siap, dan tugas failed membawa error.code serta error.message dan tidak ditagih.

Isi kolom tugas seperti ini:

KolomNilai
modelgpt-image-2
typeimage
operationedit
input.promptinstruksi pakaian
input.imagefoto sumber sebagai objek data dan mime_type
input.imagesfoto referensi tambahan
parameters.sizeWIDTHxHEIGHT
parameters.qualitylow, medium, high, atau auto
parameters.n1

Jaga permintaan di bawah 1 MiB, karena Base64 inline ikut dihitung dalam batas itu. Jumlah sampel harus 1, dan API selalu mengembalikan PNG opaque, jadi baca dimensi sebenarnya dari berkas yang diunduh.

Berikut fungsinya:

python
import base64
import json
import os
import time
import urllib.request
import uuid

API = "https://api.omniakey.com/v1/media/tasks"
KEY = os.environ["OMNIAKEY_API_KEY"]


def request(method, url, body=None, extra_headers=None):
    headers = {"Authorization": f"Bearer {KEY}", "User-Agent": "omniakey-example/1"}
    data = None
    if body is not None:
        headers["Content-Type"] = "application/json"
        data = json.dumps(body).encode()
    headers.update(extra_headers or {})
    req = urllib.request.Request(url, data=data, headers=headers, method=method)
    with urllib.request.urlopen(req, timeout=120) as resp:
        return json.load(resp)


def edit_image(source_path, prompt, out_path, size="1024x1536", quality="medium"):
    with open(source_path, "rb") as f:
        image = base64.b64encode(f.read()).decode()
    body = {
        "model": "gpt-image-2",
        "type": "image",
        "operation": "edit",
        "input": {"prompt": prompt, "image": {"data": image, "mime_type": "image/jpeg"}},
        "parameters": {"size": size, "quality": quality},
    }
    task = request("POST", API, body, {"Idempotency-Key": str(uuid.uuid4())})["id"]
    for _ in range(150):
        time.sleep(4)
        state = request("GET", f"{API}/{task}")
        if state["status"] not in ("queued", "processing"):
            break
    if state["status"] != "succeeded":
        raise RuntimeError(state.get("error") or state["status"])
    asset_url = state["assets"][0]["url"]  # tautan bertanda tangan: berlaku sekitar satu jam, unduh sekarang
    req = urllib.request.Request(asset_url, headers={"User-Agent": "omniakey-example/1"})
    with urllib.request.urlopen(req, timeout=120) as resp, open(out_path, "wb") as f:
        f.write(resp.read())
    return task
if __name__ == "__main__":
    task = edit_image(
        "vto-base.jpg",
        "Change the outfit: she now wears a red satin slip dress with thin straps that falls to mid-calf. Keep the same pose, face, hair, body, the plain light-gray studio background and the lighting exactly as they are. Photorealistic, no text, no logos.",
        "vto-slip.png",
        size="1024x1536",
    )
    print("task", task)

Tautan aset bertanda tangan berlaku sekitar satu jam dan berkasnya disimpan 24 jam, menurut dokumentasi yang sama, jadi unduh segera setelah tugas berhasil. Pemeriksaan kami pada 28 Oktober 2026 memakai prompt jas hujan kuning pada JPEG 1024 piksel dari model dasar dan mengembalikan PNG 1024x1536. Skrip mengirim header User-Agent: bawaan Python ditolak dengan HTTP 403 pada percobaan kami, dan setelah header ditambahkan berhasil.

Tiga pergantian pakaian yang kami jalankan

Ketiga pergantian berangkat dari foto sintetis yang sama: perempuan dengan kaus putih leher bulat dan jeans biru tua di latar studio abu-abu muda polos, dibuat pada 1024x1536 dan kualitas medium dalam percobaan kami tanggal 28 Oktober 2026.

Pergantian 1 meminta gaun slip satin merah dengan tali tipis yang panjangnya sampai pertengahan betis. Gaunnya muncul, dan pose, wajah, rambut, serta latar tetap sama. Sepatu sneakers putih berubah menjadi heels bertali putih tanpa diminta.

Pergantian 2 meminta blazer wol hijau tua di atas camisole sutra krem, dengan celana lurus hitam. Ketiga potong muncul, dan sneakers putih tetap.

Pergantian 3 meminta atasan lengan panjang bergaris horizontal navy dan putih dengan hati merah bordir kecil di dada kiri. Garis dan hatinya mendarat di dada kiri; jeans biru tua dan sneakers putih tetap.

Empat potret studio: kaus putih dan jeans asli, gaun slip satin merah, blazer hijau tua, dan atasan bergaris
Asli dan tiga pergantian pakaian hanya dengan teks. Pose, wajah, dan latar studio sama di semuanya.

Semua orang dan scene di sini sintetis, dan setiap prompt kami jalankan sekali, jadi setiap gambar adalah satu sampel.

Generated with GPT-Image 2 via the OmniaKey API on October 28, 2026, size 1024x1536, quality medium.

Foto pakaian sebagai referensi kedua

Untuk hasil yang lebih dekat, kirim pakaian sebagai gambar kedua. Kami menaruh foto orang di posisi pertama, gaun slip satin merah yang ditata rata di posisi kedua, dan memakai input.images dengan prompt ini: "Dress the woman in the first image in the red satin slip dress shown in the second image. Keep her pose, face, hair, body, the plain light-gray studio background and the lighting exactly as they are. Photorealistic, no text, no logos."

Gaunnya sampai ke lantai, mendekati panjang pada foto yang ditata rata. Versi hanya teks dari gaun yang sama berhenti di pertengahan betis. Pada satu sampel kami, foto pakaian membawa panjang yang tidak ditentukan kata-kata.

Tiga panel: gaun slip merah yang ditata rata, gaun yang sama pada model sampai ke lantai, dan versi hanya teks yang berhenti di pertengahan betis
Kiri: foto pakaian yang kami kirim. Tengah: dengan dua gambar, gaun mengikuti panjang di foto. Kanan: gaun yang sama hanya dideskripsikan dengan kata.

Di mana hasilnya meleset

Melencengnya muncul di bagian yang tidak kami sebut di prompt: pergantian gaun slip mengubah sepatu padahal prompt hanya menyebut gaun. Periksa wajah, tangan, ujung gaun, sepatu, dan motif apa pun pada ukuran penuh sebelum menunjukkan hasil ke pembeli. Kami tidak menguji pakaian dengan logo cetak, motif kain persis dari foto produk, atau lebih dari dua gambar.

Kapan API try-on khusus lebih cocok

API try-on khusus menerima orang dan pakaian sebagai dua input terpisah. Halaman Vertex AI Google "Generate Virtual Try-On Images" (terakhir diperbarui 26 Oktober 2026; diperiksa 28 Oktober 2026) menyebut: "You provide an image of a person and an image of a clothing product." Halaman yang sama mencantumkan personImage dan productImages sebagai kolom Base64, sampleCount dari 1 sampai 4, dan ID model virtual-try-on-001. Ada juga pemberitahuan bahwa dokumentasi Vertex AI tidak lagi diperbarui.

Pilih endpoint seperti itu bila foto pakaian menjadi sumber kebenaran dan Anda butuh beberapa sampel per permintaan. Pilih edit GPT-Image 2 bila satu alur untuk pergantian pakaian dan pengeditan lain lebih penting daripada jumlah sampel per panggilan.

Halaman harga OpenAI (diperiksa 28 Oktober 2026) menyebut gpt-image-2 ditagih per token: halaman itu mencantumkan tarif token dan tidak memuat tabel per gambar, serta mengarah ke kalkulator di panduan pembuatan gambar. Tarif OmniaKey saat ini ada di halaman harga.

Template prompt untuk pergantian pakaian

Pakai bentuk yang berhasil dalam percobaan kami: sebut pakaian lebih dulu, lalu kunci orang dan setnya.

Change the outfit: she now wears [garment, colour, fabric, length]. Keep the same pose, face, hair, body, the plain light-gray studio background and the lighting exactly as they are. Photorealistic, no text, no logos.

  • Pakaian: satu kalimat dengan warna, bahan, dan panjang. "A red satin slip dress with thin straps that falls to mid-calf" memberi perubahan yang jelas.
  • Kunci: pose, wajah, rambut, tubuh, latar, pencahayaan. Sebutkan semuanya secara eksplisit di prompt.
  • Penutup: "Photorealistic, no text, no logos." Prompt kami memakai penutup itu.
  • Sepatu: sebutkan bila harus tetap, misalnya "keep the white sneakers". Pada pergantian gaun slip, sepatu berubah karena tidak disebut.

Tambahkan gambar kedua bila panjang lebih penting daripada kata-kata: orang di posisi pertama, pakaian di posisi kedua, dan rujuk "the first image" serta "the second image" di prompt, seperti yang kami lakukan. Untuk urutan prompt secara umum, lihat panduan prompt GPT Image 2.

Pertanyaan umum

Apakah ada endpoint try-on khusus di API GPT Image 2?

Tidak. Halaman model OmniaKey (diperiksa 28 Oktober 2026) mencantumkan teks ke gambar dan edit gambar. Dalam percobaan kami, try-on adalah edit dengan prompt teks dan gambar kedua yang opsional.

Bisakah saya mengirim foto pakaian?

Bisa, sebagai gambar referensi kedua di input.images. Pada percobaan kami tanggal 28 Oktober 2026, panjang gaun menyesuaikan foto yang ditata rata.

Apakah wajahnya tetap sama?

Pada tiga pergantian dan percobaan dua referensi, iya, secara visual. Periksa setiap hasil pada ukuran penuh sebelum ditunjukkan.

Berapa lama tautan hasil berlaku?

Sekitar satu jam, menurut dokumentasi API gambar OmniaKey yang diperiksa 28 Oktober 2026, dan berkasnya disimpan 24 jam. Unduh segera setelah tugas berhasil.

Ukuran apa yang sebaiknya diminta?

Kirim size sebagai WIDTHxHEIGHT, misalnya 1024x1536, lalu baca dimensi sebenarnya dari PNG yang diunduh. Percobaan kami memakai 1024x1536 pada kualitas medium.

Mulai dari satu foto dan satu prompt pakaian. Halaman GPT-Image 2 membahas modelnya; tarif terbaru terpisah.

Model di artikel ini

API virtual try-onGPT Image 2pengeditan gambarganti pakaianAPI

Artikel terkait

Artikel terbaru