Endpoints
Imágenes
Genera y edita imágenes con POST /images/generations usando GPT image, Gemini image, FLUX, Seedream y otros modelos, con el formato del SDK de OpenAI.
Pruébalo en el playgroundGenera y edita imágenes con todos los modelos de imagen del catálogo: GPT image, Gemini image, FLUX, Seedream, Recraft y más. El endpoint usa la ruta del SDK de OpenAI, así que client.images.generate(...) funciona sin cambios.
POST https://api14.com/api/v1/images/generations
POST /api/v1/images se acepta como alias. Ambos reenvían el cuerpo sin modificarlo.
Petición
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
model | string | sí | Un id de modelo de imagen, p. ej. openai/gpt-5.4-image-2. |
prompt | string | sí | Qué dibujar. |
n | integer | no | Número de imágenes. Cada imagen se factura. |
size | string | no | p. ej. 1024x1024, 1536x1024. Los tamaños admitidos varían según el modelo. |
aspect_ratio | string | no | p. ej. 16:9, 1:1, para modelos que aceptan proporciones en lugar de tamaños. |
quality | string | no | p. ej. low, medium, high donde se admita. |
response_format | string | no | b64_json o url donde se admita. |
image | string o string[] | no | Imágenes de referencia como URL o URI data: para edición / imagen a imagen. |
Las opciones específicas de cada modelo (resoluciones, proporciones) se listan por modelo en GET /images/models y en la página de cada modelo.
Ejemplo
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"));
Respuesta
{
"created": 1791100000,
"data": [
{ "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..." }
],
"usage": { "cost": 0.04 }
}
Algunos modelos devuelven url en lugar de b64_json. Descarga las URL alojadas sin demora; pueden caducar.
Imágenes mediante chat
Los modelos de imagen que también generan texto pueden llamarse mediante Chat completions con modalities:
{
"model": "google/gemini-2.5-flash-image",
"modalities": ["image", "text"],
"messages": [{ "role": "user", "content": "A watercolor fox, square" }]
}
Las imágenes generadas llegan en choices[0].message.images[] como URL de datos.
Listar modelos de imagen
# Público, no necesita clave de API
curl https://api14.com/api/v1/images/models
curl "https://api14.com/api/v1/models?category=image"
Precios
Los modelos de imagen se facturan a su precio indicado, por imagen o por 1M de tokens de imagen, según el modelo. El coste exacto se toma de la respuesta del proveedor y se descuenta de tu saldo en USD.
Errores
| Estado | Código | Cuándo |
|---|---|---|
| 400 | model_required / invalid_json | Falta model o el cuerpo está mal formado. |
| 402 | insufficient_balance | Tu saldo en USD es $0. |
| 403 | model_not_allowed / plan_required | La lista de modelos permitidos de la clave o el plan excluye el modelo. |
| 404 | model_not_found | Id de modelo desconocido o desactivado. |
| 413 | payload_too_large | El cuerpo (p. ej. imágenes de referencia en línea) supera el límite de tamaño. |
Los errores de validación del proveedor (tamaño no admitido, política de contenido) se transmiten con su estado. Consulta Errores.