Per ottenere tre formati pubblicitari da una sola foto di prodotto, tieni il prodotto reale come ritaglio e genera solo la scena intorno. Fai uno sfondo diverso per ogni formato, appoggia sopra la busta originale e scrivi il titolo nel tuo editor. Un modello che ridisegna la busta può piegare una lettera dell'etichetta; una composizione conserva i pixel fotografati. Sui nostri controlli di ottobre 2026 del catalogo live e dei listini, la generazione per tutti e tre i formati costa circa $0.21.
L'esempio è una busta di caffè color crema con etichetta grigio antracite, chiusura piegata color rame e la scritta «RIVER NOTES / WHOLE BEAN / 250 g», consegnata in 1:1 (1080 × 1080), 4:5 (1440 × 1800) e 9:16 (1080 × 1920).
Scegli la strada in base a ciò che deve restare esatto
| Ciò che deve restare esatto | Strada | Costo per tutti e tre i formati |
|---|---|---|
| Etichetta, forma e ogni parola stampata | Genera gli sfondi con GPT Image 2 e componi la busta originale | $0.2021, più $0.0048 per il ritaglio |
| Idem, e luce e ombra devono seguire la busta | Metti la busta su una tela, lascia che GPT Image 2 Edit dipinga intorno tramite una maschera, poi rimetti sopra l'originale | $0.2316, più $0.0048 per il ritaglio (un'immagine di origine per formato) |
| La busta può essere rilluminata o ridisegnata | Nano Banana Pro Edit con la foto come input | $0.2004 ($0.0668 per immagine; al massimo $0.3242 se ricade sulla rotta ufficiale) |
Tutte le cifre valgono per 2K, qualità media, un output per formato, senza ripetizioni. Usa 2K per la strada più semplice: un quadrato 1K viene renderizzato a 1024 px, sotto la tela da 1080. 1K costa circa la metà ($0.101 per il set), ma poi ogni file richiede l'ingrandimento 2K ($0.012 ciascuno) ed è proprio quel passaggio in più dove compare la sfocatura. Nano Banana Pro costa uguale a 1K e 2K.
Se ti serve solo la nuova forma e accetti bordi ridisegnati, la guida all'outpainting copre una strada in una sola chiamata a $0.024 per immagine; il suo output si ferma a 1536 px sul lato lungo, quindi i formati 4:5 e 9:16 avrebbero bisogno di ingrandimento.
Imposta le tre tele
| Tela | Busta | Area di testo | Perché |
|---|---|---|---|
| 1080 × 1080 | Centrata a x=760, base a y=940, circa 640 px di altezza | Colonna sinistra x=80–480, titolo vicino a y=250 | Il minimo consigliato da Meta per 1:1 è 1080 × 1080 |
| 1440 × 1800 | Centrata a x=720, base a y=1600, circa 930 px di altezza | Fascia superiore y=140–500 | Il minimo di Meta per 4:5 in Facebook Feed è 1440 × 1800 (Instagram Feed indica 1080 di larghezza); 1080 × 1350 è al di sotto |
| 1080 × 1920 | Centrata a x=540, base a y=1230, circa 680 px di altezza | Titolo y=300–470 | Mantiene busta e testo tra y≈270 e y≈1250 |
Per gli annunci 1:1 e 4:5 in Instagram Feed, Meta chiede di lasciare liberi il bordo inferiore e quelli laterali dagli elementi chiave; circa 100 px sono un margine sicuro. Per 9:16, Meta chiede di lasciare liberi alto, basso e lati, e la sua sovrapposizione della safe zone in Ads Manager disegna il riquadro esatto. Le guide che misurano questa zona indicano margini intorno al 14% in alto, 35% in basso e 6% ai lati, cioè circa 270, 670 e 65 px su 1080 × 1920. Ecco perché la busta nel formato story sta più in alto di quanto la collocheresti all'inizio. Altre piattaforme usano altre sovrapposizioni, quindi controlla l'anteprima di ogni destinazione prima di esportare.
Il quadrato separa il testo dal prodotto a sinistra e a destra, il verticale impila il testo sul prodotto e il 9:16 mantiene tutto dentro la fascia centrale. Scala la busta in modo uniforme; allungarla per riempire una tela cambia le proporzioni della confezione. Mantieni l'angolazione della foto in tutti e tre: uno scatto frontale non può mostrare il pannello posteriore o la cucitura laterale, e un lato generato sarebbe un mock-up, non la tua confezione.

