HiAPI
Blog

Guida all'uso

Grok Imagine Quality image-to-image per foto prodotto e-commerce

Usa grok-imagine-quality/image-to-image su hiapi API per trasformare una foto da studio in un catalogo prodotti completo

Aug 6, 2026
Grok Imagine Quality image-to-image per foto prodotto e-commerce

Riscattare i prodotti per ogni nuova angolazione, banner stagionale o modello di marketplace è lento e costoso. grok-imagine-quality/image-to-image risolve un problema più ristretto ma più pratico: dagli una foto di riferimento pulita e un prompt testuale, e collocherà quel prodotto esatto — stessa forma, stesso colore, stesse proporzioni — in una nuova scena. Una foto da studio può diventare lifestyle, flat lay e foto in uso, senza un secondo servizio fotografico.

Questa guida percorre un flusso di lavoro e-commerce reale su hiapi API: genera una foto prodotto di base, esegue tre trasformazioni di scena su di essa con grok-imagine-quality/image-to-image e applica lo stesso schema all'intero catalogo — con codice eseguibile e i prezzi attuali.

Prerequisiti:

  • Una chiave API hiapi da la tua dashboard
  • Python 3.9+ e requests (oppure curl direttamente)
  • Le tue immagini prodotto di base ospitate su un URL pubblico — l'API task recupera image_urls via URL, non tramite upload

Perché image-to-image invece di un secondo servizio fotografico

Un modello text-to-image può generare un bel dripper per caffè, ma non può generare il tuo dripper — il profilo esatto, la smaltatura e l'angolazione del beccuccio che i clienti hanno già riconosciuto dalle tue immagini prodotto. grok-imagine-quality/image-to-image prende quell'oggetto esatto come riferimento e lo renderizza in un nuovo ambiente: è la differenza tra "una foto prodotto" e "una foto del nostro prodotto".

Questo lo rende adatto alle esigenze ricorrenti dell'e-commerce: un'immagine principale per SKU, poi N varianti (scene lifestyle, flat lay, in uso, sfondi stagionali) per gallerie prodotto, annunci e listing marketplace — senza prenotare uno studio fotografico ogni volta.

Flusso di lavoro: una foto base, tre modifiche di scena

La foto base qui è generata con gpt-image-2/text-to-image ($0,03 per immagine a 1K) — qualsiasi foto prodotto pulita e ben illuminata può servire da riferimento, comprese le tue foto reali esistenti:

Questo singolo URL immagine viene poi riutilizzato in tre chiamate a grok-imagine-quality/image-to-image, una per ogni scena target:

In tutti e tre i risultati le proporzioni, la smaltatura e la forma del manico del dripper restano identiche — cambia solo la scena circostante. Questa coerenza è l'intera proposta di valore dell'uso di i2i qui invece di generazioni t2i separate per ogni scena, che ti darebbero tre prodotti diversi nell'aspetto.

Struttura della richiesta e prezzi

grok-imagine-quality/image-to-image accetta uno schema di input piccolo e rigoroso — campi extra come strength o seed vengono rifiutati:

