# Buat satu kali untuk setiap operasi pembuatan baru; pertahankan nilai awal saat mencoba ulang operasi yang sama.
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# Buat satu kali untuk setiap operasi pembuatan baru; gunakan kembali headers dan payload awal saat mencoba ulang.
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// Buat satu kali untuk setiap operasi pembuatan baru; gunakan kembali headers dan body awal saat mencoba ulang.
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
GPT-Image-2.5 Ext
GPT-Image-2.5 Ext — Pembuatan Gambar
- Gunakan gpt-image-2.5-ext dan pilih Flare atau Sunburst melalui version
- Pemrosesan asinkron: periksa hasil menggunakan ID tugas setelah pengiriman
- Mendukung pembuatan gambar dari teks dan dari gambar dengan hingga 16 gambar referensi
- Mendukung 10 rasio aspek dan auto, dengan resolusi 1K / 2K / 4K
- Buat 1–4 gambar per permintaan; biaya dihitung berdasarkan versi, resolusi, dan jumlah gambar yang benar-benar dihasilkan dan diserahkan
POST
/
v1
/
images
/
generations
# Buat satu kali untuk setiap operasi pembuatan baru; pertahankan nilai awal saat mencoba ulang operasi yang sama.
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# Buat satu kali untuk setiap operasi pembuatan baru; gunakan kembali headers dan payload awal saat mencoba ulang.
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// Buat satu kali untuk setiap operasi pembuatan baru; gunakan kembali headers dan body awal saat mencoba ulang.
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
# Buat satu kali untuk setiap operasi pembuatan baru; pertahankan nilai awal saat mencoba ulang operasi yang sama.
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# Buat satu kali untuk setiap operasi pembuatan baru; gunakan kembali headers dan payload awal saat mencoba ulang.
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// Buat satu kali untuk setiap operasi pembuatan baru; gunakan kembali headers dan body awal saat mencoba ulang.
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "Sudut baca yang nyaman di dekat jendela pada hari hujan, lampu meja dengan cahaya hangat, pencahayaan sinematik",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
Autentikasi dan header
string
wajib
Endpoint pembuatan dan pemeriksaan tugas menggunakan API Key platform untuk autentikasi Bearer Token. Dapatkan kunci melalui halaman pengelolaan API Key.Untuk memeriksa tugas, gunakan API Key milik pengguna platform yang sama.
Authorization: Bearer YOUR_API_KEY
string
wajib
Gunakan
application/json saat mengirim permintaan. Pembuatan gambar dari teks maupun dari gambar menggunakan isi permintaan JSON.Pemilihan versi
| Nama tampilan | model | version |
|---|---|---|
| Flare (default) | gpt-image-2.5-ext | flare |
| Sunburst | gpt-image-2.5-ext | sunburst |
Parameter permintaan
string
wajib
Nilai tetap:
gpt-image-2.5-ext.string
default:"flare"
Versi model. Pilihan:
flare, sunburst.string
wajib
Prompt untuk pembuatan atau penyuntingan gambar. Tidak boleh kosong setelah spasi di awal dan akhir dihapus.Untuk pembuatan dari gambar, jelaskan bagian gambar referensi yang perlu dipertahankan dan diubah.
string
default:"1K"
Tingkat resolusi keluaran. Pilihan:
1K, 2K, 4K.string
default:"auto"
Rasio aspek keluaran. Pilih
auto atau salah satu dari 10 rasio berikut:1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9.integer
default:"1"
Jumlah gambar yang dibuat per permintaan. Harus berupa bilangan bulat dari
1 hingga 4.string[]
Array berisi maksimal
16 gambar referensi. Tanpa referensi, gambar dibuat dari teks; jika referensi disertakan, gambar dibuat berdasarkan referensi tersebut. Gambar referensi tidak dikenai biaya tambahan.Format masukan yang didukung:- URL gambar yang dapat diakses
- Data URL:
data:image/...;base64,...
Contoh penggunaan
Berikut adalah isi permintaan JSON untukPOST /v1/images/generations. Gunakan autentikasi dan header yang disarankan di atas. Ganti alamat gambar referensi pada contoh dengan URL gambar nyata yang dapat diakses.
Pembuatan gambar dari teks
{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Taman melayang di kota futuristis, kabut tipis pada pagi hari, fotografi arsitektur",
"size": "16:9",
"resolution": "2K",
"n": 1
}
Pembuatan gambar dari referensi dengan Sunburst
{
"model": "gpt-image-2.5-ext",
"version": "sunburst",
"prompt": "Pertahankan produk utama dan teks kemasan, ganti latar dengan studio foto berwarna putih gading lembut, lalu tambahkan bayangan jatuh yang alami",
"size": "1:1",
"resolution": "2K",
"n": 1,
"image_urls": [
"https://example.com/product.png"
]
}
Beberapa gambar referensi dan keluaran
{
"model": "gpt-image-2.5-ext",
"version": "sunburst",
"prompt": "Gunakan produk pada gambar pertama sebagai subjek, ambil inspirasi latar dari gambar kedua, dan buat gambar iklan horizontal",
"size": "16:9",
"resolution": "2K",
"n": 2,
"image_urls": [
"https://example.com/product.png",
"https://example.com/set.jpg"
]
}
Rasio aspek otomatis dan resolusi 4K
{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "Visual utama minimalis untuk peluncuran produk, pilih rasio aspek komposisi yang sesuai dengan isi gambar",
"size": "auto",
"resolution": "4K",
"n": 1
}
Memeriksa hasil tugas
Gunakan ID tugas untuk memanggil endpoint pemeriksaan tugas:curl --request GET \
--url https://api.apimart.ai/v1/tasks/task_01EXAMPLE \
--header 'Authorization: Bearer <token>'
Tugas berhasil
ID tugas, waktu, URL, dan jumlah biaya di bawah hanya menunjukkan struktur respons. Nilai tersebut tidak mewakili tugas atau harga yang sebenarnya.{
"code": 200,
"data": {
"id": "task_01EXAMPLE",
"status": "completed",
"progress": 100,
"created": 1788912000,
"completed": 1788912045,
"actual_time": 45,
"estimated_time": 300,
"cost": 0.2,
"credits_cost": 2,
"result": {
"images": [
{
"url": [
"https://example.com/output-1.png",
"https://example.com/output-2.png"
],
"expires_at": 1788998445
}
]
}
}
}
Respons
integer
Kode status respons. Pengiriman yang berhasil dalam format terpadu mengembalikan
200.string
Pengenal permintaan ini untuk pemecahan masalah.
object
Tugas asinkron yang telah diterima.
Tampilkan Kolom tugas
Tampilkan Kolom tugas
string
Pengenal unik tugas untuk memeriksa status dan hasil gambar.
string
Jenis objek. Nilainya adalah
generation.task.string
Jenis tugas. Nilainya adalah
image.string
Status awal adalah
pending, yang menunjukkan bahwa tugas telah diterima.integer
Kemajuan saat ini, dengan nilai awal
0.string
Jalur relatif untuk memeriksa tugas, misalnya
/v1/tasks/task_01EXAMPLE.