Guía de uso
gpt-image-2 para imágenes de producto de e-commerce: flujo de trabajo por lotes en hiapi
Usa la API de tareas gpt-image-2/text-to-image de hiapi para generar imágenes de listado limpias sobre fondo blanco, variantes de ángulo/detalle y escenas de lifestyle para todo tu catálogo de productos: imágenes reproducidas de verdad, precios verificados de $0.03 por imagen y scripts por lotes listos para copiar y pegar.
TL;DR
- Qué es: un flujo de trabajo ejecutable y reproducible que usa
gpt-image-2/text-to-imageen hiapi para generar imágenes de producto de e-commerce. Cada imagen de esta página se renderizó con el prompt original que aparece junto a ella: sin fotos de archivo, sin demos prestadas. - Un modelo, tres usos: imágenes de catálogo limpias sobre fondo blanco, variantes de ángulo/detalle del mismo producto y escenas de lifestyle, todo desde la misma interfaz de tareas de texto a imagen.
- Datos de la API (verificados en la plataforma):
gpt-image-2/text-to-imagese ejecuta en una interfaz de tareas asíncrona (/v1/tasks). El objetoinputrequiereprompt,aspect_ratio(1:1para listados,4:5para redes sociales,16:9para banners) yresolution(1K/2K/4K). La imagen resultante se encuentra enoutput[0].url. - Precio:
gpt-image-2/text-to-imagecuesta una tarifa plana de $0.03 por imagen. Un catálogo de 20 SKU con 3 imágenes por producto son 60 imágenes y cuesta $1.80. Consulta los precios en tiempo real en la página de precios. - Cómo ejecutarlo: haz POST a la API de tareas, sondea hasta que el estado sea
successy luego descarga la imagen desdeoutput[0].url; esa URL caduca, así que guarda los bytes de inmediato. Al final se incluyen los scripts completos de envío/sondeo/descarga listos para copiar y pegar, además del bucle por lotes.
Por qué usar gpt-image-2 para imágenes de producto
El pipeline de imágenes de producto tiene una especificación aburrida pero estricta: el mismo producto, presentación limpia, fondo consistente y una relación de aspecto apta para listados. gpt-image-2/text-to-image encaja en esto por tres razones.
Primero, mantiene estable la descripción del producto a lo largo de un lote de tareas: describes el artículo una vez, reutilizas esa descripción y solo cambias el ángulo de cámara. Esto es justo la clave para convertir «una imagen principal» en un conjunto completo de imágenes de listado.
Segundo, es una tarea asíncrona por imagen. Envías la tarea, sondeas el id de la tarea y recuperas el archivo terminado, usando el mismo protocolo de tareas que todos los demás modelos generativos de hiapi, así que si ya estás llamando a otros modelos, el flujo de control aquí es idéntico.
Tercero, es lo bastante barato como para iterar repetidamente. A $0.03 por imagen, puedes renderizar tres ángulos por SKU y descartar los que no te convenzan.

