Guida all'uso
gpt-image-2 immagini prodotto e-commerce: flusso di lavoro batch su hiapi
Usa l'API di task gpt-image-2/text-to-image di hiapi per generare, per l'intero catalogo prodotti, immagini listing pulite su sfondo bianco, varianti di angolazione/dettaglio e scene lifestyle: immagini riprodotte realmente, prezzo verificato di $0,03 per immagine e script batch pronti da copiare e incollare.
TL;DR
- Di cosa si tratta: un flusso di lavoro eseguibile e riproducibile che usa
gpt-image-2/text-to-imagesu hiapi per generare immagini prodotto e-commerce. Ogni immagine di questa pagina è stata renderizzata con il prompt originale stampato accanto: nessuna foto stock, nessuna demo presa in prestito. - Un modello, tre usi: immagini catalogo pulite su sfondo bianco, varianti di angolazione/dettaglio dello stesso prodotto e scene lifestyle, tutte dallo stesso endpoint di task text-to-image.
- Fatti sull'API (verificati sulla piattaforma):
gpt-image-2/text-to-imagegira su un'interfaccia a task asincrona (/v1/tasks). L'oggettoinputrichiedeprompt,aspect_ratio(1:1per il listing,4:5per i social,16:9per i banner) eresolution(1K/2K/4K). L'immagine risultante si trova inoutput[0].url. - Prezzo:
gpt-image-2/text-to-imagecosta uniformemente $0,03 per immagine. Un catalogo di 20 SKU con 3 immagini ciascuno fa 60 immagini, per un costo di $1,80. I prezzi aggiornati sono nella pagina dei prezzi. - Come si esegue: invia una POST all'API di task, esegui il polling finché lo stato non è
success, poi scarica l'immagine daoutput[0].url: l'URL scade, quindi salva subito i byte. In fondo alla pagina trovi gli script completi di invio/polling/download e il ciclo batch, pronti da copiare e incollare.
Perché usare gpt-image-2 per le immagini prodotto
Una pipeline di immagini prodotto ha una specifica noiosa ma rigorosa: stesso prodotto, presentazione pulita, sfondo coerente, proporzioni adatte al listing. gpt-image-2/text-to-image è adatto a questo per tre motivi.
Primo, riesce a mantenere stabile la descrizione del prodotto in un lotto di task: descrivi una volta l'articolo, riusi quella descrizione e cambi solo l'angolazione della fotocamera. È proprio questo il punto chiave per trasformare «un'immagine principale» in un set completo di immagini listing.
Secondo, è un task asincrono per ogni immagine. Invii il task, fai polling sull'id del task, recuperi il file completato: si usa lo stesso protocollo a task di tutti gli altri modelli generativi di hiapi, quindi se già chiami altri modelli, qui il flusso di controllo è identico.
Terzo, è abbastanza economico da permettere iterazioni ripetute. A $0,03 per immagine puoi renderizzare tre angolazioni per ogni SKU e scartare quelle non soddisfacenti.

L'unica regola: scrivi una volta le specifiche del prodotto e riusale
Il trucco per un set di immagini listing coerente è questo: tieni fissa la metà prodotto del prompt e cambia solo la metà inquadratura. Ecco le specifiche fisse del prodotto usate per ogni immagine qui sotto:
a matte ceramic pour-over coffee dripper in sage green with a short conical body and a small pouring spout
Tutto il resto — angolazione, sfondo, illuminazione, composizione — viene aggiunto per inquadratura. Mettilo in una variabile e concatenalo.
Inquadratura 1 — immagine listing su sfondo bianco
Questa è l'inquadratura che i marketplace vogliono: bianco puro, luce morbida e uniforme, un'ombra leggera e nient'altro nell'immagine.
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.
Impostazioni:
aspect_ratio: 1:1,resolution: 1K

Inquadrature 2 e 3 — varianti dello stesso prodotto
Ora riusa esattamente le stesse specifiche del prodotto e cambia solo le istruzioni sulla fotocamera. Poiché la metà prodotto del prompt è identica, il filtro resta lo stesso articolo riconoscibile in tutto il set di immagini.
Prompt (angolazione): …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 (dettaglio): 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.

Inquadratura 4 — variante lifestyle / social
Il listing richiede un ritaglio pulito; la pubblicità e i social richiedono una scena. Stesse specifiche del prodotto, nuova scena e formato verticale 4:5 adatto ai 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.
Impostazioni:
aspect_ratio: 4:5,resolution: 1K

L'API dall'inizio alla fine
Tre chiamate: invio del task, polling, download del file.
1. Invio — POST del modello e dell'oggetto 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. Polling — GET del task finché status non è 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. Download — output[0].url è temporaneo, quindi salvalo subito:
curl -s -o dripper-front.jpg "<output[0].url>"
Script batch: un prodotto, più immagini
Ecco un ciclo Python pronto da copiare e incollare che renderizza l'intero set di immagini listing da una singola specifica di prodotto. Mantiene fissa la descrizione del prodotto e itera sulle istruzioni di inquadratura.
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)")
Sostituisci PRODUCT con il tuo SKU, mantieni la mappa SHOTS e avvolgi tutto in un ciclo esterno che scorre il catalogo: ogni prodotto verrà renderizzato allo stesso modo.
Calcolo dei costi su un catalogo reale
gpt-image-2/text-to-image viene fatturato uniformemente a $0,03 per immagine (verificato sulla piattaforma; per i numeri attuali consulta la pagina dei prezzi). Quindi:
| Dimensione catalogo | Inquadrature per SKU | Numero di immagini | Costo |
|---|---|---|---|
| 20 SKU | 3 | 60 | $1,80 |
| 100 SKU | 3 | 300 | $9,00 |
| 100 SKU | 4 (incluso lifestyle) | 400 | $12,00 |
È abbastanza economico da permetterti, quando cambi gli standard di sfondo, di renderizzare di nuovo l'intero catalogo invece di rifare il servizio fotografico.
Conclusione
Il flusso di lavoro è volutamente essenziale: specifiche di prodotto fisse, inquadratura variabile, invio → polling → download e salvataggio dei byte di output prima che l'URL scada. Un task gpt-image-2/text-to-image per immagine, $0,03 per immagine, con lo stesso protocollo a task che già usi sugli altri modelli hiapi. Punta il ciclo batch sul tuo catalogo e scala in modo lineare.
Articoli correlati
Vedi tutti gli articoli →-
Guida all'uso
Guida introduttiva a seedream-5.0-pro/image-to-image: capacità, prezzi e punti chiave di integrazione
Limiti di capacità, modalità di fatturazione e pratiche di integrazione ingegneristica del modello di editing immagini di ByteDance
-
Guida all'uso
Guida pratica al text-to-image con seedream-5.0-pro: limiti di capacità, integrazione API e controllo dei costi
Prospettiva operativa per sviluppatori: dai punti chiave sui parametri alla stima di costo di $0,05 per immagine
-
Guida all'uso
Guida introduttiva a Hailuo 2.3 Fast image-to-video: limiti delle capacità, prezzi e pratiche di integrazione
Selezione e integrazione del modello MiniMax image-to-video per sviluppatori