Endpoints
Afbeeldingen
POST /images/generations: modellen voor tekst-naar-beeld en beeldbewerking, met parameters, response, prijzen en foutcodes.
Probeer het in de playgroundGenereer en bewerk afbeeldingen met elk beeldmodel in de catalogus: GPT image, Gemini image, FLUX, Seedream, Recraft en meer. Het endpoint gebruikt het pad van de OpenAI-SDK, dus client.images.generate(...) werkt ongewijzigd.
POST https://api14.com/api/v1/images/generations
POST /api/v1/images wordt als alias geaccepteerd. Beide sturen de body ongewijzigd door.
Request
| Parameter | Type | Verplicht | Beschrijving |
|---|---|---|---|
model | string | ja | Een beeldmodel-id, bijv. openai/gpt-5.4-image-2. |
prompt | string | ja | Wat er getekend moet worden. |
n | integer | nee | Aantal afbeeldingen. Elke afbeelding wordt in rekening gebracht. |
size | string | nee | Bijv. 1024x1024, 1536x1024. Ondersteunde formaten verschillen per model. |
aspect_ratio | string | nee | Bijv. 16:9, 1:1, voor modellen die verhoudingen gebruiken in plaats van formaten. |
quality | string | nee | Bijv. low, medium, high waar ondersteund. |
response_format | string | nee | b64_json of url waar ondersteund. |
image | string of string[] | nee | Referentieafbeelding(en) als URL's of data:-URI's voor bewerken / image-to-image. |
Modelspecifieke opties (resoluties, beeldverhoudingen) staan per model in GET /images/models en op elke modelpagina.
Voorbeeld
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"));
Response
{
"created": 1791100000,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }
],
"usage": { "cost": 0.04 }
}
Sommige modellen geven url terug in plaats van b64_json. Download gehoste URL's snel; ze kunnen verlopen.
Afbeeldingen via chat
Beeldmodellen die ook tekst uitvoeren, kunnen via Chat completions worden aangeroepen met modalities:
{
"model": "google/gemini-2.5-flash-image",
"modalities": ["image", "text"],
"messages": [{ "role": "user", "content": "A watercolor fox, square" }]
}
Gegenereerde afbeeldingen komen terug in choices[0].message.images[] als data-URL's.
Beeldmodellen weergeven
# Openbaar, geen API-key nodig
curl https://api14.com/api/v1/images/models
curl "https://api14.com/api/v1/models?category=image"
Prijzen
Beeldmodellen worden gefactureerd tegen hun vermelde prijs, per afbeelding of per 1M beeldtokens, afhankelijk van het model. De exacte kosten worden uit de upstream-response overgenomen en van je USD-saldo afgeschreven.
Fouten
| Status | Code | Wanneer |
|---|---|---|
| 400 | model_required / invalid_json | model ontbreekt of de body is ongeldig. |
| 402 | insufficient_balance | Je USD-saldo is $0. |
| 403 | model_not_allowed / plan_required | De allowlist van de key of je abonnement sluit het model uit. |
| 404 | model_not_found | Onbekend of uitgeschakeld model-id. |
| 413 | payload_too_large | De body (bijv. inline referentieafbeeldingen) overschrijdt de groottelimiet. |
Upstream-validatiefouten (niet-ondersteund formaat, contentbeleid) worden met hun status doorgegeven. Zie Fouten.