Guida all'uso
Veo 3.1 Lite da immagine a video: trasforma le foto in brevi video con l'API hiapi
Workflow passo passo da immagine a video, prezzi reali e un esempio API eseguibile immediatamente.
In sintesi
- Di cosa si tratta: un workflow reale e completo che utilizza veo-3.1-lite/image-to-video su hiapi API per trasformare una singola foto statica in una breve clip verticale con audio nativo. Ogni immagine, ogni prompt e ogni chiamata API in questa pagina sono l'output reale delle richieste mostrate.
- Perché la generazione video da immagine è adatta ai contenuti brevi: puoi controllare completamente composizione, presentazione del brand e inquadratura del prodotto nella foto statica, poi lasci che il modello aggiunga movimento e suono ambientale, senza dover sperare che un prompt text-to-video generi esattamente l'inquadratura desiderata.
- Dati API verificati: l'attività accetta esattamente cinque campi di input:
prompt,image_url(un singolo URL pubblico, non un array),duration(4, 6 o 8 secondi),resolution(720po1080p) egenerate_audio(booleano). Lo schema è rigoroso: qualsiasi altro campo viene rifiutato. - Costo reale: una clip di 4 secondi a 720p con audio nativo costa $0.40 ($0.10/secondo); disattivando l'audio scende a $0.24 ($0.06/secondo). Le tariffe attuali sono disponibili nella pagina pricing.
- Tempo di rendering reale: la clip di 4 secondi incorporata di seguito ha impiegato circa 55 secondi dall'invio dell'attività al file scaricabile.
Perché la generazione video da immagine è adatta ai contenuti brevi
Le clip in stile TikTok e Reels si giocano sul primo fotogramma, cioè la miniatura su cui le persone decidono se cliccare. La generazione text-to-video è un azzardo sulla composizione: descrivi una scena e poi speri che il modello la inquadri come ti serve. La generazione da immagine inverte tutto questo. Prima blocchi l'inquadratura esatta con un'immagine statica (disposizione del prodotto, luce, rapporto d'aspetto), poi affidi al modello solo il movimento: cosa deve fluttuare, fumare, incresparsi o muoversi leggermente mentre la camera resta ferma.
Questa divisione dei compiti è esattamente lo scopo di veo-3.1-lite/image-to-video: gli dai una foto e un prompt di movimento, e restituisce un MP4 con supporto nativo per il formato 9:16 e audio sincronizzato, senza che tu debba toccare un editor video.
Demo: una foto statica, poi in movimento
Per rendere il contenuto più concreto, abbiamo eseguito l'intero flusso con un soggetto semplice: un latte matcha ghiacciato, composto come farebbe un account di ricette di bevande o di caffetteria per un feed verticale.
Passo 1 — La foto di partenza

Questa immagine statica è stata generata con gpt-image-2/text-to-image con rapporto d'aspetto 9:16, usando questo prompt esatto:
A vertical 9:16 studio product photograph of an iced matcha latte in a clear glass
on a white marble countertop, visible ice cubes and vivid green matcha layered against
milk, soft warm morning sunlight streaming in from the left casting a long soft shadow,
a small bamboo matcha whisk and a light wooden scoop with loose matcha powder resting
beside the glass, fine condensation droplets on the glass exterior, a blurred
cream-and-beige kitchen background with shallow depth of field, warm natural color
grade, high-resolution commercial beverage photography, no text, no watermark,
no hands, no logos
Va bene qualsiasi immagine statica, purché sia un URL pubblico: una foto reale di un prodotto, uno screenshot o, come qui, un'immagine statica generata dall'AI.
Passo 2 — Dai movimento
Questo è l'output reale: un MP4 di 4 secondi, 720p, 9:16, con audio sincronizzato, generato dall'immagine statica qui sopra e dal seguente prompt di movimento:
Camera holds a slow, steady static shot with no camera movement or zoom. Gentle
wisps of steam rise from the iced matcha latte, fine condensation droplets slowly
trickle down the glass, and the ice cubes shift subtly with a soft clink. Warm
morning sunlight flickers gently as if from a light breeze outside a nearby window.
Soft ambient cafe background sound with a faint ceramic clink and quiet room tone.
Nota che questo prompt non descrive quasi per nulla il soggetto: la foto lo definisce già. Descrive solo cosa deve muoversi e cosa deve essere udito, ed è proprio questo il senso di usare la generazione da immagine anziché da testo per un'inquadratura già composta.
Effettuare la chiamata API
Dietro le quinte, ogni modello su hiapi (immagine o video) segue lo stesso schema di attività asincrona: invio, polling, download. Per veo-3.1-lite/image-to-video, la richiesta è così:
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "veo-3.1-lite/image-to-video",
"input": {
"prompt": "Camera holds a slow, steady static shot with no camera movement or zoom. Gentle wisps of steam rise from the iced matcha latte...",
"image_url": "https://your-cdn.example.com/still.jpg",
"duration": 4,
"resolution": "720p",
"generate_audio": true
}
}'
Questa restituisce immediatamente un taskId. Esegui il polling finché lo stato non diventa success, poi recupera il file da output[0].url: il link scade, quindi scaricalo subito invece di collegarti direttamente ad esso:
import subprocess, json, time
def animate_still(token, image_url, prompt, duration=4, resolution="720p", audio=True):
def curl(args):
r = subprocess.run(
["curl", "-s", "--max-time", "60", *args,
"-H", f"Authorization: Bearer {token}"],
capture_output=True, check=True,
)
return json.loads(r.stdout)
payload = {
"model": "veo-3.1-lite/image-to-video",
"input": {
"prompt": prompt,
"image_url": image_url,
"duration": duration,
"resolution": resolution,
"generate_audio": audio,
},
}
task = curl(["-X", "POST", "https://api.hiapi.ai/v1/tasks",
"-H", "Content-Type: application/json",
"-d", json.dumps(payload)])
task_id = task["data"]["taskId"]
while True:
status = curl([f"https://api.hiapi.ai/v1/tasks/{task_id}"])["data"]
if status["status"] in ("success", "fail"):
break
time.sleep(5)
if status["status"] != "success":
raise RuntimeError(status.get("error"))
return status["output"][0]["url"] # download immediately — this link expires
È lo stesso schema documentato per qualsiasi modello basato su attività su hiapi, ed è quello che abbiamo usato per generare la clip qui sopra.
Cosa accetta realmente lo schema
Lo abbiamo verificato manualmente sull'endpoint live, quindi prendilo come un fatto e non come una supposizione:
prompt— stringa, descrive il movimento (e il suono, segenerate_audioè attivo).image_url— un singolo URL pubblico. Non un array come in alcuni altri modelli i2v della piattaforma: qui passare una lista fallisce.duration— intero, solo4,6o8secondi. Altri valori non sono accettati.resolution—"720p"o"1080p".generate_audio— booleano. Attiva o disattiva l'audio nativo sincronizzato.- Lo schema è rigoroso: se invii un campo non riconosciuto, la richiesta viene rifiutata direttamente, non ignorata silenziosamente.
Quanto costa davvero una clip
Il prezzo è calcolato sui secondi di output e dipende dalla risoluzione e dall'abilitazione dell'audio (dati aggiornati a settembre 2026: prima di pianificare budget su larga scala, consulta la pagina dei prezzi aggiornata):
720pcon audio: $0.10/secondo — $0.40 per una clip di 4 secondi.720psenza audio: $0.06/secondo — la stessa clip scende a $0.24.1080pcon audio: $0.14/secondo.1080psenza audio: $0.10/secondo.
Per un calendario di contenuti brevi, è qui che sta la vera leva economica: un lotto di dieci clip da 4 secondi a 720p con audio costa circa $4.00; lo stesso lotto senza audio costa $2.40. Se il sound design è importante per il post (rumore ambientale di caffetteria, clic tattili del prodotto, passi), lascia l'audio attivo: è la differenza tra una clip dimostrativa e un lavoro che sembra girato sul posto.
Se ti servono più di 8 secondi per clip, o vuoi controllare separatamente il movimento della camera con durate più lunghe, hiapi offre anche veo-3.1-fast (maggiore fedeltà, da $0.25/secondo) e il livello flagship veo-3.1 (da $0.57/secondo): entrambi supportano sia text-to-video sia image-to-video. Tuttavia, per la maggior parte dei montaggi social brevi, lite è la scelta predefinita corretta: costa una frazione e l'output è già calibrato per clip verticali entro i 10 secondi.
Per un approccio alternativo allo stesso problema dei video brevi — clip più lunghe, maggiore controllo manuale sul primo/ultimo fotogramma — abbiamo fatto i conti anche per costruire un workflow per video brevi con seedance-2.0-mini, che sacrifica l'audio nativo generato dalla foto in cambio di durate fino a 15 secondi e una tariffa al secondo più bassa.
Domande frequenti
veo-3.1-lite/image-to-video accetta più immagini di riferimento?
No. image_url accetta un solo URL pubblico. Se ti serve un modello in grado di fondere più immagini di riferimento, è un'altra chiamata: prima di dare per scontato che sia identica a questa, consulta la pagina di quel modello per conoscere lo schema di input esatto.
Si possono ottenere clip più lunghe di 8 secondi con una singola chiamata?
Con lite no. Il campo duration accetta solo 4, 6 o 8. Per video singoli più lunghi, guarda gli altri modelli video nella collezione di API video della piattaforma, molti dei quali supportano durate superiori a 15 secondi.
L'output include già l'audio nativo o devo aggiungere il suono in post-produzione?
Se generate_audio è true, l'MP4 restituito include già una traccia audio AAC sincronizzata: nessuna fase separata di sound design. Se intendi musicare la clip da solo o non ti serve l'audio ambientale, impostalo su false.
Serve davvero un modello video, o l'output di gpt-image-2 è già pubblicabile?
Molti feed di contenuti brevi alternano contenuti statici e dinamici, quindi un'immagine statica generata con gpt-image-2/text-to-image è già di per sé un buon post. La generazione da immagine serve quando la piattaforma (o il contesto del momento) richiede movimento — dettagli del prodotto, sottili confronti prima/dopo, loop — senza dover rigirare.
Cosa succede se passo una duration non valida (ad esempio 5)?
La richiesta viene rifiutata prima di creare qualsiasi attività: ricevi subito un errore di schema, senza sprecare un rendering.
Pronto a provare? La pagina del modello veo-3.1-lite/image-to-video ha un playground live dove puoi inserire la tua foto e il tuo prompt prima ancora di scrivere una riga di codice.
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