Alternatif API FLUX Kontext: Edit Gambar dengan GPT Image 2
Edit lewat instruksi tanpa masker: kode permintaannya, rantai tiga edit yang kami jalankan pada 28 Oktober 2026, dan apa yang dipertahankan setiap langkah.
Di halaman ini
- Apa itu edit berbasis instruksi
- Permintaan
- Rantai tiga edit
- Satu edit dari foto asli
- Yang bertahan dan yang tidak
- Instruksi yang berhasil
- Mana yang dipilih
- FAQ
- Apa fungsi API FLUX Kontext?
- Apakah FLUX Kontext masih berlaku?
- Bisakah foto diedit lewat API hanya dengan teks?
- Bisakah edit dirantai?
- Berapa lama tautan hasil berlaku?
API FLUX Kontext mengedit foto dari satu prompt dan satu gambar per permintaan. Halaman BFL menyebut FLUX.1 Kontext sebagai model generasi sebelumnya dan merekomendasikan FLUX.2 untuk proyek baru (diperiksa 28 Oktober 2026). GPT-Image 2 menerima dua masukan yang sama. Tiga edit berantai pada 28 Oktober 2026 mempertahankan meja kafe, cangkir, tanaman, dan jendela, juga setiap perubahan sebelumnya.
Apa itu edit berbasis instruksi
Anda mengirim sebuah foto dan satu kalimat seperti "ubah sepeda merah menjadi hitam dof". Model mengembalikan foto baru dengan perubahan itu sudah dilakukan dan bagian lain dari bingkai tetap utuh. BFL menjelaskan Kontext sebagai pengeditan gambar dengan prompt teks sederhana, tanpa alur kerja rumit atau fine-tuning (docs.bfl.ai/kontext/kontext_image_editing, diperiksa 28 Oktober 2026).
Tiga angka dari BFL menentukan cara kode ditulis: masukan sampai 20 MB atau 20 megapiksel, hasil sekitar 1 MP, dan tautan hasil bertanda tangan yang berlaku 10 menit. Unduh hasilnya segera.
Instruksi membawa dua bagian: perubahannya, lalu daftar hal yang tetap.
GPT-Image 2 di OmniaKey menerima tugas edit dengan dua bahan yang sama, dan halaman modelnya mencantumkan teks ke gambar serta edit gambar pada kualitas low, medium, dan high (omniakey.com/gpt-image-2, diperiksa 28 Oktober 2026). Kami tidak menjalankan model FLUX mana pun, jadi yang berikut adalah empat edit kami sendiri beserta kodenya.
Permintaan
Satu edit adalah satu POST ke https://api.omniakey.com/v1/media/tasks dengan model berisi gpt-image-2, type image, operation edit, kalimatnya di input.prompt, dan foto sumber di input.image sebagai Base64 beserta tipe mime-nya (docs.omniakey.com/en/media/image, diperiksa 2026-10-28). Panggilan ini menjawab HTTP 202 dengan id tugas. Polling GET /v1/media/tasks/{task_id} selama statusnya queued atau processing, lalu ambil assets[0].url dari tugas yang sudah selesai.
Dua hal kecil membuat kami mengulang sekali. POST dengan User-Agent bawaan Python mengembalikan HTTP 403 sampai kami memasang User-Agent sendiri (28 Oktober 2026), dan Base64 di dalam badan permintaan ikut dihitung terhadap batas 1 MiB, jadi perkecil foto sebelum dienkode.
Hasilnya PNG opaque di balik tautan bertanda tangan yang kedaluwarsa sekitar satu jam; berkasnya sendiri disimpan 24 jam. Unduh lalu baca lebar dan tinggi sebenarnya, jangan percaya ukuran yang Anda minta.
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"] # signed link: valid for about an hour, so download now
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(
"cafe-base.jpg",
"Change the red bicycle to a matte black bicycle with a brown wicker basket on the front. Keep everything else exactly the same: the wooden table, the coffee cup, the plant, the window frame and the bright daylight. Photorealistic, no text, no logos.",
"cafe-step1.png",
size="1536x1024",
)
print("task", task)
Percobaan kami memakai size 1536x1024 dan quality medium. Dokumentasi menyebut n harus 1 untuk GPT Image; fungsi ini tidak mengirimkannya. Panggilan contoh di bagian bawah berkas adalah langkah 1 dari rantai.
Rantai tiga edit
Setiap langkah memakai hasil sebelumnya sebagai masukan, jadi rantainya tiga tugas dan tiga unduhan. Foto dasarnya meja kafe di samping jendela: cangkir kopi putih di atas tatakan, sepeda merah di trotoar, tanaman dalam pot di ambang jendela, 1536x1024 pada kualitas medium.
- Langkah 1: "Change the red bicycle to a matte black bicycle with a brown wicker basket on the front. Keep everything else exactly the same: the wooden table, the coffee cup, the plant, the window frame and the bright daylight. Photorealistic, no text, no logos." Hasil: sepeda hitam dof dengan keranjang rotan di depan; meja, cangkir, tanaman, dan jendela tidak berubah.
- Langkah 2, dari langkah 1: "Make it evening outside: the sky is dark blue and the street lamps are on. The cafe interior lights are warm yellow. Keep the table, the cup, the plant, the black bicycle and the window frame exactly the same. Photorealistic, no text, no logos." Hasil: langit senja, lampu jalan menyala, cahaya dalam ruangan kuning hangat, dan sepeda hitam beserta keranjangnya tetap ada.
- Langkah 3, dari langkah 2: "Replace the coffee in the white cup with a clear glass of iced tea with a lemon slice on the rim. Keep everything else exactly the same. Photorealistic, no text, no logos." Hasil: es teh dengan irisan lemon di bibir gelas menggantikan kopi; suasana senja tetap bertahan.

