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, la capacidad de renderizado de texto más potente gpt-image-1, la última generación gpt-image-2, así como la serie de modelos nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro que se conectan a través de la misma interfaz. Todos ellos pueden generar imágenes de alta calidad a partir de descripciones de texto. Este documento presenta principalmente el flujo de uso de la API de Generación de Imágenes de OpenAI, que nos permite utilizar fácilmente las funciones de generación de imágenes de la serie OpenAI.

Proceso de Solicitud

Para utilizar la API de Generación de Imágenes de OpenAI, primero dirígete a la consola de Ace Data Cloud para obtener tu Token de API, que debes guardar como respaldo. Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión; una vez completado, regresarás automáticamente a la página actual. Un Token de API es suficiente para acceder a todos los servicios de la plataforma, sin necesidad de solicitar uno por cada servicio. La primera solicitud te otorgará un crédito gratuito para que lo pruebes; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: API de Generación de Imágenes de OpenAI →

Modelo GPT-Image-2

gpt-image-2 es el nuevo modelo de generación de imágenes lanzado por OpenAI, que presenta mejoras significativas en comparación con dall-e-3 y gpt-image-1 en los siguientes aspectos:
  • Mayor capacidad de seguimiento de instrucciones: puede entender con precisión instrucciones estructuradas complejas sobre composición, conteo, relaciones de posición, etc.
  • Renderizado de texto más claro: en escenarios como carteles, menús, infografías, logotipos, el inglés y los números casi no presentan confusiones.
  • Mayor variedad de estilos: soporta de forma nativa múltiples estilos como retratos cinematográficos, carteles retro, ilustraciones infantiles, fotografía de productos, infografías, entre otros.
  • Soporte nativo para múltiples proporciones + 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 invocación es completamente idéntica a otros modelos, solo necesitas establecer el campo model como gpt-image-2. La url en el resultado devuelto es un enlace a una imagen alojada permanentemente en platform.cdn.acedata.cloud, que se puede abrir directamente en el navegador o incrustar en una página web.

Ruta oficial / variante inversa (:official / :reverse)

gpt-image-2 utiliza por defecto la ruta inversa. A través del sufijo del nombre del modelo, puedes seleccionar explícitamente la ruta:
  • gpt-image-2:official: ruta oficial de intermediación. Soporta n > 1 (devuelve múltiples imágenes a la vez) y resoluciones reales de 2K / 4K, cobrando por cada imagen, con un precio que es el doble del precio por defecto de gpt-image-2. Actualmente, solo está disponible a través del canal openai-hk; si la ruta no está disponible, devolverá un error directamente y no se degradará a la ruta inversa.
  • gpt-image-2:reverse: completamente equivalente al gpt-image-2 por defecto (ruta inversa), utilizado para declarar explícitamente que se utiliza la ruta inversa, sin cambios en el precio.
Las restricciones sobre el parámetro “n” que se mencionan a continuación solo se aplican a la ruta por defecto / inversa; gpt-image-2:official soporta n > 1 y cobra por imagen.

Valores soportados para size

gpt-image-2 solo verifica el formato de size, siempre que no sea auto o una cadena vacía, debe coincidir con WIDTHxHEIGHT (por ejemplo, 1024x1024, 2048x1152, 800x600); cualquier otra forma devolverá 400. Todos los tamaños (1K / 2K / 4K / personalizado) se cobran de manera uniforme por imagen, sin recargo por tamaño. Restricciones estrictas de la parte superior para tamaños personalizados: tanto el ancho como la altura deben ser múltiplos de 16, el lado más largo ≤ 3840, el número total de píxeles ≤ 8,294,400. Si se excede el rango, será rechazado por la parte superior y devolverá un 4xx.
También puedes pasar size: "auto" o omitir el campo size, en cuyo caso el modelo elegirá el tamaño predeterminado. En la categoría de 1K, la salida de la parte superior no garantiza un alineamiento de píxeles estricto: si pasas 1024x1024, podrías recibir 1254x1254, manteniendo la proporción. Si lo vuelves a pasar como size, el cobro no cambia. Las llamadas de 4K generalmente requieren de 4 a 8 minutos, se recomienda usarlo junto con el callback_url para callbacks asíncronos.
Sobre el parámetro n gpt-image-2 actualmente no soporta n > 1: este parámetro será ignorado silenciosamente, ya sea que pases n=1 o n=10, una sola solicitud solo devolverá 1 imagen y se cobrará solo por 1 imagen. Si necesitas obtener múltiples imágenes candidatas a la vez, por favor inicia múltiples solicitudes en paralelo (se recomienda pasar diferentes prompt o diferentes seed, de lo contrario, las imágenes obtenidas pueden ser muy similares). Esta limitación también se aplica a gpt-image-1 / gpt-image-1.5, así como a la serie nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro. dall-e-2 es actualmente el único modelo que soporta de forma nativa n > 1; dall-e-3 solo soporta n = 1.
A continuación, se presentan algunos ejemplos reales desde diferentes ángulos para experimentar visualmente la capacidad de gpt-image-2.

