Skip to main content
La API de Generación de Imágenes de OpenAI actualmente soporta varios modelos de generación de imágenes, incluyendo el clásico dall-e-3, el modelo con mayor capacidad de renderizado de texto gpt-image-1, la última generación gpt-image-2, así como la serie de modelos nano-banana / nano-banana-2 / nano-banana-pro accesibles a través de la misma interfaz. Todos ellos pueden generar imágenes de alta calidad basadas en descripciones textuales. Este documento describe principalmente el flujo de uso de la API de Generación de Imágenes de OpenAI, con la cual podemos usar fácilmente las funciones de generación de imágenes de la serie OpenAI.

Proceso de solicitud

Para usar la API de Generación de Imágenes de OpenAI, primero puede ir a la página OpenAI Images Generations API y hacer clic en el botón “Acquire” para obtener las credenciales necesarias para las solicitudes: Si aún no ha iniciado sesión o registrado, será redirigido automáticamente a la página de inicio de sesión para registrarse e iniciar sesión; después de esto, volverá automáticamente a la página actual. Al solicitar por primera vez, se otorgará un crédito gratuito para usar la API sin costo.

Modelo GPT-Image-2

gpt-image-2 es el modelo de generación de imágenes de nueva generación lanzado por OpenAI, que presenta mejoras significativas en comparación con dall-e-3 y gpt-image-1 en los siguientes aspectos:
  • Mejor capacidad para seguir instrucciones: puede entender con precisión instrucciones estructuradas complejas como composición, conteo, relaciones espaciales, etc.
  • Renderizado de texto más claro: en escenarios como carteles, menús, infografías y logotipos, las letras y números en inglés casi no presentan errores.
  • Mayor variedad de estilos: soporta de forma nativa estilos como retratos cinematográficos, carteles retro, ilustraciones infantiles, fotografía de productos, infografías, entre otros.
  • Soporte nativo para múltiples proporciones y alta resolución: cubre 5 proporciones (1:1, 4:3, 3:4, 16:9, 9:16) con 3 niveles de resolución (1K / 2K / 4K).
La forma de llamar es idéntica a otros modelos, solo debe establecer el campo model a gpt-image-2. La URL devuelta en el resultado es un enlace permanente alojado en platform.cdn.xhuoapi.ai, que puede abrirse directamente en el navegador o incrustarse en páginas web.

Valores soportados para size y niveles de facturación

gpt-image-2 solo verifica el formato de size; siempre que no sea auto o cadena vacía, debe coincidir con el formato WIDTHxHEIGHT (por ejemplo, 1024x1024, 2048x1152, 800x600); cualquier otro formato devolverá un error 400. La facturación se divide en dos niveles:
  • Precio estándar 1K: entrada con cualquiera de los tamaños recomendados 1K en la tabla a continuación, o alias comunes 1K usados por el upstream (1254x1254, 1672x941, 941x1672 — estos son tamaños reales devueltos en 1K que, si se reintroducen, no causan cambio de precio).
  • Otros niveles (1.5×): cualquier tamaño fuera del conjunto 1K anterior, incluyendo los presets recomendados 2K / 4K en la tabla, así como cualquier tamaño personalizado WIDTHxHEIGHT.
