Generazione di immagini
Trasforma una descrizione testuale (prompt) in immagini con i modelli di immagine di Google (famiglia Nano Banana / Gemini Image). L’endpoint è compatibile con la OpenAI Images API — basta puntare l’SDK openai alla base URL di Geraikita, con la stessa gk- key e lo stesso saldo GeraiPoints.
Endpoint
https://ai.geraikita.com/v1/images/generations| Header | Valore |
|---|---|
| Authorization | Bearer gk-... (oppure x-api-key: gk-...) |
| Content-Type | application/json |
Una richiesta = un prompt, che produce da 1 a 4 immagini. Lo streaming non è supportato — la risposta arriva in un’unica volta quando le immagini sono pronte.
Parametri del body
| Parametro | Tipo | Descrizione |
|---|---|---|
model | stringobbligatorio | ID del modello di immagine, ad es. gemini-3.1-flash-image o gemini-3-pro-image — l’elenco completo è nella tabella dei prezzi qui sotto. |
prompt | stringobbligatorio | Descrizione dell’immagine desiderata, al massimo 4000 caratteri. |
n | integerfacoltativo | Numero di immagini, 1–4. Predefinito 1. Ogni immagine riuscita è addebitata separatamente. |
size | stringfacoltativo | Uno tra auto | 1024x1024 | 1536x1024 | 1024x1536 | 1792x1024 | 1024x1792. Predefinito auto: il modello sceglie il formato, di solito orizzontale 16:9 (circa 1376×768). La dimensione è solo un’indicazione del formato — la risoluzione finale dipende dal modello. |
response_format | stringfacoltativo | url (predefinito) per un link all’immagine, oppure b64_json per i dati dell’immagine in base64 direttamente nella risposta. |
Gli altri campi (ad es. quality o style) vengono ignorati.
Esempi
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 promozionale di un caffè freddo con zucchero di palma su un tavolo di legno, calda luce del mattino, grande scritta \"SCONTO 20%\" in alto, stile illustrazione flat",
"n": 1,
"size": "1024x1024"
}'Risposta di esempio
data contiene un oggetto per ogni immagine riuscita — url o b64_json in base a response_format. Se alcune immagini falliscono, gli oggetti possono essere meno di n.
{
"created": 1793464057,
"data": [
{ "url": "https://api.geraikita.com/cdn/ai-gambar/2026/11/xxxxxxxxxxxx.jpg" }
]
}Header di risposta: X-Geraikita-Images = numero di immagini riuscite, X-Geraikita-GP-Charged = GeraiPoints addebitati per quella richiesta.
Prezzi
I modelli di immagine sono fatturati per immagine generata con successo — non per token. I prezzi attuali (soggetti a modifiche) sono nella tabella qui sotto e nella pagina dei prezzi.
Al momento non è possibile caricare i prezzi dei modelli di immagine — vedi la pagina dei prezzi.
- Le immagini non riuscite non vengono addebitate, così come le richieste rifiutate (parametri non validi o violazioni della policy sui contenuti).
- Il saldo GeraiPoints deve coprire
n× il prezzo per immagine prima che la richiesta venga elaborata; altrimenti la risposta è402. - I modelli di immagine non sono inclusi nell’Unlimited plan, in Bansos (piano gratuito) né in altre quote gratuite — vengono sempre scalati dal saldo GeraiPoints.
- Ogni immagine compare come una riga nella cronologia di utilizzo del dashboard, con l’etichetta Immagine.
Codici di errore
Gli errori seguono il formato OpenAI: un oggetto error con message, type, param e code.
| Stato | type / code | Significato |
|---|---|---|
| 400 | invalid_request_error | Parametro non valido (ad es. n fuori da 1–4, size sconosciuta, prompt vuoto o troppo lungo). Nessun addebito. |
| 400 | content_policy_violation | Il prompt viola la policy sui contenuti (vedi sotto). Nessun addebito. |
| 401 | — | API key mancante o non valida. |
| 402 | insufficient_quota | GeraiPoints insufficienti per il numero di immagini richiesto — ricarica per favore. |
| 403 | — | Questo modello non è consentito per quella API key — aggiungilo all’elenco dei modelli della key nel dashboard. |
| 404 | model_not_found | Modello sconosciuto o non di immagine. |
| 429 | rate_limit_exceeded | Troppe richieste — il limite è di 10 richieste/minuto per key. Attendi quanto indicato dall’header Retry-After. |
| 502 | image_generation_failed | La generazione dell’immagine non è riuscita lato server. Nessun addebito — riprova. |
{
"error": {
"message": "...",
"type": "...",
"param": "...",
"code": "..."
}
}Chiamare un modello di immagine tramite /v1/chat/completions restituisce 400 con un rimando a questo endpoint — usa /v1/images/generations.
Consigli per il prompt
- I prompt possono essere scritti in italiano, inglese, indonesiano o altre lingue.
- Il modello può scrivere testo dentro l’immagine — metti il testo esatto tra virgolette, ad es.
la scritta "SCONTO 20%". - Descrivi soggetto, ambientazione, stile (foto, illustrazione flat, 3D, acquerello), illuminazione e composizione — più sei preciso, più il risultato è fedele.
- Scegli
sizein base all’uso:1024x1024per il feed,1024x1792per storie/verticale,1792x1024per banner orizzontali. - Ti servono più varianti? Usa
nfino a 4 in una sola richiesta — ricorda che ogni immagine riuscita viene addebitata.
Policy sui contenuti
Le seguenti richieste vengono rifiutate:
- Contenuti sessuali o espliciti.
- Contenuti che sfruttano o mettono in pericolo minori.
- Violenza sadica o gore.
- Figure politiche reali o personaggi pubblici reali.
I rifiuti restituiscono 400 con il codice content_policy_violation e non vengono addebitati.
Link alle immagini e archiviazione
data[].url è pubblico — chiunque abbia il link può aprire l’immagine — e non è garantito che resti disponibile per sempre. Scarica e conserva una copia nel tuo archivio subito dopo la generazione, oppure richiedi b64_json per ricevere i dati dell’immagine direttamente nella risposta.