Escenario 1: Retrato cinematográfico

En las palabras clave se pueden utilizar términos cinematográficos (película de 35 mm, profundidad de campo reducida, luz de neón, etc.) para controlar con precisión la atmósfera y la textura. Código de ejemplo de llamada en Python:
El resultado devuelto es el siguiente:
La imagen generada es la siguiente:

Escena dos: Póster de viaje retro (con renderizado de texto)

gpt-image-2 muestra un rendimiento estable en tipografía y renderizado de fuentes, siendo muy adecuado para generar diseños con texto como carteles, menús, tarjetas de felicitación, etc.
La imagen correspondiente al campo url en el resultado devuelto es la siguiente:

Se puede ver que el modelo no solo reproduce con precisión el estilo visual del póster Art Deco, sino que el texto del título AMALFI y ITALIA 1958 se ha renderizado de manera clara y correcta.

Escena tres: Composición compleja y conteo

La siguiente frase se utiliza para probar la capacidad del modelo para seguir instrucciones estructuradas sobre “cantidad” y “posición”.
La imagen generada es la siguiente:

Se puede ver que la cantidad de libros en los tres estantes (1 / 3 / 7) coincide completamente con la frase, algo que era difícil de lograr de manera estable en la era de dall-e-3.

Escena cuatro: Estilo de ilustración (horizontal)

Al especificar el medio artístico y palabras clave de emoción, se puede guiar al modelo para producir ilustraciones estilizadas.
La ilustración horizontal generada es la siguiente:

Asincronía y devolución de llamada

gpt-image-2 generalmente requiere de 60 a 90 segundos por llamada, si no se desea mantener una conexión larga, se puede utilizar el mecanismo de devolución de llamada asíncrona callback_url que se describe más adelante en este artículo, el flujo de llamada es completamente consistente con otros modelos.

Serie de modelos Nano Banana

La serie nano-banana es un modelo de generación de imágenes basado en Gemini, que se ha integrado a través de la misma interfaz /openai/images/generations, sin necesidad de cambiar el endpoint, solo hay que cambiar el model a cualquiera de los que se enumeran a continuación.
Importante: Rango de soporte de parámetros Nano Banana se integra al protocolo de OpenAI a través de una capa de adaptación, en comparación con gpt-image-* solo admite los siguientes parámetros: model, prompt, size.
  • size se mapeará a aspect_ratio interno según la siguiente tabla, las dimensiones no listadas se degradarán a 1:1:
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • No se admiten parámetros como n, quality, style, response_format, background, output_format, etc.; si se ingresan, serán ignorados.
  • La estructura de retorno sigue el formato de OpenAI (data[].url), pero created es fijo en 0, y no se devolverá b64_json, revised_prompt siempre será igual al prompt original.

Llamada básica

El resultado devuelto es el siguiente:
生成的 imágenes se pueden acceder directamente a través del campo url devuelto:

Actualizar al modelo insignia nano-banana-pro

Solo necesita cambiar model a nano-banana-pro, los demás parámetros son completamente iguales:
Ejemplo de respuesta:

Callback asíncrono

El mecanismo de callback asíncrono callback_url también es efectivo para nano-banana, el flujo de llamada es completamente igual que con otros modelos, consulte la sección Callback asíncrono a continuación.

Uso básico

A continuación, puede completar el contenido correspondiente en la interfaz, como se muestra en la imagen:

La primera vez que use esta interfaz, necesitamos completar al menos tres contenidos, uno es authorization, que se puede seleccionar directamente en la lista desplegable. Otro parámetro es model, model es la categoría del modelo que elegimos usar del sitio oficial de OpenAI DALL-E, aquí tenemos principalmente 1 tipo de modelo, los detalles se pueden ver en los modelos que proporcionamos. El último parámetro es prompt, prompt es la palabra clave que ingresamos para generar la imagen. Al mismo tiempo, puede notar que a la derecha hay un código de llamada correspondiente generado, puede copiar el código y ejecutarlo directamente, o puede hacer clic en el botón “Try” para realizar pruebas.

