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

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, opcionalmente, imágenes de entrada. Utiliza modelos GPT Image, incluidos gpt-image-2.5-sunburst, gpt-image-2.5-flare, gpt-image-2, gpt-image-1.5, gpt-image-1 y gpt-image-1-mini, y optimiza automáticamente las entradas de texto para mejorar el rendimiento.

Configura model de la herramienta image_generation en gpt-image-2.5-sunburst para realizar ediciones precisas, o en gpt-image-2.5-flare para generar imágenes de alta calidad con rapidez. Usa un modelo principal compatible en el campo model de nivel superior de Responses.

Para obtener más información sobre la generación de imágenes, 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 como parte de la conversación, a partir de tu prompt y las imágenes de entrada que hayas proporcionado.

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

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 IDs de archivo o datos en base64.

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

Opciones de la herramienta

Puedes configurar las siguientes opciones de salida como 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 (0-100 %) para los formatos JPEG y WebP
  • Fondo: transparente, opaco o automático
  • Acción: indica si la solicitud debe elegir automáticamente, generar una imagen o editarla

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

En gpt-image-2.5-sunburst y gpt-image-2.5-flare, quality también acepta xhigh y max. Los modelos GPT Image anteriores no admiten estos valores. La calidad predeterminada sigue siendo auto.

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

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

Al usar la herramienta de generación de imágenes de la API Responses, los modelos GPT Image compatibles pueden elegir entre generar una imagen nueva o editar una que ya esté en la conversación. El parámetro opcional action controla este comportamiento: mantén action en auto para que el modelo elija entre generar o editar, o establécelo en generate o edit para forzar ese comportamiento. Si no se especifica, el valor predeterminado es auto.

Prompt revisado

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

Puedes acceder al 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 el diseño de 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 decir combine o merge, puedes decir algo como “edita la primera imagen y agrega este elemento de la segunda imagen”.

Edición en varios turnos

Puedes editar imágenes de forma iterativa haciendo referencia a IDs de respuestas o imágenes anteriores. Esto te permite perfeccionar las imágenes a lo largo de los 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 continua

La herramienta de generación de imágenes admite la transmisión continua de imágenes parciales mientras genera el resultado final. Esto permite que los usuarios vean avances más rápido y reduce la latencia percibida.

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

Transmitir una imagen de forma continua
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 admiten la herramienta de generación de imágenes:

  • gpt-5.5
  • gpt-5.4-mini
  • gpt-5.4-nano
  • gpt-5.2
  • gpt-5
  • gpt-5-nano
  • o3
  • gpt-4.1
  • gpt-4.1-mini
  • gpt-4.1-nano
  • gpt-4o
  • gpt-4o-mini