Pular para o conteúdo principal

API GPT-Image-1: Um guia passo a passo com exemplos

Saiba como gerar e editar imagens com a API GPT-Image-1, incluindo configuração, uso de parâmetros e exemplos práticos, como mascaramento e combinação de várias imagens.
Atualizado 1 de mai. de 2025  · 12 min lido

Há algumas semanas, o ChatGPT se tornou viral com seu novo modelo de geração de imagens. Esse modelo é, de longe, o melhor que já vi. Sua capacidade de editar imagens é o que o diferencia. Ele é incrivelmente preciso e torna extremamente fácil dar vida à imaginação. Outros modelos também podem fazer isso, mas não com o mesmo grau de precisão.

Gerar imagens em sua interface é fácil, pois só precisamos fornecer um prompt de texto. No entanto, como programador, eu estava ansioso para que ele viesse para a API, de modo que eu pudesse interagir com ele de forma programática. Esse dia finalmente chegou, e estou escrevendo este blog para ensinar a você como usá-lo com Python.

Se você estiver interessado apenas em aprender a usá-lo na interface de bate-papo, escrevi anteriormente este Guia de geração de imagens GPT-4o com oito exemplos práticos.

Desenvolver aplicativos de IA

Aprenda a criar aplicativos de IA usando a API OpenAI.
Comece a treinar gratuitamente

Configuração da API GPT-Image-1

O novo modelo de imagem GPT é protegido, o que significa que são necessárias verificações adicionais para que você possa usá-lo. Nesta seção, descreveremos como configurar a API. Se você já tiver uma chave de API, poderá pular a primeira etapa.

Etapa 1: Gerar uma chave de API

A primeira etapa é gerar uma chave de API. Podemos criar uma fazendo login na plataforma deles e navegando até a página página de chaves de API. Em seguida, clicamos no botão "Create new secret key" (Criar nova chave secreta).

Depois que a chave for gerada, crie um arquivo chamado .env e copie-o com o seguinte formato:

OPENAI_API_KEY=<paste_your_api_key_here>

Etapa 2: Verificação de nossa organização

Uma grande diferença em relação aos outros modelos da OpenAI é que, ao usar a API de imagem GPT, você precisa verificar nossa organização. A razão para isso é que a GPT-Image-1 pode gerar imagens realistas e detalhadas, o que levanta preocupações sobre o possível uso indevido, como a criação de deepfakes ou conteúdo inadequado. Ao verificar as organizações, a OpenAI pode monitorar melhor o uso e aplicar suas políticas de segurança.

Você pode verificar sua organização mesmo que não tenha uma empresa. No entanto, observe que esse processo exige que você forneça seu documento de identidade oficial e conclua a verificação facial.

Para realizar a verificação, navegue até a guia guia geral na plataforma da API da OpenAI e clique no botão na seção "Verificações".

O processo é realizado por um terceiro e consiste em:

  1. Carregamento de uma imagem de um documento de identificação.
  2. Use a câmera do seu dispositivo móvel para verificar se a sua identidade corresponde ao documento fornecido.

O processo leva apenas alguns minutos para ser concluído e, em seguida, cerca de 15 minutos para ser processado.

Configuração do Python

Para este tutorial, instalaremos os seguintes pacotes Python:

  • openai: O pacote oficial da OpenAI que nos permite interagir com sua API.
  • dotenv: Um pacote Python que facilita o carregamento seguro da chave de API do arquivo .env que criamos acima.

Você pode instalá-los usando o comando:

pip install openai dotenv

Geração de nossa primeira imagem com a GPT-Image-1

Vamos ver como você pode gerar uma imagem com gpt-image-1. Comece criando um novo arquivo Python, por exemplo, generate_image.py, na mesma pasta que o arquivo .env.

Em seguida, importe os pacotes necessários:

# Import the packages
from openai import OpenAI
from dotenv import load_dotenv
import os
import base64
import time

Observe que os e base64 são pacotes integrados do Python e não precisam ser instalados.

Em seguida, carregamos a chave da API e inicializamos o cliente OpenAI:

# Load the API key
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
# Initialize the OpenAI client
client = OpenAI(api_key=api_key)

Em seguida, pedimos ao usuário que insira um prompt de texto usando a função integrada input() e enviamos uma solicitação de geração de imagem para a API:

