For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal
Theme

Generación de imágenes

Permite que los modelos generen o editen imágenes.

La herramienta de generación de imágenes te permite generar imágenes a partir de un prompt de texto y, si lo deseas, de imágenes de entrada. Utiliza modelos GPT Image, entre ellos gpt-image-2.5-sunburst, gpt-image-2.5-flare, gpt-image-2, gpt-image-1.5 y gpt-image-1-mini, y optimiza automáticamente el texto de entrada para mejorar el rendimiento.

En la herramienta image_generation, configura model con el valor gpt-image-2.5-sunburst para editar con precisión o gpt-image-2.5-flare para generar imágenes de alta calidad rápidamente. Usa un modelo principal compatible en el campo model de nivel superior de la API Responses.

gpt-image-1 dejó de estar disponible el 23 de octubre de 2026. Consulta el aviso de retirada para conocer los detalles de la migración.

Para obtener más información, consulta nuestra guía de generación de imágenes.

Uso

Cuando incluyes la herramienta image_generation en tu solicitud, el modelo puede decidir cuándo y cómo generar imágenes durante la conversación a partir de tu prompt y de las imágenes de entrada que proporciones.

El resultado de la llamada image_generation_call incluirá una imagen codificada en base64.

Si tu aplicación atiende a usuarios finales individuales, incluye un safety_identifier estable que proteja la privacidad en cada solicitud de nivel superior a la API Responses, también cuando solicites ediciones posteriores. Este parámetro pertenece a la solicitud. La herramienta image_generation no lo admite como opción. Consulta la sección sobre identificadores de seguridad para imágenes para saber cómo usarlos en ambas API de imágenes.

Generar una imagen
from openai import OpenAI
import base64

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

# Save the image to a file
image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]
    with open("otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

Puedes proporcionar imágenes de entrada mediante ID de archivo o datos en base64.

Para forzar la llamada a la herramienta de generación de imágenes, configura el parámetro tool_choice con el valor {"type": "image_generation"}.

Opciones de la herramienta

Puedes configurar las siguientes opciones de salida mediante los parámetros de la herramienta de generación de imágenes:

  • Tamaño: dimensiones de la imagen, por ejemplo, 1024 × 1024 o 1024 × 1536
  • Calidad: calidad de renderizado, por ejemplo, baja, media o alta
  • Formato: formato del archivo de salida
  • Compresión: nivel de compresión (del 0 al 100 %) para los formatos JPEG y WebP
  • Fondo: transparente, opaco o automático
  • Acción: permite elegir entre generar una imagen, editarla o dejar que el modelo decida automáticamente

size, quality y background admiten el valor auto, que permite al modelo seleccionar automáticamente la mejor opción según el prompt.

Con gpt-image-2.5-sunburst y gpt-image-2.5-flare, el parámetro quality también acepta xhigh y max. Los modelos GPT Image anteriores no admiten estos valores. El valor predeterminado de calidad sigue siendo auto.

gpt-image-2 admite distintos valores de size que cumplan sus restricciones de resolución. Los fondos transparentes están disponibles en versión preliminar. Para solicitar uno, configura background: "transparent". Usa png (el formato predeterminado) o webp. El formato jpeg no admite fondos transparentes.

Para conocer más detalles sobre las opciones disponibles, consulta la guía de generación de imágenes.

Cuando usas la herramienta de generación de imágenes de la API Responses, los modelos GPT Image compatibles pueden elegir entre generar una imagen nueva y editar una que ya esté en la conversación. El parámetro opcional action controla este comportamiento. Deja action en auto para que el modelo elija si genera o edita la imagen, o selecciona generate o edit para forzar la acción correspondiente. Si omites el parámetro, el valor predeterminado es auto.

Prompt revisado

Cuando usas la herramienta de generación de imágenes, el modelo principal, por ejemplo, gpt-5.5, reformula automáticamente tu prompt para mejorar el rendimiento.

Puedes consultar el prompt revisado en el campo revised_prompt de la llamada de generación de imágenes:

{
  "id": "ig_123",
  "type": "image_generation_call",
  "status": "completed",
  "revised_prompt": "A gray tabby cat hugging an otter. The otter is wearing an orange scarf. Both animals are cute and friendly, depicted in a warm, heartwarming style.",
  "result": "..."
}

Consejos para redactar prompts

La generación de imágenes funciona mejor cuando usas términos como draw o edit en tu prompt.

Por ejemplo, si quieres combinar imágenes, en lugar de usar combine o merge, puedes escribir algo como “Edita la primera imagen y agrégale este elemento de la segunda”.

Edición en varios turnos

Puedes editar imágenes de forma iterativa usando el ID de una respuesta anterior o el de una imagen. Así puedes refinar las imágenes a lo largo de varios turnos de la conversación.

Generación de imágenes en varios turnos
from openai import OpenAI
import base64

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate an image of gray tabby cat hugging an otter with an orange scarf",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

image_data = [
    output.result
    for output in response.output
    if output.type == "image_generation_call"
]

if image_data:
    image_base64 = image_data[0]

    with open("cat_and_otter.png", "wb") as f:
        f.write(base64.b64decode(image_base64))


# Follow up

response_fwup = client.responses.create(
    model="gpt-6-astra",
    previous_response_id=response.id,
    input="Now make it look realistic",
    tools=[{"type": "image_generation", "model": "gpt-image-2.5-sunburst"}],
)

image_data_fwup = [
    output.result
    for output in response_fwup.output
    if output.type == "image_generation_call"
]

if image_data_fwup:
    image_base64 = image_data_fwup[0]
    with open("cat_and_otter_realistic.png", "wb") as f:
        f.write(base64.b64decode(image_base64))

Transmisión progresiva

La herramienta de generación de imágenes puede transmitir imágenes parciales mientras genera el resultado final. Así, los usuarios ven los primeros resultados antes y perciben una menor latencia.

Puedes definir la cantidad de imágenes parciales (de 1 a 3) con el parámetro partial_images.

Transmitir una imagen de forma progresiva
from openai import OpenAI
import base64

client = OpenAI()


def save_base64_image(filename, image_base64):
    image_bytes = base64.b64decode(image_base64)
    with open(filename, "wb") as f:
        f.write(image_bytes)


stream = client.responses.create(
    model="gpt-6-astra",
    input="Draw a gorgeous image of a river made of white owl feathers, snaking its way through a serene winter landscape",
    stream=True,
    tools=[
        {"type": "image_generation", "model": "gpt-image-2.5-sunburst", "partial_images": 2}
    ],
)

for event in stream:
    if event.type == "response.image_generation_call.partial_image":
        idx = event.partial_image_index
        save_base64_image(f"river-partial-{idx}.png", event.partial_image_b64)
    elif event.type == "response.completed":
        image_data = [
            output.result
            for output in event.response.output
            if output.type == "image_generation_call"
        ]

        if image_data:
            save_base64_image("river-final.png", image_data[0])

Modelos compatibles

Los siguientes modelos siguen vigentes y cuentan con compatibilidad documentada con la herramienta de generación de imágenes de la API Responses. Usa sus ID en el campo model de nivel superior. Consulta la página de cada modelo para conocer su disponibilidad y los requisitos de acceso.

Para consultar la disponibilidad de los modelos y las fechas de retirada, visita la página de modelos en desuso.