Membuat gambar
Ubah deskripsi teks (prompt) menjadi gambar dengan model gambar Google (keluarga Nano Banana / Gemini Image). Endpoint-nya kompatibel dengan OpenAI Images API — SDK openai cukup diarahkan ke base URL Geraikita, dengan gk- key dan saldo GeraiPoints yang sama.
Endpoint
https://ai.geraikita.com/v1/images/generations| Header | Nilai |
|---|---|
| Authorization | Bearer gk-... (atau x-api-key: gk-...) |
| Content-Type | application/json |
Satu permintaan = satu prompt, menghasilkan 1–4 gambar. Streaming tidak didukung — balasan dikirim sekaligus setelah gambarnya selesai.
Parameter body
| Parameter | Tipe | Keterangan |
|---|---|---|
model | stringwajib | ID model gambar, mis. gemini-3.1-flash-image atau gemini-3-pro-image — daftar lengkapnya ada di tabel harga di bawah. |
prompt | stringwajib | Deskripsi gambar yang diinginkan, maksimal 4000 karakter. |
n | integeropsional | Jumlah gambar, 1–4. Bawaan 1. Tiap gambar yang berhasil ditagih terpisah. |
size | stringopsional | Salah satu dari auto | 1024x1024 | 1536x1024 | 1024x1536 | 1792x1024 | 1024x1792. Bawaan auto: rasio dipilih model, umumnya lanskap 16:9 (sekitar 1376×768). Ukuran hanya petunjuk rasio — resolusi akhir mengikuti model. |
response_format | stringopsional | url (bawaan) untuk tautan gambar, atau b64_json untuk data gambar base64 langsung di balasan. |
Field lain (mis. quality atau style) diabaikan.
Contoh
curl https://ai.geraikita.com/v1/images/generations \
--max-time 300 \
-H "Authorization: Bearer gk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image",
"prompt": "Poster promo kopi susu gula aren di atas meja kayu, cahaya pagi yang hangat, tulisan \"DISKON 20%\" besar di bagian atas, gaya ilustrasi flat",
"n": 1,
"size": "1024x1024"
}'Contoh balasan
data berisi satu objek per gambar yang berhasil — url atau b64_json sesuai response_format. Bila sebagian gambar gagal, jumlah objeknya bisa lebih sedikit dari n.
{
"created": 1793464057,
"data": [
{ "url": "https://api.geraikita.com/cdn/ai-gambar/2026/11/xxxxxxxxxxxx.jpg" }
]
}Header balasan: X-Geraikita-Images = jumlah gambar yang berhasil, X-Geraikita-GP-Charged = GeraiPoints yang ditagih untuk permintaan itu.
Harga
Model gambar ditagih per gambar yang berhasil dibuat — bukan per token. Harga terkini (dapat berubah) ada di tabel berikut dan di halaman harga.
| Id model | Nama | Per gambar |
|---|---|---|
| gemini-3.1-flash-image | Nano Banana 2 (Gemini 3.1 Flash Image) | 100 GP / gambar |
| gemini-3-pro-image | Nano Banana Pro (Gemini 3 Pro Image) | 100 GP / gambar |
- Gambar yang gagal tidak ditagih, begitu juga permintaan yang ditolak (parameter salah atau melanggar kebijakan konten).
- Saldo GeraiPoints harus cukup untuk
n× harga per gambar sebelum permintaan diproses; bila kurang, balasannya402. - Model gambar tidak termasuk Unlimited plan, Bansos (tier gratis), maupun kuota gratis lain — selalu dipotong dari saldo GeraiPoints.
- Tiap gambar tercatat sebagai satu baris di riwayat pemakaian dashboard, berlabel Gambar.
Kode galat
Bentuk galat sama dengan OpenAI: objek error berisi message, type, param, dan code.
| Status | type / code | Arti |
|---|---|---|
| 400 | invalid_request_error | Parameter tidak sah (mis. n di luar 1–4, size tak dikenal, prompt kosong atau terlalu panjang). Tidak ditagih. |
| 400 | content_policy_violation | Prompt melanggar kebijakan konten (lihat di bawah). Tidak ditagih. |
| 401 | — | API key tidak ada atau tidak sah. |
| 402 | insufficient_quota | Saldo GeraiPoints tidak cukup untuk jumlah gambar yang diminta — silakan top up. |
| 403 | — | Model ini tidak diizinkan untuk API key tersebut — tambahkan ke daftar model key di dashboard. |
| 404 | model_not_found | Model tidak dikenal atau bukan model gambar. |
| 429 | rate_limit_exceeded | Terlalu banyak permintaan — batasnya 10 permintaan/menit per key. Tunggu sesuai header Retry-After. |
| 502 | image_generation_failed | Pembuatan gambar gagal di sisi server. Tidak ditagih — silakan coba lagi. |
{
"error": {
"message": "...",
"type": "...",
"param": "...",
"code": "..."
}
}Memanggil model gambar lewat /v1/chat/completions dibalas 400 dengan arahan ke endpoint ini — pakai /v1/images/generations.
Tips menulis prompt
- Prompt boleh ditulis dalam bahasa Indonesia, Inggris, atau bahasa lain.
- Model bisa menulis teks di dalam gambar — tulis teksnya persis di dalam tanda kutip, mis.
tulisan "DISKON 20%". - Sebutkan subjek, latar, gaya (foto, ilustrasi flat, 3D, cat air), pencahayaan, dan komposisi — makin spesifik, makin sesuai hasilnya.
- Pilih
sizesesuai pemakaian:1024x1024untuk feed,1024x1792untuk story/potret,1792x1024untuk banner lanskap. - Butuh beberapa variasi? Pakai
nsampai 4 dalam satu permintaan — ingat, tiap gambar yang berhasil ditagih.
Kebijakan konten
Permintaan berikut ditolak:
- Konten seksual atau eksplisit.
- Konten yang mengeksploitasi atau membahayakan anak.
- Kekerasan sadis atau gore.
- Tokoh politik atau tokoh publik nyata.
Penolakan dibalas 400 dengan code content_policy_violation dan tidak ditagih.
Tautan gambar & penyimpanan
data[].url bersifat publik — siapa pun yang memegang tautannya bisa membuka gambar itu — dan tidak dijamin tersedia selamanya. Unduh dan simpan salinan di penyimpananmu sendiri segera setelah gambar dibuat, atau minta b64_json untuk menerima data gambarnya langsung di balasan.