Imágenes

Edición de imágenes e imágenes de referencia

Dale a un modelo de imagenn fotos sobre las que trabajar: editar una foto, colocar un producto en una escena nueva, mantener un personaje igual entre tomas o combinar varias imágenes en una.

Dos formas de enviar imágenes

EndpointAceptaIdeal para
POST /v1/images/editsEl formulario multipart de OpenAI (archivos de imagen), o JSONLos SDK de OpenAI: client.images.edit(...)
POST /v1/images/generationsJSON con una lista de imagesCualquier cliente HTTP; imágenes como enlaces o data URLs

Ambos aceptan los mismos modelos, tamaños y precios que la generación. Una edición cuesta lo mismo que una imagen nueva de ese tamaño.

Cuántas imágenes acepta cada modelo

ModeloIDTamaños y preciosImágenes de referencia
Nano Banana 2.1nano-banana-2.11K $0.03 · 2K $0.04 · 4K $0.06hasta 14
Nano Banana Pronano-banana-pro1K y 2K $0.035 · 4K $0.065hasta 14
Nano Banana 2nano-banana-21K $0.025 · 2K $0.034 · 4K $0.058hasta 14
Nano Banana 2 Litenano-banana-2-lite1K $0.016hasta 14
GPT Image 2.5 Flaregpt-image-2.5-flare1K $0.028 · 2K $0.034 · 4K $0.045hasta 16
GPT Image 2.5 Sunburstgpt-image-2.5-sunburst1K $0.026 · 2K $0.034 · 4K $0.045hasta 16
GPT Image 2gpt-image-2$0.02 por imagenhasta 16
Grok Imagine Image 2.0grok-imagine-image-2.01K $0.045 · 2K $0.06hasta 3
FLUX 3 Imageflux-3-image1K $0.04 · 2K $0.05 · 4K $0.09hasta 1

Con los SDK de 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)

Como JSON

En cualquiera de los dos endpoints, enumera las imágenes en images como enlaces o data URLs (image con una sola imagen también 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())

Reglas para las imágenes de entrada

  • PNG, JPEG o WebP, de hasta 20 MB cada una.
  • Los enlaces deben ser URL https públicas; nosotros las descargamos. Un enlace que no se pueda descargar se rechaza con invalid_image antes de generar nada.
  • Haz referencia a las imágenes por su orden en el prompt: “la primera imagen”, “la segunda imagen”.
  • No se admiten máscaras. Describe el cambio en su lugar (“reemplaza solo el cielo”); estos modelos editan únicamente lo que nombras.
  • Si superas el límite de un modelo, la solicitud se rechaza con un error claro que indica el límite.

Qué probar

ObjetivoPatrón de prompt
Cambia una sola cosa«Cambia el coche a negro mate. Mantén todo lo demás igual.»
Nuevo fondo«Coloca a la persona de la imagen en una playa al atardecer, con la luz coherente.»
Producto en una escena«Pon el producto de la primera imagen en la estantería de la segunda.»
Mismo personaje, nueva toma«La misma mujer que en las referencias, ahora en bicicleta por París.»
Transferencia de estilo«Redibuja la primera imagen con el estilo de la segunda.»
Combina varias«Una foto de grupo de las seis personas de las imágenes, de pie en unas escaleras.»

¿Tienes dudas o falta algo? Escribe a nuestro equipo de soporte y te responderemos por email, normalmente en menos de un minuto.