Endpoint
Immagini
Genera e modifica immagini con POST /images/generations usando GPT image, Gemini image, FLUX, Seedream e altri modelli, con parametri, risposta e costi.
Provalo nel playgroundGenera e modifica immagini con tutti i modelli di immagini del catalogo: GPT image, Gemini image, FLUX, Seedream, Recraft e altri. L'endpoint usa il percorso dell'SDK OpenAI, quindi client.images.generate(...) funziona senza modifiche.
POST https://api14.com/api/v1/images/generations
POST /api/v1/images è accettato come alias. Entrambi inoltrano il corpo senza modificarlo.
Richiesta
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
model | string | sì | L'id di un modello di immagini, ad es. openai/gpt-5.4-image-2. |
prompt | string | sì | Cosa disegnare. |
n | integer | no | Numero di immagini. Ogni immagine viene fatturata. |
size | string | no | Ad es. 1024x1024, 1536x1024. Le dimensioni supportate variano per modello. |
aspect_ratio | string | no | Ad es. 16:9, 1:1, per i modelli che accettano proporzioni invece delle dimensioni. |
quality | string | no | Ad es. low, medium, high dove supportato. |
response_format | string | no | b64_json o url dove supportato. |
image | string o string[] | no | Immagini di riferimento come URL o URI data: per la modifica / image-to-image. |
Le opzioni specifiche del modello (risoluzioni, proporzioni) sono elencate per ogni modello in GET /images/models e nella pagina di ciascun modello.
Esempio
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.images.generate({
"model": "openai/gpt-5.4-image-2",
"prompt": "A minimalist product photo of a ceramic mug on a wooden table",
"n": 1,
"aspect_ratio": "1:1"
});
import { writeFile } from "node:fs/promises";
await writeFile("image.png", Buffer.from(result.data[0].b64_json, "base64"));
Risposta
{
"created": 1791100000,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }
],
"usage": { "cost": 0.04 }
}
Alcuni modelli restituiscono url invece di b64_json. Scarica subito gli URL ospitati: possono scadere.
Immagini tramite chat
I modelli di immagini che producono anche testo possono essere chiamati tramite Chat completions con modalities:
{
"model": "google/gemini-2.5-flash-image",
"modalities": ["image", "text"],
"messages": [{ "role": "user", "content": "A watercolor fox, square" }]
}
Le immagini generate tornano in choices[0].message.images[] come data URL.
Elencare i modelli di immagini
# Public, no API key needed
curl https://api14.com/api/v1/images/models
curl "https://api14.com/api/v1/models?category=image"
Prezzi
I modelli di immagini sono fatturati al prezzo indicato, per immagine o per 1M di token immagine, a seconda del modello. Il costo esatto viene preso dalla risposta dell'upstream e scalato dal tuo saldo in USD.
Errori
| Stato | Codice | Quando |
|---|---|---|
| 400 | model_required / invalid_json | Manca model oppure il corpo è malformato. |
| 402 | insufficient_balance | Il tuo saldo in USD è $0. |
| 403 | model_not_allowed / plan_required | La lista dei modelli consentiti della chiave o il piano escludono il modello. |
| 404 | model_not_found | Id del modello sconosciuto o disattivato. |
| 413 | payload_too_large | Il corpo (ad es. immagini di riferimento inline) supera il limite di dimensione. |
Gli errori di validazione dell'upstream (dimensione non supportata, policy sui contenuti) vengono inoltrati con il loro stato. Vedi Errori.