Keempat bingkai adalah adegan sintetis buatan gpt-image-2. Generated with GPT-Image 2 via the OmniaKey API on October 28, 2026, size 1536x1024, quality medium.
Satu edit dari foto asli
Tidak semua edit perlu dirantai. Yang ini mulai dari foto dasar dan menukar satu benda di ambang jendela: "Remove the potted plant from the windowsill and place a stack of three old hardcover books there. Keep everything else exactly the same: the table, the cup, the red bicycle and the daylight. Photorealistic, no text, no logos."
Tiga buku hardcover tua berdiri di ambang jendela, tanaman hilang, dan sepeda merah tetap merah. Satu kalimat membuat dua perubahan, dan keduanya muncul di bingkai.

Yang bertahan dan yang tidak
Meja, cangkir, tanaman, dan kusen jendela melewati ketiga langkah, sepeda hitam dan keranjangnya selamat dari perubahan cahaya senja, dan setiap edit sebelumnya masih ada di bingkai berikutnya. Cahaya berubah sekali, di langkah 2, tepat seperti yang diminta kalimatnya.
Irisan lemon berada di bibir gelas sesuai permintaan kalimat, dan es tehnya tetap di atas tatakan. Setiap instruksi dijalankan sekali, jadi setiap bingkai adalah satu sampel.
Instruksi yang berhasil
Empat instruksi menghasilkan empat edit yang bisa dipakai, dengan pola yang sama.
- Satu perubahan per kalimat, lalu daftar yang dipertahankan. Langkah 1 mengubah sepeda dan menyebut meja, cangkir, tanaman, serta jendela tetap sama.
- Ulangi daftar yang dipertahankan di setiap putaran, termasuk perubahan sebelumnya: langkah 2 menulis "the black bicycle", dan langkah 3 mempertahankan suasana senja.
- Sebutkan ke mana benda baru diletakkan dalam kalimat yang sama dengan benda lama: "place a stack of three old hardcover books there".
- Pakai bahan dan warna yang konkret: "matte black", "brown wicker basket", "warm yellow", "clear glass".
- Tutup dengan "Photorealistic, no text, no logos". Setiap instruksi dalam rantai kami berakhir begitu.
Untuk urutan kalimat dan pilihan kata saat mengedit, panduan prompt GPT Image 2 kami membahas strukturnya. Panduan virtual try-on membahas ganti pakaian, dan panduan penghapusan objek membahas penghapusan benda.
Mana yang dipilih
| FLUX.1 Kontext | Edit di GPT-Image 2 | |
|---|---|---|
| Masukan per permintaan | Satu prompt, satu gambar | Satu prompt, satu gambar |
| Batas sumber | 20 MB atau 20 megapiksel | Permintaan 1 MiB, termasuk Base64 |
| Ukuran hasil | Sekitar 1 MP | Ukuran yang Anda minta, sebagai PNG |
| Tautan hasil | 10 menit | Sekitar satu jam |
| Status model | Generasi sebelumnya, menurut BFL | Tersedia di OmniaKey |
Pilih Kontext bila pipeline FLUX sudah berjalan di produksi dan Anda ingin mempertahankan bentuk panggilan itu untuk sekarang. Pilih GPT-Image 2 bila Anda ingin menentukan ukuran sendiri dan punya waktu satu jam untuk mengambil tautannya. BFL mengarahkan pekerjaan baru ke FLUX.2, jadi proyek baru adalah momen yang tepat untuk meninjau pilihan.
Soal biaya, halaman harga OpenAI (diperiksa 2026-10-28) menagih gpt-image-2 per juta token: $8.00 untuk masukan gambar, $30.00 untuk keluaran gambar, $2.00 untuk masukan gambar yang di-cache, dan batch setengah dari tarif standar. Tidak ada baris per gambar; panduan pembuatan gambar punya kalkulator untuk satu gambar.
FAQ
Apa fungsi API FLUX Kontext?
Mengedit foto dari instruksi teks, dengan satu prompt dan satu gambar masukan per permintaan (BFL, diperiksa 2026-10-28). Halaman BFL menulis bahwa layanan ini "edits images using simple text prompts".
Apakah FLUX Kontext masih berlaku?
BFL menyebut FLUX.1 Kontext sebagai model generasi sebelumnya dan merekomendasikan FLUX.2 untuk proyek baru (diperiksa 2026-10-28).
Bisakah foto diedit lewat API hanya dengan teks?
Bisa. Kirim satu foto dan satu instruksi ke endpoint edit GPT-Image 2, lalu foto baru kembali. Kami menjalankan empat edit dengan cara ini pada 28 Oktober 2026.
Bisakah edit dirantai?
Bisa, dengan satu tugas per langkah: masukkan setiap hasil sebagai foto sumber berikutnya. Rantai tiga langkah kami mempertahankan perubahan sebelumnya saat cahaya senja dan saat minuman diganti.
Berapa lama tautan hasil berlaku?
Sekitar satu jam di OmniaKey, sedangkan berkasnya disimpan 24 jam (docs.omniakey.com, diperiksa 2026-10-28). Unduh PNG begitu tugas berhasil, lalu baca dimensi sebenarnya.
OmniaKey menyediakan edit GPT-Image 2 lewat alur tugas di atas; harga terbaru ada di halaman harga.
Model di artikel ini
Artikel terkait
GPT Image 2: panduan prompt, struktur, contoh, dan gambar asli
Delapan prompt dan sembilan gambar nyata: mana yang tepat huruf demi huruf, apa yang ditambahkan, dan cara memperbaikinya.
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.
API hapus objek: singkirkan objek dari foto dengan GPT Image 2
Satu perintah per objek cukup untuk ketiga penghapusan ini. Berikut kode permintaannya, hasil ukuran penuh, dan bagian yang editnya belum bisa dipercaya.
Artikel terbaru
- Clapping Cat Meme AI: Buat Hewan Peliharaanmu Bertepuk Tangan dengan Image-to-Video
- Panduan prompt Kling 3.0: struktur, contoh, dan klip asli
- Panduan prompt MiniMax H3: struktur, contoh, dan klip asli
- Claude Haiku 5.5 vs Sonnet 5.5: kode, biaya, dan kecepatan
- Panduan prompt Wan 3.0: struktur, contoh, dan klip nyata
