API GPT-Image-2.6 menghasilkan dan mengedit gambar melalui dua model OpenAI, gpt-image-2.6-flare dan gpt-image-2.6-sunburst. Kirim prompt ke POST /v1/images/generations dengan API key Anda, lalu dekode b64_json dari responsnya. Versi 2.6 menambahkan markup gambar, output SVG dan GIF, serta parameter complexity.
Panduan ini mencakup autentikasi, generasi pertama, edit dengan markup, ekspor SVG, serta pengaturan quality dan complexity. Kami hanya membahas hal-hal baru, jadi baca panduan API gpt-image-2.5 kami untuk streaming dan tool Responses API, serta penjelasan ChatGPT Images 2.6 kami untuk rilis lengkapnya. Semua permintaan di bawah ini kami susun dari dokumentasi OpenAI pada 5 November 2026. Kami belum menjalankannya dengan API key sungguhan, jadi ujilah dulu sebelum Anda merilisnya.
Sekilas API GPT-Image-2.6
| Item | Detail |
|---|---|
| ID Model | gpt-image-2.6-flare, gpt-image-2.6-sunburst |
| Generasi | POST /v1/images/generations |
| Edit | POST /v1/images/edits |
| Autentikasi | Authorization: Bearer $OPENAI_API_KEY |
| Output | b64_json; default PNG, plus JPEG, WebP, GIF, SVG |
quality |
low, medium, high, xhigh, max, auto (default) |
complexity |
low, medium, high (high jika dihilangkan) |
| Tarif token gambar | $8 input, $2 input cache, $30 output per 1M |
| Tarif token teks | $5 input, $1,25 input cache per 1M |
Tarif diambil dari halaman harga OpenAI. Kedua model memiliki biaya per token yang sama, jadi pilih berdasarkan kecepatan dan presisi edit.
Flare atau Sunburst: model mana yang harus Anda panggil?
Panggil Flare untuk iterasi cepat dan generasi sehari-hari. OpenAI menyebut Flare dapat mengembalikan gambar dalam waktu sesingkat enam detik pada kualitas low, dan dapat memperbaiki tata letak untuk poster serta gambar produk. Panggil Sunburst untuk pekerjaan detail dan edit berulang, di mana OpenAI mengklaim konsistensi yang lebih baik pada kualitas medium atau high.
Itu adalah klaim OpenAI, bukan tolok ukur independen. Perbandingan Flare vs Sunburst untuk 2.5 kami menjelaskan perbedaannya.
Autentikasi dan penyiapan
Anda memerlukan tiga hal sebelum panggilan pertama:
- Buat API key di dasbor OpenAI dan ekspor sebagai
OPENAI_API_KEY. - Selesaikan Verifikasi Organisasi API jika organisasi Anda memerlukannya. OpenAI menyebut Anda mungkin harus melakukannya sebelum dapat menggunakan model GPT Image.
- Pasang
jquntuk contoh curl, atau paketopenaiuntuk Python.
Jika aplikasi Anda melayani pengguna individu, kirim juga safety_identifier yang di-hash dengan panjang maksimal 128 karakter. Parameter ini menggantikan parameter user yang sudah tidak digunakan lagi.
Hasilkan gambar pertama Anda
Permintaan ini menggunakan Flare pada kualitas low, yang cocok untuk draf.
curl --fail-with-body --silent --show-error \
https://api.openai.com/v1/images/generations \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-flare",
"prompt": "A minimal poster for a developer meetup, with the words SHIP IT in bold type",
"size": "1024x1536",
"quality": "low",
"complexity": "low"
}' | jq -er '.data[0].b64_json' | base64 --decode > poster.png
Panggilan yang sama dalam Python:
import base64
from pathlib import Path
from openai import OpenAI
client = OpenAI()
result = client.images.generate(
model="gpt-image-2.6-sunburst",
prompt="A product shot of a ceramic mug on a walnut desk, soft morning light",
size="1536x1024",
quality="medium",
extra_body={"complexity": "low"},
)
Path("mug.png").write_bytes(base64.b64decode(result.data[0].b64_json))
Kami meneruskan complexity melalui extra_body agar panggilan tidak bergantung pada versi SDK Anda yang mengeksposnya sebagai argumen bernama. Model GPT Image selalu mengembalikan base64, jadi jangan kirim response_format, dan jangan cari field url.
Panduan OpenAI menyarankan membaca objek usage pada respons untuk mengukur penggunaan token. Referensi API mendeskripsikan field tersebut hanya untuk gpt-image-1, meskipun contoh responsnya menyertakannya, jadi pastikan field itu muncul pada respons 2.6 Anda sebelum membangun pelacakan biaya di atasnya.
Edit gambar dengan markup
Markup memberi tahu model di mana perubahan harus dilakukan. Anda mengirim gambar asli, PNG transparan berisi lingkaran atau sketsa Anda, dan prompt yang menjelaskan editannya.
curl --fail-with-body --silent --show-error \
https://api.openai.com/v1/images/edits \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-flare",
"images": [{"image_url": "https://your-bucket.example/kitchen.png"}],
"markup": {"image_url": "https://your-bucket.example/vase-overlay.png"},
"prompt": "Recolor the vase inside the red circle to solid cobalt blue. Keep everything else unchanged. Remove the red circle.",
"quality": "medium",
"complexity": "low"
}' | jq -er '.data[0].b64_json' | base64 --decode > vase.png
Permintaan JSON menggunakan array images dan objek markup yang berisi tepat salah satu dari image_url atau file_id. image_url dapat berupa URL HTTPS atau data URL base64. Permintaan multipart menggunakan unggahan file sebagai gantinya, dan panduan generasi gambar memiliki versi Python-nya.

