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
Theme

Geração de imagens

Permita que os modelos gerem ou editem imagens.

A ferramenta de geração de imagens permite criar imagens a partir de um prompt de texto. Você também pode fornecer imagens de entrada. A ferramenta usa modelos GPT Image, incluindo gpt-image-2.5-sunburst, gpt-image-2.5-flare, gpt-image-2, gpt-image-1.5 e gpt-image-1-mini, e otimiza automaticamente o texto de entrada para melhorar o desempenho.

Na ferramenta image_generation, defina model como gpt-image-2.5-sunburst para fazer edições precisas ou como gpt-image-2.5-flare para gerar imagens de alta qualidade com rapidez. No campo model de nível superior da requisição à API Responses, use um modelo compatível da linha principal.

O modelo gpt-image-1 foi desativado em 23 de outubro de 2026. Consulte o aviso de descontinuação para obter detalhes sobre a migração.

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

Uso

Ao incluir a ferramenta image_generation na requisição, você permite que o modelo decida quando e como gerar imagens durante a conversa com base no prompt e nas imagens de entrada que você fornecer.

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

Se o seu aplicativo atende usuários finais individualmente, inclua um safety_identifier estável que preserve a privacidade em cada requisição à API Responses, inclusive nas requisições de edição posteriores. Defina esse parâmetro no nível superior da requisição, fora das opções da ferramenta image_generation. Consulte a seção sobre identificadores de segurança para imagens para obter orientações sobre as duas APIs de imagens.

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 à ferramenta de geração de imagens, defina o parâmetro tool_choice como {"type": "image_generation"}.

Opções da ferramenta

Use os parâmetros da ferramenta de geração de imagens para configurar as seguintes opções de saída:

  • Tamanho: dimensões da imagem, como 1024 × 1024 ou 1024 × 1536
  • Qualidade: qualidade da renderização, como baixa, média ou alta
  • Formato: formato do arquivo de saída
  • Compressão: nível de compressão (de 0 a 100%) para os formatos JPEG e WebP
  • Fundo: transparente, opaco ou automático
  • Ação: permite que o modelo escolha entre gerar e editar uma imagem ou que você especifique qual dessas ações executar

Os parâmetros size, quality e background aceitam o valor auto. Com esse valor, o modelo seleciona automaticamente a melhor opção com base no prompt.

Nos modelos gpt-image-2.5-sunburst e gpt-image-2.5-flare, o parâmetro quality também aceita xhigh e max. Os modelos GPT Image anteriores não aceitam esses valores. A qualidade padrão continua sendo auto.

O modelo gpt-image-2 aceita diferentes valores de size, desde que atendam às restrições de resolução do modelo. O suporte a fundos transparentes está disponível em versão prévia. Para solicitar um fundo transparente, use background: "transparent". Use png (o padrão) ou webp, pois o formato jpeg não oferece suporte a fundos transparentes.

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

Na ferramenta de geração de imagens da API Responses, os modelos GPT Image compatíveis podem decidir se geram uma nova imagem ou editam uma imagem já presente na conversa. O parâmetro opcional action controla esse comportamento. Mantenha action em auto para que o modelo decida entre gerar e editar, ou defina o valor como generate ou edit para forçar a ação correspondente. Se você omitir o parâmetro, o valor padrão será auto.

Prompt revisado

Quando você usa a ferramenta de geração de imagens, o modelo da linha principal, como o gpt-5.5, revisa automaticamente o 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 escrever prompts

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

Por exemplo, para combinar imagens, em vez de usar combine ou merge, você pode dizer algo como “Edite a primeira imagem e acrescente este elemento da segunda imagem”.

Edição em várias etapas

Você pode editar imagens em etapas sucessivas usando os IDs de respostas ou imagens anteriores. Assim, é possível refinar as imagens ao longo da conversa.

Gerar imagens em várias etapas
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 pode transmitir imagens parciais enquanto gera o resultado final. Assim, os usuários veem o progresso mais cedo, o que reduz a latência percebida.

Use o parâmetro partial_images para definir o número de imagens parciais (de 1 a 3).

Transmitir uma imagem
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 modelos a seguir têm suporte documentado à ferramenta de geração de imagens da API Responses e não estão marcados para descontinuação. Use os IDs desses modelos no campo model de nível superior. Consulte a página de cada modelo para verificar a disponibilidade e os requisitos de acesso.

Para verificar a disponibilidade dos modelos e as datas de desativação, consulte Descontinuações.