Nous utilisons des cookies. Les cookies et le stockage du navigateur vous gardent connecté et mémorisent vos préférences. Avec votre accord, nous mesurons aussi l’utilisation du site. Vous pouvez à tout moment. Consultez notre politique relative aux cookies.

Images

Endpoints

Images

POST /images/generations : générez et modifiez des images avec les modèles texte-vers-image du catalogue, via le même format que le SDK OpenAI.

Essayer dans le playground

Générez et modifiez des images avec tous les modèles d'image du catalogue : GPT image, Gemini image, FLUX, Seedream, Recraft et d'autres. L'endpoint utilise le chemin du SDK OpenAI, donc client.images.generate(...) fonctionne sans modification.

POST https://api14.com/api/v1/images/generations

POST /api/v1/images est accepté comme alias. Les deux transmettent le corps tel quel.

Requête

ParamètreTypeObligatoireDescription
modelstringouiUn identifiant de modèle d'image, par ex. openai/gpt-5.4-image-2.
promptstringouiCe qu'il faut dessiner.
nintegernonNombre d'images. Chaque image est facturée.
sizestringnonpar ex. 1024x1024, 1536x1024. Les tailles prises en charge varient selon le modèle.
aspect_ratiostringnonpar ex. 16:9, 1:1, pour les modèles qui prennent des ratios au lieu de tailles.
qualitystringnonpar ex. low, medium, high quand c'est pris en charge.
response_formatstringnonb64_json ou url quand c'est pris en charge.
imagestring ou string[]nonImage(s) de référence sous forme d'URL ou d'URI data: pour la retouche / image-vers-image.

Les options propres à chaque modèle (résolutions, ratios) sont listées par modèle dans GET /images/models et sur la page de chaque modèle.

Exemple

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"));

Réponse

{
  "created": 1791100000,
  "data": [
    { "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }
  ],
  "usage": { "cost": 0.04 }
}

Certains modèles renvoient url au lieu de b64_json. Téléchargez rapidement les URL hébergées ; elles peuvent expirer.

Images via le chat

Les modèles d'image qui produisent aussi du texte peuvent être appelés via les Chat completions avec modalities :

{
  "model": "google/gemini-2.5-flash-image",
  "modalities": ["image", "text"],
  "messages": [{ "role": "user", "content": "A watercolor fox, square" }]
}

Les images générées reviennent dans choices[0].message.images[] sous forme d'URL data.

Lister les modèles d'image

# Public, aucune clé d'API nécessaire
curl https://api14.com/api/v1/images/models
curl "https://api14.com/api/v1/models?category=image"

Tarifs

Les modèles d'image sont facturés à leur prix indiqué, par image ou par million de tokens d'image selon le modèle. Le coût exact est repris de la réponse du fournisseur et débité de votre solde en USD.

Erreurs

StatutCodeQuand
400model_required / invalid_jsonmodel manquant ou corps mal formé.
402insufficient_balanceVotre solde en USD est à 0 $.
403model_not_allowed / plan_requiredLa liste autorisée de la clé ou le forfait exclut le modèle.
404model_not_foundIdentifiant de modèle inconnu ou désactivé.
413payload_too_largeLe corps (par ex. images de référence intégrées) dépasse la limite de taille.

Les erreurs de validation du fournisseur (taille non prise en charge, politique de contenu) sont transmises avec leur statut. Voir Erreurs.