Gambar
Edit Image
Edit gambar berdasarkan prompt dan gambar sumber
Gambaran Umum
Membuat gambar yang telah diedit atau diperluas berdasarkan gambar asli dan sebuah prompt.
Endpoint ini mendukung keduanya:
- alur unggah
multipart/form-datayang kompatibel dengan OpenAI seperti yang didokumentasikan di bawah - permintaan JSON yang menyediakan
image_url,image_urls, atau referensiimagesresmi untuk keluarga image-to-image yang didukung
gpt-image-2 didukung di sini. Model ini menerima unggahan image multipart, image_url / image_urls JSON, dan referensi images[] resmi (image_url atau file_id), dengan maksimal 16 gambar sumber. Buat nilai file_id melalui /v1/files terlebih dahulu. Atur async: true untuk mengembalikan tugas terlebih dahulu; model edit FLUX/BFL resmi juga menggunakan alur polling tugas yang sama.
Edit gpt-image-2 tidak menerima resolution; gunakan size untuk dimensi output. background menerima auto atau opaque; transparent tidak didukung. Untuk edit multi-gambar atau latensi tinggi, lebih disarankan menggunakan async: true dan melakukan polling pada tugas yang dikembalikan.
Permintaan gambar referensi Nano Banana (nano-banana-2, nano-banana-2.1, nano-banana-2-lite, dan nano-banana-pro) diekspos pada /v1/images/generations dengan operation: "image-to-image" dan image_urls, bukan pada endpoint /v1/images/edits ini. Permintaan edit gambar untuk nano-banana-2, nano-banana-2.1, nano-banana-2-lite, dan nano-banana-pro juga menggunakan /v1/images/generations, dengan operation: "image-edit".
gemini-3.1-flash-image, gemini-nano-banana-2.1, gemini-3.1-flash-lite-image, dan gemini-3-pro-image menggunakan endpoint ini untuk edit gambar. Permintaan image-to-image mereka menggunakan /v1/images/generations dengan operation: "image-to-image".
Model edit gambar xAI Grok Imagine menerima jumlah gambar sumber yang terbatas: maksimal 5 untuk grok-imagine-image-2.0, dan maksimal 3 untuk grok-imagine-image serta versi lama grok-imagine-image-pro. Permintaan dengan gambar sumber lebih banyak dari yang diterima model akan gagal dalam validasi input dengan 400 too_many_images.
input_fidelity bukan bagian dari bidang yang didukung TokenLab saat ini untuk gpt-image-2; hilangkan bidang tersebut atau permintaan akan mengembalikan 400 unsupported_parameter.
Isi Permintaan
Timeout permintaan sinkron: Beberapa permintaan gambar mengembalikan gambar akhir secara langsung dan menunggu pembuatan selesai. Permintaan beresolusi tinggi atau berkualitas tinggi dapat memakan waktu hampir satu menit atau lebih, jadi atur timeout klien HTTP Anda setidaknya ke 120s. Jika respons pembuatan menyertakan status: "pending", task_id, atau poll_url, ikuti poll_url yang dikembalikan sebagai gantinya.
URL gambar jarak jauh: ketika input multipart diperlukan, TokenLab mengambil image_url, image_urls, atau images[].image_url JSON dan mengirimkan byte sebagai bagian image multipart. URL harus berupa http/https publik, tanpa kredensial atau fragmen yang disematkan, dan tidak boleh mengarah ke localhost, IP privat, atau rentang IP yang dicadangkan; setiap pengalihan (redirect) diperiksa kembali. Payload yang diambil harus berupa gambar PNG, JPEG, atau WebP yang valid. Batasannya adalah 50 MiB per gambar, total 200 MiB untuk gambar yang diambil melalui URL dalam satu permintaan, timeout pengambilan 30s, dan maksimal 3 pengalihan.
Untuk permintaan JSON, berikan tepat satu dari image_url, image_urls, atau images. Setiap objek images[] harus berisi tepat satu dari image_url atau file_id. Batas agregat 200 MiB mencakup semua gambar sumber dan mask.
Gambar sumber multipart. Ulangi image untuk memberikan beberapa sumber GPT Image. File harus berupa PNG, JPEG, atau WebP, maksimal 16 gambar sumber dan masing-masing 50 MiB. Model edit xAI Grok Imagine menggunakan bidang input yang sama tetapi membatasi gambar sumber: maksimal 5 untuk grok-imagine-image-2.0 dan 3 untuk model edit xAI lainnya.
Deskripsi teks dari edit yang diinginkan.
Gambar tambahan yang area transparan penuhnya menunjukkan di mana gambar harus diedit. Harus berupa file PNG yang valid, kurang dari 50 MiB, dan memiliki dimensi yang sama dengan image.
Untuk permintaan JSON, mask juga dapat berupa objek dengan tepat satu dari image_url atau file_id; nilai file_id harus berasal dari /v1/files dan tetap terikat pada konfigurasi edit gambar yang sama.
Model yang digunakan untuk edit gambar. Gunakan gpt-image-2 untuk edit GPT Image, atau model edit gambar terkini lainnya yang dikembalikan oleh GET /v1/models?recommended_for=image.
1Jumlah gambar yang akan dihasilkan (1-10, tergantung model).
Ukuran gambar yang dihasilkan. Untuk gpt-image-2, gunakan auto atau WIDTHxHEIGHT; dimensi harus kelipatan 16, tepi terpanjang maksimal 3840px, rasio panjang/pendek maksimal 3:1, dan total piksel antara 655,360 dan 8,294,400.
Untuk gemini-3.1-flash-image, gemini-nano-banana-2.1, gemini-3-pro-image, dan gemini-3.1-flash-lite-image, size menerima ukuran output dari tabel ukuran model atau tingkat resolusi: 1K, 2K, atau 4K. TokenLab mengirimkan tingkat sebagai resolution. Tingkat yang tidak didukung oleh model, atau tingkat yang berbeda dari resolution, akan mengembalikan 400 dengan kode invalid_image_size_contract. Bentuk yang disarankan adalah aspect_ratio dengan resolution.
Bagaimana gambar dikembalikan: url atau b64_json.
- Dihilangkan: ketika model mengembalikan byte gambar, setiap gambar ada di
data[].b64_json, dan juga didata[].urlsaat TokenLab menyimpannya. Ketika model mengembalikan tautan, setiap gambar ada didata[].url. url: setiap gambar hanya ada didata[].url.b64_json: setiap gambar hanya ada didata[].b64_jsonsebagai data Base64.
Tautan adalah URL hasil media TokenLab. Tautan tersebut tetap valid selama 30 hari. Lihat Retensi data.
falseAtur ke true dengan gpt-image-2 atau model edit FLUX/BFL resmi untuk mengembalikan tugas sebelum gambar akhir siap. Edit asinkron yang selesai mengembalikan URL terlepas dari response_format yang diminta; gunakan permintaan sinkron jika Anda memerlukan b64_json.
Pengidentifikasi unik yang mewakili pengguna akhir Anda untuk pemantauan penyalahgunaan.
Respons
Stempel waktu Unix saat gambar dibuat.
Array gambar yang dihasilkan.
Setiap objek berisi:
url(string): URL hasil media TokenLab dari gambar yang diedit, valid selama 30 hari. Tidak ada jikaresponse_formatadalahb64_json. Jikaresponse_formatdihilangkan, bidang ini tidak ada jika TokenLab tidak dapat menyimpan gambar.b64_json(string): Data gambar Base64. Ada jikaresponse_formatadalahb64_json, atau jika dihilangkan dan model mengembalikan byte gambar.
Respons Tugas Asinkron
Atur async: true dengan gpt-image-2 atau model edit FLUX/BFL resmi untuk membuat tugas alih-alih menunggu gambar yang diedit dalam permintaan. Respons mencakup status: "pending", task_id, dan poll_url. Lakukan polling pada /v1/tasks/{task_id} hingga tugas mencapai completed atau failed.
Tugas edit asinkron hanya mengembalikan URL gambar akhir. Jika Anda memerlukan data gambar b64_json mentah, gunakan permintaan sinkron.
Penagihan mungkin mencadangkan jumlah estimasi saat tugas dibuat. Tugas yang selesai ditagih berdasarkan penggunaan aktual, dan tugas yang gagal atau kehabisan waktu akan dibatalkan atau dikembalikan dananya.
Permintaan
curl -X POST "https://api.tokenlab.sh/v1/images/edits" \
-H "Authorization: Bearer sk-your-api-key" \
-F "model=gpt-image-2" \
-F "image=@sunlit_lounge.png" \
-F "mask=@mask.png" \
-F "prompt=A sunlit indoor lounge area with a pool" \
-F "n=1" \
-F "size=1024x1024"Respons
{
"created": 1706000000,
"data": [
{
"url": "https://..."
}
]
}Catatan
Kegagalan pengambilan gambar jarak jauh dikembalikan sebagai kesalahan input sebelum pembuatan dimulai. URL yang tidak dapat dijangkau, timeout, respons 403/404, host privat/internal, kredensial atau fragmen dalam URL, konten non-gambar, format yang tidak didukung, dan pelanggaran batas ukuran akan mengembalikan 400 atau 413 dan mengidentifikasi input image_url / image_urls[n]. Untuk aset privat atau yang dilindungi header, unggah file image multipart secara langsung atau buat referensi /v1/files.
Hy Image 3.5 Preview membuat gambar persegi 1024 piksel dari teks dan mengedit gambar referensi menggunakan instruksi tertulis. Model ini berguna untuk merancang visual dan menyempurnakan komposisi.
{
"model": "hy-image-v3.5-preview",
"prompt": "Change the table to pale blue",
"image_url": "https://example.com/reference.png",
"size": "1024x1024",
"n": 1,
"response_format": "url"
}Otorisasi
BearerAuth Autentikasi API Key. Buat atau kelola API key di Dashboard > API > API Keys.
Lokasi: header
Header
Kebijakan Pengiriman per-permintaan. Menggantikan default API key dan Workspace. Secara otomatis mencoba TokenLab Verified terlebih dahulu dan dapat beralih satu kali ke Official saja sebelum output, penerimaan permintaan, atau pembuatan sumber daya persisten.
Nilai yang tersedia
- "auto"
- "verified"
- "official"
Respons
application/json
application/json
application/json
application/json
application/json
application/json