Restricciones estrictas upstream para tamaños personalizados: ancho y alto deben ser múltiplos de 16, lado largo ≤ 3840, total de píxeles ≤ 8,294,400. Si se excede, el upstream rechazará con error 4xx.
También puede pasar size: "auto" o omitir el campo size, en cuyo caso el modelo seleccionará el tamaño predeterminado y se facturará al precio estándar 1K. En el nivel 1K, la salida upstream no garantiza una alineación estricta de píxeles — si pasa 1024x1024, puede recibir 1254x1254, manteniendo la proporción. Si vuelve a pasar este tamaño como size, seguirá facturándose como 1K. Las llamadas 4K suelen tardar entre 4 y 8 minutos, se recomienda usar el mecanismo de callback asíncrono callback_url que se explica más adelante.
Sobre el parámetro n Actualmente gpt-image-2 no soporta n > 1: este parámetro se ignora silenciosamente, sin importar si pasa n=1 o n=10, cada solicitud solo devolverá 1 imagen y se facturará como 1 imagen. Si necesita múltiples imágenes candidatas, debe hacer múltiples solicitudes concurrentes (se recomienda variar el prompt o el seed para evitar imágenes muy similares). Esta limitación también aplica a gpt-image-1 / gpt-image-1.5 y a la serie nano-banana. dall-e-2 es el único modelo que soporta nativamente n > 1; dall-e-3 solo soporta n = 1.
A continuación, mostramos varios ejemplos reales para apreciar intuitivamente las capacidades de gpt-image-2.

Escenario 1: Retrato cinematográfico

En el prompt se pueden usar términos cinematográficos (película de 35mm, poca profundidad de campo, luces neón, etc.) para controlar con precisión la atmósfera y textura. Código de ejemplo en Python:
Respuesta:
Imagen generada:

Escenario 2: Cartel de viaje vintage (con renderizado de texto)

gpt-image-2 es muy estable en tipografía y composición, ideal para carteles, menús, tarjetas con texto.
Imagen generada:

El modelo reproduce fielmente el estilo Art Deco y renderiza claramente los textos AMALFI e ITALIA 1958.

Escenario 3: Composición compleja y conteo

Este prompt prueba la capacidad del modelo para seguir instrucciones estructuradas sobre cantidad y posición.
Imagen generada:

Se puede observar que la cantidad de libros en cada estante (1 / 3 / 7) coincide perfectamente con el prompt, algo difícil de lograr consistentemente con dall-e-3.

Escenario 4: Estilo ilustración (horizontal)

Indicando medios artísticos y palabras clave de emoción, se puede guiar al modelo para producir ilustraciones estilizadas.
Ilustración horizontal generada:

Asíncrono y callback

Las llamadas a gpt-image-2 suelen tardar entre 60 y 90 segundos; si no desea mantener la conexión abierta, puede usar el mecanismo de callback asíncrono callback_url que se explica más adelante. El flujo es idéntico al de otros modelos.

Serie de modelos Nano Banana

La serie nano-banana es un modelo de generación basado en Gemini, accesible a través del mismo endpoint /openai/images/generations, solo debe cambiar el campo model a cualquiera de los siguientes:
Importante: rango de parámetros soportados Nano Banana se adapta al protocolo OpenAI pero solo soporta estos parámetros: model, prompt, size.
  • size se mapea internamente a aspect_ratio según la tabla; tamaños no listados se degradan a 1:1:
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • No soporta n, quality, style, response_format, background, output_format; si se pasan, se ignoran.
  • La estructura de respuesta sigue el formato OpenAI (data[].url), pero created siempre es 0, no devuelve b64_json, y revised_prompt es igual al prompt original.

Llamada básica

Respuesta:
La imagen generada puede accederse directamente vía el campo url:

Actualización al modelo flagship nano-banana-pro

Solo cambie model a nano-banana-pro, los demás parámetros permanecen igual:
Ejemplo de respuesta:

Callback asíncrono

El mecanismo callback_url también funciona para nano-banana, el flujo es idéntico al de otros modelos, ver sección Callback asíncrono.

Uso básico

Luego puede rellenar los campos correspondientes en la interfaz, como se muestra:

Al usar la API por primera vez, debe rellenar al menos tres campos: authorization, que puede seleccionar en la lista desplegable; model, que es el modelo oficial OpenAI DALL-E que desea usar (aquí principalmente hay 1 modelo, consulte la lista de modelos disponibles); y prompt, que es el texto para generar la imagen. También notará que a la derecha se genera el código de llamada correspondiente, que puede copiar y ejecutar directamente o hacer clic en el botón “Try” para probar.