Código de llamada de ejemplo en Python:
Después de la llamada, encontramos que el resultado devuelto es el siguiente:
El resultado devuelto tiene varios campos, que se describen a continuación:
  • created, ID de la generación de esta imagen, utilizado para identificar de manera única esta tarea.
  • data, que contiene la información del resultado de la generación de la imagen.
Donde data incluye la información específica de la imagen generada por el modelo, su url es el enlace detallado de la imagen generada, como se puede ver en la imagen.

Parámetro de calidad de imagen quality

A continuación, se presentará cómo configurar algunos parámetros detallados del resultado de la generación de imágenes, donde el parámetro de calidad de imagen quality incluye dos tipos, el primero standard indica que se genera una imagen estándar, el otro hd indica que la imagen creada tiene detalles más finos y mayor consistencia. A continuación, se establece el parámetro de calidad de imagen en standard, la configuración específica se muestra en la imagen a continuación:

Al mismo tiempo, puede notar que a la derecha hay un código de llamada correspondiente generado, puede copiar el código y ejecutarlo directamente, o puede hacer clic en el botón “Try” para realizar pruebas.

Código de llamada de ejemplo en Python:
Después de la llamada, encontramos que el resultado devuelto es el siguiente:
El resultado devuelto es consistente con el contenido del uso básico, se puede ver que la imagen generada con el parámetro de calidad de imagen standard es como se muestra en la imagen a continuación:

调用之后,我们发现返回结果如下:
返回的结果与基本使用的内容一致,可以看到图片链接的格式参数为 url 的生成图片如下图所示:

与上述相同操作,仅需将图片链接的格式参数为 b64_json ,可以得到如下图所示的图片: 可以看到 urlb64_json 生成的图片链接格式明显不同,具体使用方式请参考我们官网文档。
Después de la llamada, encontramos que el resultado devuelto es el siguiente:
El resultado devuelto es consistente con el contenido de uso básico, se puede ver que el enlace de la imagen con el parámetro de formato url de la imagen generada es Imagen URL esto se puede acceder directamente, el contenido de la imagen se muestra a continuación:

Con la misma operación anterior, solo se necesita cambiar el parámetro de formato del enlace de la imagen a b64_json, se puede obtener el enlace de la imagen codificado en Base64, el resultado específico se muestra a continuación:

Callback asíncrono

Dado que el tiempo de generación de imágenes de la API de OpenAI puede ser relativamente largo, si la API no responde durante mucho tiempo, la solicitud HTTP mantendrá la conexión, lo que provocará un consumo adicional de recursos del sistema, por lo que esta API también ofrece soporte para callbacks asíncronos. El flujo general es: cuando el cliente inicia la solicitud, se especifica un campo adicional callback_url, después de que el cliente inicia la solicitud de API, la API devolverá inmediatamente un resultado que contiene un campo de información task_id, que representa el ID de la tarea actual. Cuando la tarea se completa, el resultado de la imagen generada se enviará a la callback_url especificada por el cliente en formato JSON POST, que también incluye el campo task_id, de esta manera el resultado de la tarea se puede asociar a través del ID. A continuación, veamos un ejemplo para entender cómo operar específicamente. Primero, el callback de Webhook es un servicio que puede recibir solicitudes HTTP, los desarrolladores deben reemplazarlo con la URL de su propio servidor HTTP. Aquí, para facilitar la demostración, se utiliza un sitio web de muestra de Webhook público https://webhook.site/, al abrir este sitio se puede obtener una URL de Webhook, como se muestra en la imagen: Copie esta URL y podrá usarla como Webhook, el ejemplo aquí es https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab. A continuación, podemos establecer el campo callback_url a la URL de Webhook anterior, al mismo tiempo que llenamos los parámetros correspondientes, como se muestra en el siguiente código:
Al hacer clic en ejecutar, se puede encontrar que se obtiene inmediatamente un resultado, como se muestra a continuación:
Después de un momento, podemos observar el resultado de la imagen generada en la URL de Webhook, el contenido es el siguiente:
Se puede ver que en el resultado hay un campo task_id, el campo data contiene el mismo resultado de generación de imágenes que la llamada sincrónica, a través del campo task_id se puede lograr la asociación de la tarea.

Manejo de errores

Al llamar a la API, si se encuentra con un error, la API devolverá el código de error correspondiente y la información. Por ejemplo:
  • 400 token_mismatched:Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.
  • 400 api_not_implemented:Solicitud incorrecta, posiblemente debido a 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, algo salió mal en el servidor.

Ejemplo de respuesta de error

Conclusión

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