Illustrazione generata dall'IA delle tre proporzioni con una busta di caffè in ognuna; i layout reali seguono la tabella delle coordinate qui sopra.
Provalo nel Playground
Segui questi passaggi nel Playground; il codice e la strada con Agent sono più in basso.
- Apri Background Remover, resta nella scheda Playground nella vista Form (accedi con un account con saldo per eseguire), aggiungi la foto della busta sotto Input image e avvia. Salva il PNG trasparente.
- Apri GPT Image 2 text to image con il prompt 1:1 già compilato. Imposta Aspect ratio su
1:1, Resolution su2k, Quality sumedium(lowmentre fai le regolazioni) e Output format supng, controlla la stima del prezzo e avvia. - Ripeti con
4:5e9:16, scambiando le frasi di posizionamento con quelle dei prompt qui sotto, poi componi la busta originale nel tuo editor.
Ritaglia la busta una sola volta
Invia la foto migliore, con tutta la busta visibile e l'etichetta leggibile, a Background Remover: un URL di immagine dentro, un PNG trasparente alla dimensione originale fuori, $0.0048. La guida alla rimozione dello sfondo copre i controlli del bordo. Guarda il bordo al 200% su un riempimento scuro e su uno chiaro, e conserva la piega color rame e le piccole ombre nelle pieghe invece di appiattire la busta in un rettangolo.
Tieni il file originale separato dal ritaglio. Se la sorgente ha un'ombra di contatto netta, ammorbidiscila o rimuovila prima di posare la busta su una nuova superficie; altrimenti la composizione mostra due ombre in conflitto. Se la foto è troppo piccola per la dimensione di busta prevista, riduci la busta nel layout o procurati una foto più grande. Un'etichetta generata più nitida non è l'etichetta stampata.
Genera gli sfondi
Apri GPT Image 2 text to image con le impostazioni dei passaggi Playground qui sopra e scegli il rapporto d'aspetto per ogni formato. Scrivi in ogni prompt la direzione della luce della tua foto; la busta di esempio è illuminata dall'alto a sinistra, come nei prompt qui sotto. Usa 1:1 con:
Photographic still-life advertising background, empty warm stone tabletop in the lower third, softly lit charcoal wall, gentle window light from upper left, subtle warm copper accents far in the background. Leave the right half of the tabletop clear for a coffee bag to be composited later. Leave the left half of the wall quiet and low-detail for editable copy. No product, no lettering, no logo, no cup in the reserved product area.
Per 4:5 sostituisci le frasi di posizionamento con:
Leave the lower centre clear for a coffee bag to be composited later; keep the upper third as a simple charcoal wall for editable copy.
Per 9:16 usa:
Vertical photographic background with a broad clear tabletop below the centre. Reserve the central lower-middle area for a coffee bag, with quiet charcoal wall above and uncluttered space below. No lettering, no product, no foreground props.
Lascia fuori la busta così che nessuna confezione sintetica faccia concorrenza all'originale. I chicchi di caffè si possono aggiungere dopo come elemento separato, lontani dall'etichetta e dal bordo di contatto della busta. Per risparmiare mentre sistemi il prompt, eseguilo prima con Quality su low (circa $0.024 per tutti e tre a 2K) e passa a medium quando le zone vuote cadono dove il layout le richiede. Controlla la dimensione in pixel consegnata rispetto alla tela; se è troppo piccola, ingrandiscila con il livello 2K di Image Upscaler ($0.012, vedi la guida all'ingrandimento) invece di allungarla nell'editor.
Componi la busta e imposta i testi
Metti il ritaglio alle coordinate qui sopra. Aggiungi un'ombra di contatto morbida subito sotto la base (un'ellisse scura sfocata in modalità multiply intorno al 30–40%) e un'ombra più tenue e più larga che si allontana dalla luce. Se la busta è illuminata da destra e lo sfondo da sinistra, rigenera lo sfondo con luce a destra invece di dipingere riflessi in conflitto sulla confezione stampata. Un contorno chiaro intorno alla busta è un problema di bordo del ritaglio: riduci la sua selezione di uno o due pixel invece di rigenerare qualcosa.
Scrivi il titolo e la call to action nell'editor. Mantieni i dati di prodotto come «250 g» così come sono stati forniti e non aggiungere affermazioni non supportate.
Lo stesso passaggio in Pillow, per una tela 1080 × 1080 (la busta viene posizionata dalla base, come nella tabella):
from PIL import Image, ImageFilter
bg = Image.open("bg-1x1.png").convert("RGBA").resize((1080, 1080))
bag = Image.open("bag-cutout.png").convert("RGBA")
h = 640
bag = bag.resize((round(bag.width * h / bag.height), h), Image.LANCZOS)
x, base_y = 760 - bag.width // 2, 940
shadow = Image.new("L", bg.size, 0)
shadow.paste(90, (x + 20, base_y - 12, x + bag.width - 20, base_y + 12))
shadow = shadow.filter(ImageFilter.GaussianBlur(14))
dark = Image.new("RGBA", bg.size, (20, 12, 8, 255))
bg = Image.composite(dark, bg, shadow)
bg.alpha_composite(bag, (x, base_y - h))
bg.convert("RGB").save("ad-1x1.png")Salva un master a livelli con livelli separati per sfondo, prodotto, ombra e testo ed esporta ogni formato da lì. Un nuovo prezzo o un nuovo titolo non costano allora alcuna nuova generazione e non possono cambiare l'etichetta.
Fai dipingere al modello intorno alla busta
Se la composizione sembra incollata, lascia che GPT Image 2 Edit dipinga la scena. Le zone trasparenti della maschera indicano dove editare, ma non garantiscono che i pixel esterni restino invariati; la sovrapposizione del prodotto originale al passo 4 mantiene intatta l'etichetta fotografata.
- Metti il ritaglio su una tela piatta e neutra con lo stesso rapporto dell'output ed esportalo come immagine di origine. A 2K il modello restituisce 2048 px sul lato lungo di un quadrato, quindi costruiscila a quella dimensione (per 1:1, 2048 × 2048 con la busta scalata dello stesso fattore della tabella delle tele), oppure riduci il risultato alla dimensione della tela prima della sovrapposizione finale.
- Esporta solo il livello del prodotto, con la busta opaca e tutto il resto trasparente, alla stessa dimensione in pixel dell'origine.
- Apri GPT Image 2 Edit nel Playground. Aggiungi la tela sotto Images, apri Advanced parameters e aggiungi il livello del prodotto sotto Mask (i pixel trasparenti vengono ridipinti, quelli opachi vengono conservati). Imposta Aspect ratio uguale alla tela, Resolution su
2ke Input Fidelity suhigh, poi usa un prompt come: «Paint a warm stone tabletop and charcoal wall around the existing coffee bag. Keep the bag unchanged. Soft window light from the left with a natural contact shadow under the bag. Leave the upper third as quiet wall for copy.» - Metti il ritaglio originale sopra il risultato, sugli stessi pixel intorno ai quali il modello ha dipinto, prima di aggiungere il testo, così che l'etichetta sia quella fotografata qualunque cosa succeda al bordo.
Il modello vede la busta mentre dipinge, quindi luce e ombra possono seguirla. L'immagine di origine aggiunge $0.0098 per richiesta: $0.0959 (1:1), $0.0778 (4:5) e $0.0579 (9:16) a 2K medium.
Quando la busta stessa può cambiare
Scegli Nano Banana Pro Edit quando vuoi la busta rilluminata in una nuova scena e puoi controllare le modifiche alle sue pieghe, alla sua etichetta e alla sua silhouette. Aggiungi la foto del prodotto sotto Images, imposta Resolution su 2k, scegli il Aspect ratio e usa:
Place the coffee bag from the supplied photograph on a warm stone tabletop against a charcoal wall. Preserve its cream package, copper folded top, charcoal label and overall proportions. Soft window light from the left. Leave clear space above for copy. Do not add claims, extra logos or extra products.
Se alleghi il file approvato dell'etichetta come seconda immagine, di' quale immagine è la busta e quale è l'etichetta. Chiedere la conservazione non la garantisce. Se «250 g» diventa un'altra quantità, sostituisci l'etichetta con il file approvato nella composizione finale oppure torna alla strada con solo sfondo.
Chiamala dal codice
La stessa chiamata per lo sfondo nel formato 9:16 (installa con pip install spicyapi e imposta SPICY_API_KEY); poi il passaggio Pillow qui sopra posiziona la busta. Circa $0.048 per immagine.
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="openai/gpt-image-2/text-to-image",
input_data={
"prompt": "Vertical photographic background with a broad clear tabletop below the centre. Reserve the central lower-middle area for a coffee bag, with quiet charcoal wall above and uncluttered space below. No lettering, no product, no foreground props.",
"aspect_ratio": "9:16",
"resolution": "2k",
"quality": "medium",
"output_format": "png",
},
idempotency_key=str(uuid.uuid4()), # new key per new request; reuse only to retry the same one
)
print("Resume task:", task["taskId"], flush=True)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")
assets = output_assets(final)
if not assets or any(a.get("pending") or a.get("unavailable") or not a.get("url") for a in assets):
raise RuntimeError(f"Task {task['taskId']} has no ready output; check this task before a new run")
print(assets[0]["url"])Il riferimento dell'SDK Python copre il resto.
Oppure fai fare il lavoro a un Agent
Salva i campi input in input.json, poi esegui npx @spicyapi/cli tasks create --model openai/gpt-image-2/text-to-image --input-file input.json --wait (CLI). Con il server MCP il tuo assistente chiama spicyapi_task_create, che ti mostra il prezzo da confermare, e poi spicyapi_task_wait. Oppure installa l'Agent Skill con npx skills add spicyapi-ai/spicy-skill.
Risolvi i problemi più comuni
| Problema | Correzione |
|---|---|
| L'etichetta risulta sfocata alla dimensione finale | Riduci la busta o usa una foto a risoluzione più alta; conserva i pixel originali dell'etichetta. |
| La busta sembra galleggiare | Sposta l'ombra di contatto sulla base reale e chiudi ogni spazio. |
| La luce del prodotto e quella dello sfondo non concordano | Metti la direzione della luce della foto nel prompt dello sfondo oppure usa l'edit con maschera. |
| Il testo si sovrappone alla piega color rame | Sposta il testo nell'area riservata; non comprimere la busta. |
| La versione verticale perde la base o finisce nella fascia della UI | Ricostruiscila dai livelli alle coordinate 9:16; non ritagliare il quadrato. |
| La scena generata modifica il testo della confezione | Torna alla composizione con solo sfondo o ripristina l'etichetta dal file approvato. |
Prima della consegna, confronta l'etichetta di ogni file esportato a pieno ingrandimento con la foto originale.
Per la maggior parte dei lavori, genera solo sfondi e componi la busta originale. Passa all'edit con maschera quando la composizione sembra incollata.








