Afbeeldingen genereren
Zet een tekstbeschrijving (prompt) om in afbeeldingen met afbeeldingsmodellen van Google (de Nano Banana / Gemini Image-familie). Het endpoint is compatibel met de OpenAI Images API — richt de openai-SDK gewoon op de Geraikita-base-URL, met dezelfde gk-key en hetzelfde GeraiPoints-saldo.
Endpoint
https://ai.geraikita.com/v1/images/generations| Header | Waarde |
|---|---|
| Authorization | Bearer gk-... (of x-api-key: gk-...) |
| Content-Type | application/json |
Eén verzoek = één prompt, met 1–4 afbeeldingen als resultaat. Streaming wordt niet ondersteund — het antwoord komt in één keer zodra de afbeeldingen klaar zijn.
Body-parameters
| Parameter | Type | Toelichting |
|---|---|---|
model | stringverplicht | ID van het afbeeldingsmodel, bijv. gemini-3.1-flash-image of gemini-3-pro-image — de volledige lijst staat in de prijstabel hieronder. |
prompt | stringverplicht | Beschrijving van de gewenste afbeelding, maximaal 4000 tekens. |
n | integeroptioneel | Aantal afbeeldingen, 1–4. Standaard 1. Elke geslaagde afbeelding wordt apart gefactureerd. |
size | stringoptioneel | Een van auto | 1024x1024 | 1536x1024 | 1024x1536 | 1792x1024 | 1024x1792. Standaard auto: het model kiest de verhouding, meestal liggend 16:9 (ongeveer 1376×768). De grootte is alleen een hint voor de beeldverhouding — de uiteindelijke resolutie bepaalt het model. |
response_format | stringoptioneel | url (standaard) voor een link naar de afbeelding, of b64_json voor base64-afbeeldingsdata direct in het antwoord. |
Andere velden (bijv. quality of style) worden genegeerd.
Voorbeelden
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": "Promoposter voor ijskoffie met palmsuiker op een houten tafel, warm ochtendlicht, grote tekst \"20% KORTING\" bovenaan, platte illustratiestijl",
"n": 1,
"size": "1024x1024"
}'Voorbeeldantwoord
data bevat één object per geslaagde afbeelding — url of b64_json afhankelijk van response_format. Als sommige afbeeldingen mislukken, kunnen er minder objecten zijn dan n.
{
"created": 1793464057,
"data": [
{ "url": "https://api.geraikita.com/cdn/ai-gambar/2026/11/xxxxxxxxxxxx.jpg" }
]
}Antwoordheaders: X-Geraikita-Images = aantal geslaagde afbeeldingen, X-Geraikita-GP-Charged = GeraiPoints die voor dat verzoek zijn afgeschreven.
Prijzen
Afbeeldingsmodellen worden gefactureerd per succesvol gegenereerde afbeelding — niet per token. De actuele prijzen (onder voorbehoud van wijzigingen) staan in de tabel hieronder en op de prijspagina.
| Model-id | Naam | Per afbeelding |
|---|---|---|
| gemini-3.1-flash-image | Nano Banana 2 (Gemini 3.1 Flash Image) | 100 GP / afbeelding |
| gemini-3-pro-image | Nano Banana Pro (Gemini 3 Pro Image) | 100 GP / afbeelding |
- Mislukte afbeeldingen kosten niets, net als geweigerde verzoeken (ongeldige parameters of schending van het contentbeleid).
- Je GeraiPoints-saldo moet
n× de prijs per afbeelding dekken voordat het verzoek wordt verwerkt; anders is het antwoord402. - Afbeeldingsmodellen zijn niet inbegrepen in het Unlimited plan, Bansos (gratis tier) of andere gratis quota — ze worden altijd van je GeraiPoints-saldo afgeschreven.
- Elke afbeelding verschijnt als één regel in de gebruiksgeschiedenis van het dashboard, met het label Afbeelding.
Foutcodes
Fouten volgen het OpenAI-formaat: een error-object met message, type, param en code.
| Status | type / code | Betekenis |
|---|---|---|
| 400 | invalid_request_error | Ongeldige parameter (bijv. n buiten 1–4, onbekende size, lege of te lange prompt). Geen kosten. |
| 400 | content_policy_violation | De prompt schendt het contentbeleid (zie hieronder). Geen kosten. |
| 401 | — | API-key ontbreekt of is ongeldig. |
| 402 | insufficient_quota | Niet genoeg GeraiPoints voor het gevraagde aantal afbeeldingen — waardeer op alsjeblieft. |
| 403 | — | Dit model is niet toegestaan voor die API-key — voeg het toe aan de modellenlijst van de key in het dashboard. |
| 404 | model_not_found | Onbekend model, of geen afbeeldingsmodel. |
| 429 | rate_limit_exceeded | Te veel verzoeken — de limiet is 10 verzoeken/minuut per key. Wacht zoals aangegeven in de header Retry-After. |
| 502 | image_generation_failed | Het genereren van de afbeelding is aan serverzijde mislukt. Geen kosten — probeer het opnieuw. |
{
"error": {
"message": "...",
"type": "...",
"param": "...",
"code": "..."
}
}Een afbeeldingsmodel aanroepen via /v1/chat/completions geeft 400 met een verwijzing naar dit endpoint — gebruik /v1/images/generations.
Tips voor prompts
- Prompts mogen in het Nederlands, Engels, Indonesisch of andere talen.
- Het model kan tekst in de afbeelding zetten — zet de exacte tekst tussen aanhalingstekens, bijv.
de tekst "20% KORTING". - Beschrijf onderwerp, omgeving, stijl (foto, platte illustratie, 3D, aquarel), belichting en compositie — hoe specifieker, hoe beter het resultaat aansluit.
- Kies
sizepassend bij het gebruik:1024x1024voor de feed,1024x1792voor stories/staand,1792x1024voor liggende banners. - Meerdere varianten nodig? Gebruik
ntot 4 in één verzoek — elke geslaagde afbeelding wordt gefactureerd.
Contentbeleid
De volgende verzoeken worden geweigerd:
- Seksuele of expliciete content.
- Content die kinderen uitbuit of in gevaar brengt.
- Sadistisch geweld of gore.
- Echte politieke figuren of echte publieke figuren.
Weigeringen geven 400 met code content_policy_violation en worden niet gefactureerd.
Afbeeldingslinks & opslag
data[].url is openbaar — iedereen met de link kan de afbeelding openen — en blijft niet gegarandeerd voor altijd beschikbaar. Download en bewaar direct na het genereren een kopie in je eigen opslag, of vraag b64_json op om de afbeeldingsdata direct in het antwoord te ontvangen.