Ejemplo en Python:
Respuesta:
Los campos devueltos incluyen:
  • created: ID único de la tarea de generación de imagen.
  • data: contiene la información del resultado de la imagen generada.
Dentro de data, el campo url es el enlace detallado a la imagen generada, como se muestra:

Parámetro de calidad de imagen quality

Se puede configurar la calidad de la imagen generada. Hay dos opciones para quality: standard para imágenes estándar, y hd para imágenes con detalles más finos y mayor consistencia. Ejemplo configurando quality a standard:

El código generado a la derecha puede copiarse o probarse con el botón “Try”:

Ejemplo en Python:
Respuesta:
La imagen generada con calidad standard es:

Si cambia quality a hd, la imagen generada es:

Se observa que hd produce imágenes con detalles más finos y mayor consistencia.

Parámetro de tamaño de imagen size

También puede configurar el tamaño de la imagen generada. Ejemplo configurando tamaño a 1024x1024:

El código generado puede copiarse o probarse:

Ejemplo en Python:
Respuesta:
La imagen generada con tamaño 1024x1024 es:

Si cambia el tamaño a 1792x1024, la imagen generada es: Se observa una diferencia clara en el tamaño de la imagen. Puede configurar otros tamaños, consulte la documentación oficial para más detalles.

Parámetro de estilo de imagen style

El parámetro style tiene dos opciones: vivid para imágenes más vivas y natural para imágenes más naturales. Ejemplo configurando style a vivid:

El código generado puede copiarse o probarse:

Ejemplo en Python:
Respuesta:
La imagen generada con estilo vivid es:

Si cambia el estilo a natural, la imagen generada es:

Se observa que vivid genera imágenes más vivas y realistas que natural.

Parámetro de formato de enlace de imagen response_format

El parámetro response_format tiene dos opciones: b64_json codifica la imagen en Base64, y url devuelve un enlace directo a la imagen. Ejemplo configurando response_format a url:

El código generado puede copiarse o probarse:

Ejemplo en Python:
Respuesta:
El enlace de la imagen generada con response_format como url es Imagen URL y puede accederse directamente:

Si cambia a b64_json, la respuesta contiene la imagen codificada en Base64, por ejemplo:

Callback asíncrono

Dado que la generación de imágenes puede tardar un tiempo considerable, para evitar que la conexión HTTP se mantenga abierta y consuma recursos, la API soporta callbacks asíncronos. El flujo es: el cliente envía la solicitud con un campo adicional callback_url. La API responde inmediatamente con un task_id que identifica la tarea. Cuando la tarea finaliza, la API envía un POST JSON al callback_url con el resultado, incluyendo el task_id para relacionar la respuesta con la solicitud. Ejemplo: Para la URL de callback, use un servidor HTTP propio o un servicio público como https://webhook.site/. Al abrir el sitio, obtendrá una URL de webhook, por ejemplo: Copie esta URL, por ejemplo https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab. Luego configure el campo callback_url con esta URL y envíe la solicitud:
Respuesta inmediata:
Después de unos segundos, en la URL del webhook verá el resultado:
Se puede relacionar la respuesta con la solicitud mediante el campo task_id.

Manejo de errores

Si ocurre un error en la llamada a la API, esta devolverá un código y mensaje de error, por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente parámetros faltantes o inválidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente parámetros faltantes o inválidos.
  • 401 invalid_token: No autorizado, token de autorización inválido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, ha superado el límite de tasa.
  • 500 api_error: Error interno del servidor.

Ejemplo de respuesta de error

Conclusión

Con este documento, ha aprendido cómo usar la API de Generación de Imágenes de OpenAI para aprovechar fácilmente la función oficial de generación de imágenes DALL-E de OpenAI. Esperamos que esta documentación le ayude a integrar y usar mejor esta API. Si tiene alguna pregunta, no dude en contactar a nuestro equipo de soporte técnico.