Imagens

Edição de imagemns e imagens de referência

Forneça imagemns a um modelo de imagem para usar como base: edite uma fotografia, coloque um produto num novo cenário, mantenha uma personagem consistente entre imagens ou combine várias imagens numa só.

Duas formas de enviar imagens

EndpointAceitaIndicado para
POST /v1/images/editsFormulário multipart da OpenAI (ficheiros de imagem), ou JSONSDKs da OpenAI: client.images.edit(...)
POST /v1/images/generationsJSON com uma lista imagesQualquer cliente HTTP; imagens como ligações ou URLs de dados

Ambos aceitam os mesmos modelos e tamanhos, com os mesmos preços da geração. Uma edição custa o mesmo que uma nova imagem desse tamanho.

Quantas imagens aceita cada modelo

ModeloIDTamanhos e preçosImagens de referência
Nano Banana 2.1nano-banana-2.11K $0.03 · 2K $0.04 · 4K $0.06até 14
Nano Banana Pronano-banana-pro1K e 2K $0.035 · 4K $0.065até 14
Nano Banana 2nano-banana-21K $0.025 · 2K $0.034 · 4K $0.058até 14
Nano Banana 2 Litenano-banana-2-lite1K $0.016até 14
GPT Image 2.5 Flaregpt-image-2.5-flare1K $0.028 · 2K $0.034 · 4K $0.045até 16
GPT Image 2.5 Sunburstgpt-image-2.5-sunburst1K $0.026 · 2K $0.034 · 4K $0.045até 16
GPT Image 2gpt-image-2$0.02 por imagematé 16
Grok Imagine Image 2.0grok-imagine-image-2.01K $0.045 · 2K $0.06até 3
FLUX 3 Imageflux-3-image1K $0.04 · 2K $0.05 · 4K $0.09até 1

Com os SDKs da OpenAI

import os
from openai import OpenAI
client = OpenAI(base_url="https://api.zurelay.com/v1", api_key=os.environ["ZURELAY_API_KEY"])
result = client.images.edit(
model="gpt-image-2",
image=[open("product.png", "rb"), open("background.jpg", "rb")],
prompt="Put the bottle from the first image on the marble counter in the second. Keep its label exactly.",
)
print(result.data[0].url)

Em JSON

Em qualquer um dos endpoints, liste as imagens em images como ligações ou URLs de dados (image com uma única imagem também funciona):

import os
import requests
response = requests.post(
"https://api.zurelay.com/v1/images/generations",
headers={"Authorization": f"Bearer {os.environ['ZURELAY_API_KEY']}"},
json={
"model": "nano-banana-pro",
"prompt": "Make the jacket in the first image deep green, and give the model the pose from the second.",
"images": [
"https://example.com/model.jpg",
"data:image/png;base64,iVBORw0KGgo..."
],
"size": "2K",
"aspect_ratio": "4:5"
},
)
response.raise_for_status()
print(response.json())

Regras para imagens de entrada

  • PNG, JPEG ou WebP, até 20 MB por imagem.
  • As ligações têm de ser URLs https públicos; descarregamos as imagens diretamente. Se não for possível descarregar uma imagem, o pedido é recusado com invalid_image antes de se gerar qualquer conteúdo.
  • Refira-se às imagens pela ordem em que aparecem no prompt: “a primeira imagem”, “a segunda imagem”.
  • Não são suportadas máscaras. Descreva antes a alteração (“substitua apenas o céu”); estes modelos editam apenas o que indicar.
  • Se ultrapassar o limite de um modelo, o pedido é recusado com um erro claro que indica esse limite.

O que experimentar

ObjetivoExemplo de prompt
Editar um elemento“Mude a cor do carro para preto mate. Mantenha tudo o resto igual.”
Novo fundo“Coloque a pessoa da imagem numa praia ao pôr do sol, ajustando a iluminação.”
Produto numa cena“Coloque o produto da primeira imagem na prateleira da segunda.”
A mesma personagem, nova cena“A mesma mulher das imagens de referência, agora a andar de bicicleta em Paris.”
Transferência de estilo“Redesenhe a primeira imagem no estilo da segunda.”
Combinar várias imagens“Uma fotografia de grupo das seis pessoas das imagens, de pé numa escadaria.”

Tem dúvidas ou falta alguma coisa? Contacte a nossa equipa de apoio e responderemos por email, normalmente num minuto.