Campo Obbligatorio Note
prompt Sì Descrive la nuova scena; indica esplicitamente al modello di preservare forma/colore/proporzioni dell'immagine di riferimento
image_urls Sì 1–3 URL pubblici. Con più immagini di riferimento, l'inquadratura dell'output segue il primo URL
resolution No 1k o 2k (minuscolo)
aspect_ratio No auto (predefinito, segue l'inquadratura di input) o un rapporto fisso come 16:9, 1:1, 9:16

Prezzi al 2026-08 (verificati su la pagina dei prezzi di hiapi): grok-imagine-quality/image-to-image costa $0,09 per immagine a 1K e $0,11 per immagine a 2K. La foto base da studio su gpt-image-2/text-to-image costa $0,03 a 1K. Un set di 4 immagini come quello sopra — una foto base più tre modifiche di scena — costa in totale $0,30.

Codice: invio e polling del task

Ogni generazione su hiapi segue lo stesso ciclo di vita asincrono del task — invia, esegui il polling di GET /v1/tasks/{id} finché status non è success, poi scarica subito output[0].url (gli URL scadono). Il contratto completo è nella riferimento API dei task asincroni. Ecco l'esempio concreto per la chiamata i2i:

import requests
import time

API_BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

def edit_product_scene(base_image_url: str, prompt: str) -> str:
    payload = {
        "model": "grok-imagine-quality/image-to-image",
        "input": {
            "prompt": prompt,
            "image_urls": [base_image_url],
            "resolution": "1k",
        },
    }
    resp = requests.post(API_BASE, headers=HEADERS, json=payload, timeout=60)
    task_id = resp.json()["data"]["taskId"]

    while True:
        task = requests.get(f"{API_BASE}/{task_id}", headers=HEADERS, timeout=30).json()["data"]
        if task["status"] == "success":
            return task["output"][0]["url"]
        if task["status"] == "fail":
            raise RuntimeError(task.get("error"))
        time.sleep(5)

La coerenza in pratica deriva dal prompt — non esistono parametri strength o di peso del riferimento, quindi la formulazione deve farsi carico di questo:

Place this ceramic pour-over coffee dripper on a rustic wooden kitchen
countertop, warm morning sunlight streaming in from the left, a few
coffee beans scattered near the base, shallow depth of field, lifestyle
e-commerce photography, keep the dripper's shape, color and proportions
identical to the reference

Quella clausola finale — "keep the shape, color and proportions identical to the reference" (mantieni forma, colore e proporzioni identici al riferimento) — ha prodotto una differenza misurabile nei test. Toglila e il modello tratterà il riferimento in modo più libero, ridisegnando le proporzioni e mescolando dettagli leggermente generici.

Un avvertimento: non aspettarti un controllo preciso della posa. In una sostituzione di scena, la richiesta di "stessa angolazione" non viene rigorosamente rispettata — l'orientamento dell'oggetto tende a riadattarsi naturalmente alla nuova scena. Se l'orientamento esatto è importante, specificalo esplicitamente nella clausola di conservazione (ad esempio "mantieni il beccuccio rivolto a sinistra").

Elaborazione in batch sull'intero catalogo

La stessa chiamata si estende direttamente ai job di catalogo — itera su tuple (SKU, immagine base, prompt di scena) invece di codificare un singolo prodotto:

CATALOG = [
    {"sku": "dripper-ceramic-01", "base_url": "https://cdn.example.com/dripper-01-base.jpg"},
    {"sku": "kettle-gooseneck-02", "base_url": "https://cdn.example.com/kettle-02-base.jpg"},
    # ...
]

SCENE_PROMPTS = {
    "lifestyle": "Place this product on a rustic wooden kitchen countertop, warm morning "
                 "sunlight, lifestyle e-commerce photography, keep shape, color and "
                 "proportions identical to the reference",
    "flatlay": "Place this product on a white marble countertop, top-down flat lay, soft "
               "diffused daylight, keep shape, color and proportions identical to the reference",
}

results = []
for item in CATALOG:
    for scene_name, prompt in SCENE_PROMPTS.items():
        url = edit_product_scene(item["base_url"], prompt)
        results.append({"sku": item["sku"], "scene": scene_name, "url": url})
        # download + upload to your own storage here — output URLs expire

Non esiste un campo idempotency_key nativo nell'API task, quindi se un job batch deve poter essere rieseguito in sicurezza dopo un crash, deduplica per (sku, scene_name) nel tuo storage prima di reinviare, invece di affidarti all'API per intercettare i duplicati.

A $0,09 per immagine, un catalogo di 200 SKU con 3 varianti di scena ciascuno costa in totale $54 — vale il confronto con il costo di uno studio fotografico per scattare tutte queste foto di scena, soprattutto per cataloghi che si riadattano con le stagioni.

Domande frequenti

grok-imagine-quality/image-to-image supporta output batch o multipli per una singola chiamata? No — un invio di image_urls (1–3 immagini di riferimento) produce un'immagine di output per task. Per il batch delle scene, chiama task separati in un ciclo, come mostrato sopra.

Posso controllare l'angolazione esatta della camera nell'output? Non direttamente — non ci sono parametri di camera/posa. L'orientamento tende a riadattarsi alla nuova scena; se un'angolazione specifica è importante, specificala esplicitamente nel prompt insieme all'indicazione "mantieni forma/colore/proporzioni".

In cosa si differenzia dal livello base grok-imagine/image-to-image? Il livello Quality costa di più (da $0,09 a $0,11, rispetto al livello base), ma mantiene l'identità del prodotto in modo più affidabile con cambi di scena più marcati. Per semplici sostituzioni di sfondo, la nostra guida al flusso di lavoro e-commerce con il livello base copre il percorso più economico — scegli Quality quando le trasformazioni di scena sono più drastiche (ad esempio da studio a lifestyle, non solo lo sfondo).

E se la mia foto sorgente non è ancora su un URL pubblico? Caricala prima su qualsiasi object storage o CDN — l'API task recupera gli URL lato server per risolvere image_urls, quindi percorsi di file locali o data URI non funzionano.

Provalo tu stesso

La struttura completa di richiesta/risposta, un playground live e i prezzi attuali sono su la pagina del modello grok-imagine-quality/image-to-image. Se non hai ancora familiarità con l'API task, la guida all'integrazione passo passo approfondisce autenticazione, polling e gestione degli errori.

Inizia a creare con artefatti IA persistenti

Ottieni la tua chiave API e chiama modelli di immagini, video e audio tramite un'unica API basata sui task.

Leggi la documentazione API