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
modeldegpt-image-1agpt-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 leasdata[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ámetro | Valores | Notas |
|---|---|---|
size | 1024x1024 / 1536x1024 / 1024x1536 | Cuadrado / horizontal / vertical — elige uno |
quality | low / medium / high | A mayor calidad, más lento y caro; por defecto high |
n | entero | Cuántas imágenes por llamada |
output_format | png / jpeg / webp | Formato de salida, por defecto png |
background | transparent / opaque / auto | La transparencia requiere png/webp |
moderation | auto / low | Nivel 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:
| Tipo | Precio (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:
| Calidad | Cuadrado 1024×1024 | Horizontal/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íntoma | Causa y solución |
|---|---|
401 invalid_api_key | Clave incorrecta o falta Authorization: Bearer sk-... |
400 sobre size/quality | size debe ser uno de tres valores; quality solo low/medium/high |
content_policy_violation | El prompt activó la moderación — reformúlalo o añade "moderation": "low" |
| La imagen llega vacía | No leas data[0].url — gpt-image-1 solo tiene data[0].b64_json |
429 límite de tasa | Límite alcanzado — añade backoff exponencial; el gateway ya conmuta entre varios canales |
| La petición expira | La 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(), pasandoimage(la original), unamaskopcional (las zonas transparentes se repintan) y unprompt. - ¿Puedo obtener un fondo transparente? Sí. Pon
background="transparent"y fijaoutput_formatenpngowebp. - ¿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.