Overlay memiliki aturan ketat:
- Setelah orientasi, ukurannya harus cocok dengan lebar dan tinggi gambar pertama.
- Overlay harus mengandung piksel transparan, jadi jangan ratakan ke foto.
- Overlay berlaku untuk gambar input pertama. Gambar lainnya berfungsi sebagai referensi.
- Masing-masing dari kedua gambar dapat memuat paling banyak 16.777.216 piksel, dan file overlay tidak boleh melebihi 50 MB.
- Anda tidak dapat menggabungkan
markupdenganmaskatauprompt_rewriter.
Perintahkan model untuk menghapus anotasi, seperti yang dilakukan contoh OpenAI sendiri. Markup memiliki biaya yang sama dengan edit lainnya. Responses API tidak menerimanya, jadi gunakan mask di sana.
Ekspor SVG
Setel output_format ke svg pada endpoint generations untuk ikon, logo, dan ilustrasi yang membutuhkan path yang dapat diedit.
curl --fail-with-body --silent --show-error \
https://api.openai.com/v1/images/generations \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-sunburst",
"prompt": "A flat two-color wheat logo for a bakery called Field and Flour",
"output_format": "svg",
"quality": "medium",
"n": 1
}' | jq -er '.data[0].b64_json' | base64 --decode > logo.svg
API pertama-tama merender gambar referensi, yang dikendalikan oleh quality, lalu menulis SVG berdasarkan gambar tersebut. Byte yang didekode adalah XML UTF-8 tanpa skrip, sumber daya eksternal, atau raster yang disematkan.
Ada empat batasan yang berlaku:
nharus bernilai 1.- Streaming, gambar parsial,
output_compression, danprompt_rewritertidak berfungsi. - Endpoint edits tidak dapat menghasilkan SVG, dan tidak akan menerima SVG sebagai input raster.
- Objek
svgopsional memilih model penulisan, tetapi hanya jika akun Anda memiliki pemilihan model SVG. Jika tidak, hilangkan saja.
Anda membayar dua kali: tarif gambar untuk gambar referensi dan tarif model penulisan untuk token-nya. Referensi API mencantumkan objek svg_usage terpisah untuk bagian kedua tersebut, jadi catatlah.
Hasilkan GIF
API mengembalikan GIF yang sudah jadi, bukan sprite sheet. Tambahkan tiga field ke permintaan generations:
{
"model": "gpt-image-2.6-flare",
"prompt": "A small orange robot waves, blinks and returns to its starting pose. Make it loop.",
"output_format": "gif",
"frame_count": 9,
"frame_duration_ms": 200,
"size": "auto"
}
Dekode b64_json dengan cara yang sama dan simpan sebagai .gif. Periksa dua hal terlebih dahulu:
- Batas frame. Panduan menyebut
frame_countberkisar dari 2 hingga 64. Referensi API menyebut 2 hingga 16. Tetap di angka 16 atau di bawahnya sampai Anda menguji nilai yang lebih tinggi. - Akses. Referensi menyebut output GIF memerlukan akses ke pratinjau GIF untuk model yang dipilih, sementara panduan tidak menyebutkan hal ini. Permintaan GIF yang ditolak mungkin merupakan masalah akses, bukan payload yang salah.
Output GIF tidak mendukung streaming, gambar parsial, atau output_compression kustom, dan endpoint edits tidak dapat mengembalikannya. OpenAI tidak mempublikasikan formula penagihan khusus GIF, jadi jalankan uji kecil dan periksa tagihan Anda sebelum melakukan penskalaan.
Setel quality dan complexity
quality mengendalikan detail rendering dan menentukan biaya token. complexity mengendalikan seberapa banyak model merencanakan sebelum merender, dan mengubahnya tidak dikenakan biaya terpisah.
Setel complexity pada setiap permintaan. Nilai defaultnya adalah high, namun OpenAI merekomendasikan low untuk sebagian besar edit. Panduan memperingatkan bahwa pengaturan yang lebih tinggi dapat menambah latensi dan menimbulkan perubahan yang tidak diinginkan.