La única regla: escribe la especificación del producto una vez y reutilízala
El truco para mantener un conjunto de imágenes de listado consistente es fijar la mitad del prompt que describe el producto y cambiar solo la mitad que describe la cámara. Esta es la especificación de producto fija que se usa en todas las imágenes de abajo:
a matte ceramic pour-over coffee dripper in sage green with a short conical body and a small pouring spout
Todo lo demás —ángulo, fondo, iluminación, composición— se añade según la toma. Guárdalo en una variable y concatena.
Toma 1: imagen de listado sobre fondo blanco
Esta es la toma que piden los marketplaces: blanco puro, luz suave y uniforme, una sombra tenue y nada más en el encuadre.
Prompt: Studio e-commerce product photo of a matte ceramic pour-over coffee dripper in sage green with a short conical body and a small pouring spout, front three-quarter angle, centered on a pure white seamless background (#ffffff), soft even box lighting, subtle soft shadow directly beneath, sharp focus, true-to-life color, catalog listing style, no props, no text.
Ajustes:
aspect_ratio: 1:1,resolution: 1K

Tomas 2 y 3: variantes del mismo producto
Ahora reutiliza exactamente la misma especificación de producto y cambia solo la instrucción de cámara. Como la mitad del prompt que describe el producto es idéntica, el goteador sigue siendo reconocible como el mismo artículo en todo el conjunto.
Prompt (ángulo): …high side angle looking down into the cone, pure white seamless background (#ffffff), soft even box lighting, subtle soft shadow, sharp focus, true-to-life color, catalog listing style, no props, no text.

Prompt (detalle): Close-up… focus on the spout and rim texture, pure white seamless background (#ffffff), soft even box lighting, subtle soft shadow, sharp focus, macro detail, catalog listing style, no props, no text.

Toma 4: variante lifestyle / redes sociales
Los listados necesitan recortes limpios; los anuncios y las redes sociales necesitan contexto. La misma especificación de producto, una escena nueva y un formato vertical 4:5 apto para el feed.
Prompt: Lifestyle e-commerce scene of a matte ceramic pour-over coffee dripper in sage green with a short conical body and a small pouring spout sitting on a light oak kitchen counter beside a glass carafe and a small pile of coffee beans, warm morning window light, shallow depth of field, cozy Scandinavian interior blurred in the background, natural color, premium social-media product shot, no text.
Ajustes:
aspect_ratio: 4:5,resolution: 1K

La API de principio a fin
Tres llamadas: enviar la tarea, sondearla y descargar el archivo.
1. Enviar: haz POST con el modelo y el objeto input:
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2/text-to-image",
"input": {
"prompt": "Studio e-commerce product photo ... no text.",
"aspect_ratio": "1:1",
"resolution": "1K"
}
}'
# -> {"data": {"taskId": "task_abc123"}}
2. Sondear: haz GET de la tarea hasta que status sea success:
curl -s https://api.hiapi.ai/v1/tasks/task_abc123 \
-H "Authorization: Bearer $HIAPI_TOKEN"
# -> {"data": {"status": "success", "output": [{"url": "https://.../image.png"}]}}
3. Descargar: output[0].url es temporal, así que guárdala de inmediato:
curl -s -o dripper-front.jpg "<output[0].url>"
Script por lotes: un producto, varias imágenes
A continuación, un bucle de Python listo para copiar y pegar que renderiza un conjunto completo de imágenes de listado a partir de una especificación de producto. Mantiene fija la descripción del producto e itera sobre las instrucciones de toma.
import os, time, requests
BASE = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_TOKEN"]
HEAD = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}
# Fixed product spec — write it once.
PRODUCT = ("a matte ceramic pour-over coffee dripper in sage green with a short "
"conical body and a small pouring spout")
# Vary only the shot half.
SHOTS = {
"front": ("1:1", "front three-quarter angle, pure white seamless background (#ffffff), "
"soft even box lighting, subtle soft shadow, catalog listing style, no text"),
"angle": ("1:1", "high side angle looking into the cone, pure white background, "
"soft even lighting, catalog listing style, no text"),
"detail": ("1:1", "close-up macro on the spout and rim, pure white background, "
"soft even lighting, catalog listing style, no text"),
"lifestyle": ("4:5", "on a light oak kitchen counter with a glass carafe and coffee beans, "
"warm morning window light, shallow depth of field, no text"),
}
def submit(prompt, ratio):
body = {"model": "gpt-image-2/text-to-image",
"input": {"prompt": prompt, "aspect_ratio": ratio, "resolution": "1K"}}
r = requests.post(BASE, headers=HEAD, json=body, timeout=60)
return r.json()["data"]["taskId"]
def wait(task_id, timeout=600):
deadline = time.time() + timeout
while time.time() < deadline:
d = requests.get(f"{BASE}/{task_id}", headers=HEAD, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d.get("error"))
time.sleep(5)
raise TimeoutError(task_id)
for name, (ratio, shot) in SHOTS.items():
prompt = f"Studio e-commerce product photo of {PRODUCT}, {shot}."
url = wait(submit(prompt, ratio))
img = requests.get(url, timeout=120).content # URL expires — save now
open(f"dripper-{name}.jpg", "wb").write(img)
print(f"saved dripper-{name}.jpg (cost $0.03)")
Sustituye PRODUCT por tu SKU, conserva el mapa SHOTS y envuelve todo en un bucle que recorra tu catálogo de productos para renderizar cada producto de la misma manera.
Cálculo de costes de un catálogo real
gpt-image-2/text-to-image se factura a una tarifa plana de $0.03 por imagen (verificado en la plataforma; consulta las cifras actuales en la página de precios). Por lo tanto:
| Tamaño del catálogo | Tomas por SKU | Imágenes | Coste |
|---|---|---|---|
| 20 SKU | 3 | 60 | $1.80 |
| 100 SKU | 3 | 300 | $9.00 |
| 100 SKU | 4 (con lifestyle) | 400 | $12.00 |
Es lo bastante barato como para volver a renderizar todo el catálogo cuando cambies el estándar de fondo, en lugar de volver a hacer las fotos.
Conclusión
El flujo de trabajo se mantiene deliberadamente mínimo: fija la especificación del producto, varía la toma, envía → sondea → descarga, y guarda los bytes de salida antes de que caduque la URL. Una tarea gpt-image-2/text-to-image por imagen, $0.03 por imagen, usando el mismo protocolo de tareas que ya usas con otros modelos de hiapi. Apunta el bucle por lotes a tu catálogo y escala de forma lineal.
Artículos relacionados
Ver todos los artículos →-
Guía de uso
seedream-5.0-pro/image-to-image: guía de introducción — capacidades, precios y puntos clave de integración
Límites de capacidad, modelo de facturación y prácticas de integración técnica del modelo de edición de imágenes de ByteDance
-
Guía de uso
Guía de inicio de seedream-5.0-pro texto a imagen: límites de capacidad, integración de API y control de costes
Perspectiva práctica para desarrolladores: desde los puntos clave de los parámetros hasta la estimación de coste de $0.05 por imagen
-
Guía de uso
Guía de inicio de Hailuo 2.3 Fast de imagen a video: límites de capacidad, precios e integración práctica
Claves de selección e integración del modelo MiniMax de imagen a video para desarrolladores