For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal

Geração de imagens

Permita que os modelos gerem ou editem imagens.

A ferramenta de geração de imagens permite gerar imagens usando um prompt de texto e, opcionalmente, imagens de entrada. Ela usa modelos GPT Image, incluindo gpt-image-2.5-sunburst, gpt-image-2.5-flare, gpt-image-2, gpt-image-1.5, gpt-image-1 e gpt-image-1-mini, e otimiza automaticamente as entradas de texto para melhorar o desempenho.

Defina model da ferramenta image_generation como gpt-image-2.5-sunburst para edições precisas ou como gpt-image-2.5-flare para gerar imagens rapidamente e com alta qualidade. Use um modelo principal compatível no campo model de nível superior da API Responses.

Para saber mais sobre geração de imagens, consulte nosso guia de geração de imagens.

Uso

Ao incluir a ferramenta image_generation na sua solicitação, o modelo pode decidir quando e como gerar imagens durante a conversa, usando seu prompt e as imagens de entrada fornecidas.

O resultado da chamada de ferramenta image_generation_call incluirá uma imagem codificada em base64.

Gerar uma imagem
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))

Você pode fornecer imagens de entrada usando IDs de arquivos ou dados em base64.

Para forçar a chamada da ferramenta de geração de imagens, você pode definir o parâmetro tool_choice como {"type": "image_generation"}.

Opções da ferramenta

Você pode configurar as seguintes opções de saída como parâmetros da ferramenta de geração de imagens:

  • Tamanho: dimensões da imagem, por exemplo, 1024 × 1024 ou 1024 × 1536
  • Qualidade: qualidade de renderização, por exemplo, baixa, média ou alta
  • Formato: formato do arquivo de saída
  • Compressão: nível de compressão (0-100%) para os formatos JPEG e WebP
  • Fundo: transparente, opaco ou automático
  • Ação: define se a solicitação deve escolher automaticamente a ação, gerar uma imagem ou editar uma imagem

size, quality e background aceitam a opção auto, com a qual o modelo seleciona automaticamente a melhor opção com base no prompt.

Para gpt-image-2.5-sunburst e gpt-image-2.5-flare, quality também aceita xhigh e max. Esses valores não são compatíveis com modelos GPT Image anteriores. A qualidade padrão continua sendo auto.

O gpt-image-2 aceita valores flexíveis de size que atendam às suas restrições de resolução. Fundos transparentes estão disponíveis em versão prévia; configure background: "transparent" para solicitar um. Use png (o padrão) ou webp; jpeg não é compatível com fundos transparentes.

Para mais detalhes sobre as opções disponíveis, consulte o guia de geração de imagens.

Ao usar a ferramenta de geração de imagens da API Responses, os modelos GPT Image compatíveis podem escolher entre gerar uma nova imagem ou editar uma imagem já presente na conversa. O parâmetro opcional action controla esse comportamento: mantenha action definido como auto para que o modelo escolha entre gerar ou editar, ou defina-o como generate ou edit para forçar o comportamento correspondente. Se não for especificado, o padrão será auto.

Prompt revisado

Ao usar a ferramenta de geração de imagens, o modelo principal, por exemplo, gpt-5.5, revisará automaticamente seu prompt para melhorar o desempenho.

Você pode acessar o prompt revisado no campo revised_prompt da chamada de geração de imagens:

{
  "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": "..."
}

Dicas para criação de prompts

A geração de imagens funciona melhor quando você usa termos como draw ou edit no prompt.

Por exemplo, se quiser combinar imagens, em vez de dizer combine ou merge, você pode dizer algo como "edite a primeira imagem adicionando este elemento da segunda imagem".

Edição em múltiplas interações

Você pode editar imagens de forma iterativa referenciando IDs de respostas ou imagens anteriores. Isso permite refinar as imagens ao longo das interações na conversa.

Geração de imagens em múltiplas interações
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))

Streaming

A ferramenta de geração de imagens permite transmitir imagens parciais por streaming enquanto gera o resultado final. Isso oferece um retorno visual mais rápido aos usuários e reduz a latência percebida.

Você pode definir o número de imagens parciais (1-3) com o parâmetro partial_images.

Transmitir uma imagem por streaming
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 compatíveis

Os seguintes modelos são compatíveis com a ferramenta de geração de imagens:

  • 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