# Ask the user to input a prompt in the terminal
print("What do you want to generate?")
prompt = input("> ")
print("Generating image...")
# Send the prompt to the API
img = client.images.generate(
  model="gpt-image-1",
  prompt=prompt,
  background="auto",
  n=1,
  quality="high",
  size="1024x1024",
  output_format="png",
  moderation="auto",
)

Por fim, salvamos a imagem gerada em um arquivo:

# Save the image into a file
image_bytes = base64.b64decode(img.data[0].b64_json)
with open(f"output_{int(time.time())}.png", "wb") as f:
  f.write(image_bytes)

O roteiro completo pode ser encontrado aqui. Para executar esse script, use o comando:

python generate_image.py

Aqui está um exemplo com o resultado:

Exemplo de execução do gpt-image-1 por meio da API

GPT-Image 1-parâmetros

Nesta seção, descrevemos os parâmetros mais relevantes do modelo gpt-image-1:

  • prompt: A instrução textual que descreve a imagem que queremos que o modelo gere.
  • background: O tipo de plano de fundo da imagem. Ele deve ser um dos seguintes: "transparent", "opaque" ou "auto". O valor padrão é "auto", no qual o modelo decidirá, com base no conteúdo, qual é o melhor tipo de plano de fundo. Observe que as imagens JPEG não são compatíveis com fundos transparentes.
  • n: O número de imagens a serem geradas. Deve ser um número de 1 a 10.
  • quality: A qualidade da imagem gerada. Deve ser um dos endereços "high", "medium" ou "low", sendo que o padrão é "high".
  • size: O tamanho da imagem em pixels. Ele deve ser um dos seguintes: "1024x1024" (quadrado), "1536x1024" (paisagem), "1024x1536" (retrato).
  • output_format: O formato da imagem. Ele deve ser um dos seguintes: "png", "jpeg" ou "webp". O padrão é "png".
  • moderation: O nível de moderação de conteúdo. Deve ser "low" para um filtro menos restritivo ou "auto", que é o padrão.

Cobrimos os parâmetros mais importantes disponíveis para o modelo gpt-image-1. Para obter mais detalhes e uma lista completa de parâmetros, consulte a documentação oficial da API.

Efeitos do parâmetro de qualidade

Aqui está uma comparação lado a lado de imagens geradas usando o mesmo prompt com qualidades diferentes:

Efeito da qualidade em imagens fotorrealistas usando gpt-image-1

Vemos que o primeiro gato (com a qualidade mais baixa) tem alguns artefatos ao redor dos olhos e que a imagem se torna significativamente mais realista à medida que a qualidade aumenta.

Aqui está outro exemplo com uma saída em estilo de desenho animado:

Efeito da qualidade nos desenhos na geração do gpt-image-1

Nesse caso, também notamos que quanto maior a qualidade, mais polida é a imagem. Na minha opinião, porém, isso é menos relevante para o conteúdo que não deve ser realista.

Lembre-se de que quanto maior for a qualidade, maior será o custo e o tempo de computação, portanto, é uma boa ideia encontrar um bom equilíbrio, dependendo do caso de uso. Eu recomendaria que você experimentasse os parâmetros de baixo a alto para ver o valor mínimo que oferece resultados aceitáveis para cada caso de uso.

Parâmetro de fundo

Em meus experimentos, descobri que o modelo ignorava principalmente esse parâmetro. Aqui estão exemplos lado a lado em que variei os parâmetros do background e as instruções de transparência no prompt:

Exemplos de transparência de fundo no gpt-image-1

No primeiro exemplo, o parâmetro de transparência foi ignorado. Na segunda, adicionei as instruções de transparência ao prompt e funcionou um pouco melhor. No último, solicitei um plano de fundo opaco, mas especifiquei que queria um adesivo no prompt e recebi um plano de fundo transparente.

Ainda recomendo usar o parâmetro para corresponder ao que você deseja, mas certifique-se de especificar também o resultado desejado no prompt para reforçá-lo.

Edição de imagens com GPT-Image-1

Como mencionei na introdução, a parte mais interessante do GPT-Image-1 é sua capacidade de editar imagens. Vamos começar aprendendo como solicitar que ele edite uma imagem e, em seguida, explorar alguns casos de uso.