Quality juga menentukan tagihan output Anda. Tabel ini menggunakan kalkulator OpenAI untuk gambar 1024x1024, dibaca pada 5 November, dan tidak termasuk token input:
quality |
Token output | Biaya output |
|---|---|---|
low |
823 | $0,02469 |
medium |
1.449 | $0,04347 |
high |
1.756 | $0,05268 |
xhigh |
3.122 | $0,09366 |
max |
7.024 | $0,21072 |
Selisih antara medium dan high sekitar satu sen, jadi bandingkan keduanya. Tab Batch di halaman harga belum mencantumkan 2.6, jadi jangan berasumsi diskon batch 2.5 berlaku.
Tangani error dan timeout
Kelompokkan kegagalan berdasarkan apakah percobaan ulang dapat membantu:
| Kegagalan | Yang harus dilakukan |
|---|---|
| Batas laju atau error server | Coba lagi dengan backoff |
| Error kuota | Jangan coba lagi; perbaiki penagihan |
error.type bernilai image_generation_user_error |
Ubah prompt atau input terlebih dahulu |
error.code bernilai moderation_blocked |
Baca moderation_details, lalu revisi |
Gunakan error.code sebagai pemeriksaan yang stabil, dan catat ID permintaan. moderation_details membawa moderation_stage dan categories kasar, yang seharusnya masuk ke log Anda, bukan ke pesan yang dilihat pengguna. Setel timeout klien di atas dua menit, karena OpenAI menyebut prompt yang kompleks bisa memakan waktu selama itu.
Biarkan coding agent Anda mengujinya dengan Apidog CLI
Coding agent Anda dapat mengubah permintaan dan batasan ini menjadi rangkaian pengujian dengan Apidog CLI. Siapkan sekali saja:
npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install
Lalu beri Claude Code, Codex, atau Cursor satu prompt:
In Apidog project <id>, add POST /v1/images/generations and POST /v1/images/edits
on https://api.openai.com. Read the bearer token from OPENAI_API_KEY.
Create test cases for gpt-image-2.6-flare at low quality and low complexity:
1. PNG generation: assert status 200 and data[0].b64_json exists.
2. SVG generation: assert status 200 and output_format equals svg.
3. GIF with frame_count 6: assert status 200 and output_format equals gif.
4. SVG with n set to 2: assert a 4xx status and that error.message exists.
5. GIF with frame_count 17: record the status, because OpenAI's docs disagree.
Put them in a test suite named "GPT-Image-2.6", run it against environment
<envId>, and summarize every failure.
Agent membaca setiap skema, memvalidasi payload-nya, lalu menulis dan menjalankan rangkaian pengujian:
apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file endpoint.json
apidog endpoint create --project <id> --file endpoint.json
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog cli-schema validate test-suite-create --file suite.json
apidog test-suite create --project <id> --file suite.json
apidog test-suite run <suiteId> --project <id> -e <envId> \
--env-var "OPENAI_API_KEY=$OPENAI_API_KEY" --on-error continue -r cli,json
Kasus 5 menyelesaikan pertanyaan batas frame untuk akun Anda, dan kasus 3 menunjukkan apakah Anda memiliki akses GIF. Kasus yang berhasil menghasilkan generasi nyata yang dikenakan biaya, jadi pertahankan quality tetap rendah. Ganti dengan -r junit untuk menjalankan rangkaian pengujian di pipeline CI, dan lihat panduan penyiapan Claude Code untuk detail agent.
FAQ
Apa saja nama model API GPT-Image-2.6? gpt-image-2.6-flare dan gpt-image-2.6-sunburst. Referensi API belum mencantumkan snapshot bertanggal untuk keduanya, tidak seperti model 2.5.
Berapa biaya API GPT-Image-2.6? Token gambar berbiaya $8 per 1M input dan $30 per 1M output. Gambar 1024x1024 berbiaya sekitar $0,025 untuk output pada low dan sekitar $0,053 pada high, sebelum token input.
Haruskah saya bermigrasi dari gpt-image-2.5? Migrasilah jika Anda membutuhkan SVG, GIF, atau complexity. Uji biaya Anda terlebih dahulu: gambar low menggunakan sekitar 4,2 kali token dibandingkan pada 2.5, dan model 2.6 belum mencantumkan harga Batch.
Dapatkah saya menggunakan complexity pada endpoint edits? Ya. OpenAI merekomendasikan low untuk sebagian besar edit.
Dapatkah saya mengubah gambar yang diunggah menjadi GIF melalui API? Tidak. Endpoint edits tidak mengembalikan GIF atau SVG, jadi kedua format tersebut dimulai dari prompt teks pada endpoint generations.
Apakah API mengembalikan URL? Tidak. Model GPT Image selalu mengembalikan base64 dalam b64_json, jadi dekode dan simpan file-nya sendiri.
