Tutorial de la API gpt-image-1: precios y ejemplos (2026)

Integra la API de generación de imágenes gpt-image-1 paso a paso — ejemplos en Python, Node.js y cURL, precios oficiales por imagen (baja calidad desde ~$0.01) y solución de errores comunes. Una sola clave de GetModel y créditos gratis para empezar.

Si quieres una función de «escribe texto y obtén una imagen» en tu producto, gpt-image-1 es hoy el modelo más fiable en seguimiento de instrucciones y en renderizar texto dentro de la imagen. Aquí lo ponemos en marcha con el endpoint compatible con OpenAI de GetModel: basta con apuntar base_url a https://getmodel.ai/v1, y la misma clave también llama a Claude, GPT y Gemini. Las cuentas nuevas reciben créditos gratis, así que puedes probar gpt-image-1 gratis primero.

Qué es gpt-image-1

gpt-image-1 es el modelo de generación de imágenes nativamente multimodal de OpenAI, y se invoca mediante el endpoint /v1/images/generations. Frente al anterior DALL·E 3, sus puntos fuertes son:

  • Mejor seguimiento de instrucciones: varios sujetos, la composición y las posiciones relativas salen más fieles al prompt;
  • Texto más nítido dentro de la imagen: el texto en pósteres, UI y logos ya no se vuelve ilegible;
  • Imagen a imagen y repintado: pasa una imagen de referencia más una máscara al endpoint images.edit.

Consulta precios y disponibilidad en vivo en la página del modelo gpt-image-2, su sucesor.

Nota de vigencia (2026): gpt-image-1 está programado para darse de baja el 2026-12-01 en la API de OpenAI; el reemplazo recomendado es gpt-image-2. La ventaja del endpoint agregado de GetModel: cuando llegue ese día, solo cambia model de gpt-image-1 a gpt-image-2 — sin tocar la autenticación, el SDK ni la estructura de la petición.

Primeros pasos: cómo usar gpt-image-1

Primero, crea una clave de API en la página «Tokens de API» de la consola de GetModel (con formato sk-...). El endpoint es siempre https://getmodel.ai/v1.

⚠️ Clave: gpt-image-1 solo devuelve base64 (b64_json), nunca una URL de imagen. No leas data[0].url: está vacío.

Python

from openai import OpenAI
import base64

client = OpenAI(
    api_key="sk-your-key",
    base_url="https://getmodel.ai/v1",
)

resp = client.images.generate(
    model="gpt-image-1",
    prompt="Un shiba inu con casco de astronauta flotando en el espacio, ilustración plana",
    size="1024x1024",   # o 1536x1024 horizontal / 1024x1536 vertical
    quality="high",      # low | medium | high
    n=1,
)

img_b64 = resp.data[0].b64_json
with open("dog.png", "wb") as f:
    f.write(base64.b64decode(img_b64))

Node.js

import OpenAI from 'openai';
import { writeFileSync } from 'node:fs';

const client = new OpenAI({
  apiKey: 'sk-your-key',
  baseURL: 'https://getmodel.ai/v1',
});

const resp = await client.images.generate({
  model: 'gpt-image-1',
  prompt: 'A neon cyberpunk street in the rain, cinematic lighting',
  size: '1536x1024',
  quality: 'medium',
});

const b64 = resp.data[0].b64_json!;
writeFileSync('city.png', Buffer.from(b64, 'base64'));

cURL

curl https://getmodel.ai/v1/images/generations \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-1",
    "prompt": "Primer plano de un latte con arte en la espuma, tonos cálidos, cenital a 45 grados",
    "size": "1024x1024",
    "quality": "high"
  }'

En el JSON devuelto, la imagen está en data[0].b64_json; decodifica el base64 y escríbelo en un archivo.

Parámetros habituales

ParámetroValoresNotas
size1024x1024 / 1536x1024 / 1024x1536Cuadrado / horizontal / vertical — elige uno
qualitylow / medium / highA mayor calidad, más lento y caro; por defecto high
nenteroCuántas imágenes por llamada
output_formatpng / jpeg / webpFormato de salida, por defecto png
backgroundtransparent / opaque / autoLa transparencia requiere png/webp
moderationauto / lowNivel de moderación; low es más permisivo

Precios: desglose del coste oficial

gpt-image-1 se factura por tokens: las imágenes generadas se cuentan como «tokens de salida de imagen». Tarifas oficiales:

TipoPrecio (por 1 M de tokens)
Entrada de texto$5.00 (caché $1.25)
Entrada de imagen$10.00 (caché $2.50)
Salida de imagen$40.00

Traducido a «coste por imagen» es más concreto:

CalidadCuadrado 1024×1024Horizontal/vertical 1536×1024
low$0.011$0.016
medium$0.042$0.063
high$0.167$0.25

Es decir, generar borradores en baja calidad cuesta alrededor de 1 céntimo cada uno, y los finales en alta calidad unos 17 céntimos. GetModel traslada las tarifas oficiales sin recargo, el saldo es compartido entre todos los modelos y el consumo por petición se detalla en la página «Registros» de la consola. Consulta precios en vivo y comparativas en la página de precios.

Solución de errores comunes

SíntomaCausa y solución
401 invalid_api_keyClave incorrecta o falta Authorization: Bearer sk-...
400 sobre size/qualitysize debe ser uno de tres valores; quality solo low/medium/high
content_policy_violationEl prompt activó la moderación — reformúlalo o añade "moderation": "low"
La imagen llega vacíaNo leas data[0].url — gpt-image-1 solo tiene data[0].b64_json
429 límite de tasaLímite alcanzado — añade backoff exponencial; el gateway ya conmuta entre varios canales
La petición expiraLa calidad high es lenta — sube el timeout del cliente por encima de 120 s

Preguntas frecuentes (FAQ)

  • ¿Puede hacer imagen a imagen / repintado? Sí. Usa client.images.edit(), pasando image (la original), una mask opcional (las zonas transparentes se repintan) y un prompt.
  • ¿Puedo obtener un fondo transparente? Sí. Pon background="transparent" y fija output_format en png o webp.
  • ¿Puede devolver una URL directamente? No. gpt-image-1 siempre devuelve base64 — súbelo a tu propio almacenamiento de objetos si necesitas una URL.
  • ¿En qué se diferencia de llamar a OpenAI directamente? La forma de llamada, los parámetros y las reglas de facturación son idénticos (compatible con OpenAI). La única diferencia: una clave cubre Claude / GPT / Gemini / gpt-image-1, con saldo compartido y créditos gratis para empezar.
  • ¿Cómo consigo los créditos gratis? Se otorgan al registrarte — inicia sesión en la consola para ver tu saldo y crear una clave, y recarga una vez que funcione.

¿Listo? Crea una clave de API y empieza a generar — solo sustituye sk-your-key en cualquier fragmento de arriba por la tuya.