Para editar imagens, a maior parte do código pode ser reutilizada. A única parte que muda é que, em vez de usar a função client.images.generate(), usamos a função client.images.edit().

Aqui está um exemplo:

img = client.images.edit(
  model="gpt-image-1",
  image=[
    open("my-image.jpg", "rb"),
  ],
  prompt=prompt,
  n=1,
  quality="high",
  size="1024x1536",
)

O novo parâmetro é image. Essa é uma lista de imagens de entrada a serem usadas na edição. Nesse caso, fornecemos apenas uma imagem chamada my-image.jpg localizada na mesma pasta do script.

Aqui está um exemplo de uso do GPT Image 1 para editar uma de minhas fotos:

Exemplo de edição de uma imagem com o gpt-image-1

Observe que, como a imagem original tem uma proporção de retrato, usei o tamanho de retrato 1024x1536. No entanto, essa não é a mesma proporção da imagem original. Mesmo no modo de edição, o modelo só pode produzir imagens nos três tamanhos especificados acima.

O script de edição completo pode ser encontrado aqui.

Usando máscaras

O modo de edição fornece um parâmetro mask que pode ser usado para especificar as áreas em que a imagem deve ser editada. A máscara deve ser uma imagem PNG de no máximo 4 MB e ter o mesmo tamanho da imagem. As áreas com 100% de transparência correspondem às áreas que o GPT Image 1 tem permissão para editar.

Fornecemos a máscara da mesma forma que a imagem, exceto pelo fato de não ser uma lista nesse caso:

img = client.images.edit(
  model="gpt-image-1",
  image=[
    open(sys.argv[1], "rb"),
  ],
  # We provide the mask like this
  mask=open("mask.png", "rb"),
  prompt=prompt,
  n=1,
  quality="high",
  size="1536x1024",
)

No entanto, quando experimentei, não funcionou muito bem, e vi relatos on-line de pessoas com problemas semelhantes.

Aqui está um exemplo:

Exemplo de como usar o mascaramento com a imagem 1 do GPT

Também tentei usá-lo para adicionar elementos em locais específicos, mas não funcionou de forma consistente. Assim como o uso do parâmetro background para geração de imagens, descobri que descrever o que quero no prompt funciona melhor.

Uso de várias imagens

O modelo pode processar e combinar várias imagens de uma só vez. No exemplo abaixo, usamos esse recurso para criar um pôster de marketing combinando as imagens dessas três bebidas individuais:

Combinação de várias fotos no gpt-image-1

Fornecemos as três imagens como uma lista no parâmetro image, como segue:

prompt = """
Create a vibrant and eye-catching marketing poster to 
promote the cold drinks offerings at our coffee shop.
"""

img = client.images.edit(
  model="gpt-image-1",
  # We can provide multiple images at once
  image=[
    open("latte.png", "rb"),
    open("americano.png", "rb"),
    open("icetea.png", "rb"),
  ],
  prompt=prompt,
  size="1536x1024",
)

Aqui está o resultado:

Resultado da combinação de várias fotos com gpt-image-1

Preços da GPT-Image-1

A geração de imagens é cobrada com base em:

  1. O número de tokens no prompt de texto.
  2. O número de tokens nas imagens de entrada.
  3. O número de tokens na imagem de saída.

Informações de preço do token com gpt-image-1

Às vezes é difícil ter uma ideia do que esses custos representam porque não sabemos em quantos tokens uma imagem consiste. 

Como as dimensões das imagens de saída são conhecidas, sabemos quantos tokens são necessários para cada uma delas, portanto, podemos fornecer valores precisos para o preço dos tokens da imagem de saída (que é a parte mais cara):

Informações de preço de saída com gpt-image-1

Esse preço depende da qualidade da imagem e do tamanho. Para obter mais detalhes, consulte a página de preços do Página de preços da imagem GPT 1.

Quando geramos uma imagem, a API retorna o número de tokens usados, de modo que podemos combiná-lo com as informações acima para saber exatamente quanto custa. 

Podemos exibir a quantidade de tokens usados imprimindo o campo usage do resultado:

img = client.images.generate(
  model="gpt-image-1",
  prompt=prompt,
  background="transparent",
  n=1,
  quality="medium",
  size="1024x1024",
  moderation="auto",
  output_format="png",
)
# Add this to see the usage
print("Prompt tokens:", img.usage.input_tokens_details.text_tokens)
print("Input images tokens:", img.usage.input_tokens_details.image_tokens)
print("Output image tokens:", img.usage.output_tokens)

Saída:

Prompt tokens: 8
Input images tokens: 0
Output image tokens: 272

Conclusão

Apesar de algumas deficiências da API, como o mascaramento e a transparência não serem suficientemente confiáveis, o modelo pode executar com alta precisão as instruções fornecidas no prompt.

Acho que esse modelo abre muitas possibilidades de construção em torno dele. Neste tutorial, você aprendeu os conceitos básicos de como usá-lo. Aqui estão algumas ideias que você pode querer explorar para desenvolver o que aprendeu aqui:

  • Simplificando a conversão de fotos de alimentos tiradas por telefone em belas fotografias de alimentos para serem usadas por restaurantes em seus cardápios.
  • Com base na foto de um amigo ou em uma selfie, crie um pacote de adesivos que expresse várias emoções para ser usado em aplicativos de bate-papo.
  • Crie uma ferramenta que, com base nas descrições de cenas individuais, crie uma tira de história em quadrinhos a partir dessas cenas.

François Aubry's photo
Author
François Aubry
LinkedIn
Engenheiro de pilha completa e fundador da CheapGPT. Ensinar sempre foi minha paixão. Desde meus primeiros dias como estudante, eu buscava ansiosamente oportunidades para dar aulas particulares e ajudar outros alunos. Essa paixão me levou a fazer um doutorado, onde também atuei como assistente de ensino para apoiar meus esforços acadêmicos. Durante esses anos, encontrei imensa satisfação no ambiente tradicional da sala de aula, promovendo conexões e facilitando o aprendizado. Entretanto, com o advento das plataformas de aprendizagem on-line, reconheci o potencial transformador da educação digital. Na verdade, participei ativamente do desenvolvimento de uma dessas plataformas em nossa universidade. Estou profundamente comprometido com a integração dos princípios tradicionais de ensino com metodologias digitais inovadoras. Minha paixão é criar cursos que não sejam apenas envolventes e informativos, mas também acessíveis aos alunos nesta era digital.
Tópicos

Aprenda IA com estes cursos!

Programa

Developing AI Applications

0 min
Learn to create AI-powered applications with the latest AI developer tools, including the OpenAI API, Hugging Face, and LangChain.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
An avian AI exits its cage

blog

12 Alternativas de código aberto ao GPT-4

GPT-4 alternativas de código aberto que podem oferecer desempenho semelhante e exigem menos recursos computacionais para serem executadas. Esses projetos vêm com instruções, fontes de código, pesos de modelos, conjuntos de dados e interface de usuário do chatbot.
Abid Ali Awan's photo

Abid Ali Awan

9 min

blog

Os 10 melhores GPTs personalizados na GPT Store

Explore os melhores GPTs personalizados que vimos até agora na loja GPT, desde ferramentas de ciência de dados até assistentes de SEO e geração de imagens.
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

10 min

blog

Tudo o que sabemos sobre o GPT-5

Saiba como o GPT-5 evoluirá para um sistema unificado com recursos avançados, visando um lançamento no verão de 2025, com base no mais recente roteiro da OpenAI e no histórico do GPT.
Josep Ferrer's photo

Josep Ferrer

8 min

Tutorial

Visão GPT-4: Um guia abrangente para iniciantes

Este tutorial apresentará tudo o que você precisa saber sobre o GPT-4 Vision, desde o acesso a ele, passando por exemplos práticos do mundo real, até suas limitações.
Arunn Thevapalan's photo

Arunn Thevapalan

12 min

Tutorial

Guia para iniciantes no uso da API do ChatGPT

Este guia o orienta sobre os conceitos básicos da API ChatGPT, demonstrando seu potencial no processamento de linguagem natural e na comunicação orientada por IA.
Moez Ali's photo

Moez Ali

11 min

Tutorial

Um guia para iniciantes na engenharia de prompts do ChatGPT

Descubra como fazer com que o ChatGPT forneça os resultados que você deseja, fornecendo a ele as entradas necessárias.
Matt Crabtree's photo

Matt Crabtree

6 min

Ver maisVer mais