HiAPI
Blog

Guida all'uso

Creare video brevi con gemini-omni-1.1-flash tramite l'API hiapi

Una singola chiamata asincrona a tariffa flat trasforma un prompt testuale in un video verticale 9:16 finito con audio nativo — ecco il flusso di lavoro reale e il modello di prezzo che dovrebbe cambiare il tuo modo di renderizzare.

Oct 11, 2026
Creare video brevi con gemini-omni-1.1-flash tramite l'API hiapi

I video brevi hanno un solo requisito inflessibile: devono essere verticali, devono catturare l'utente entro un secondo e di solito richiedono l'audio. La maggior parte delle API text-to-video richiede un assemblaggio a più fasi — generare la clip, aggiungere l'audio in post-produzione, poi ritagliare in 9:16. gemini-omni-1.1-flash comprime tutto in una singola chiamata asincrona su hiapi: inserisci un prompt e ottieni un video 9:16 completo, con l'audio ambientale già incluso nella traccia audio.

Questa guida si basa su un video reale — generato appositamente per questo articolo, non un'illustrazione — per mostrare l'intero flusso di lavoro, poi analizza a fondo il modello di prezzo, perché il modello di costo di gemini-omni è abbastanza particolare da dover cambiare il tuo modo di renderizzare.

Il video, dall'inizio alla fine

Ecco un video di 8 secondi in 1080p generato dal modello a partire da un singolo prompt. Si riproduce direttamente in linea — verticale, con audio:

Ecco il prompt completo — copialo e sei pronto a eseguirlo:

Vertical 9:16 cinematic food close-up: a slow ribbon of golden honey drizzles
onto a short stack of warm pancakes, catching soft morning window light as it
pools and slides down the sides. A single pat of butter melts at the top, faint
steam rising. Shallow depth of field, gentle slow push-in, one continuous shot,
warm cozy color grade. Natural ambient sound: the soft drizzle of honey, a quiet
kitchen room tone, distant birdsong. No people, no text, no logos, no watermark.

Quella singola richiesta ha restituito un file H.264 1080×1920 con una traccia audio AAC stereo — l'audio ambientale è generato insieme al video, non sovrapposto a posteriori. Due abitudini nel prompting hanno fatto la maggior parte del lavoro:

  • Richiedi un'unica ripresa continua. Una clip breve si legge come un solo battito; chiedere un movimento di camera ininterrotto impedisce al modello di creare da solo stacchi di montaggio indesiderati.
  • Scrivi una riga esplicita di vincoli negativi. No people, no text, no logos, no watermark mantiene l'immagine pulita, così puoi aggiungere i sottotitoli nell'editor ed evitare testo bruciato nel video che non potresti più rimuovere.

Perché è particolarmente adatto ai video brevi

Tre aspetti si allineano perfettamente alle esigenze reali del video verticale:

  • Verticale nativo. aspect_ratio: "9:16" è un parametro di input di primo livello, quindi generi direttamente in verticale invece di ritagliare un rendering 16:9 in un'immagine con bande nere.
  • Audio integrato. Ogni video include audio ambientale. Nei feed in cui la maggior parte degli scroll inizia in muto, avere una vera traccia audio pronta per chi attiva davvero l'audio — senza una fase separata di musica o effetti sonori — elimina un passaggio produttivo.
  • Un ID, tutte le modalità. Lo stesso ID gemini-omni-1.1-flash accetta anche immagini di riferimento, fotogrammi iniziali e finali o video sorgente. Puoi aprire con un hook testuale e poi inviare una foto prodotto o un rough cut attraverso lo stesso endpoint e la stessa chiave.

L'algoritmo a tariffa flat che dovrebbe cambiare il tuo modo di renderizzare

La maggior parte delle API video fattura al secondo e aumenta la tariffa con la risoluzione, quindi il 1080p costa chiaramente più del 480p. Con gemini-omni non è così. Fattura a prezzo flat per video ed è identico per tutte le risoluzioni fino al 1080p — solo la durata del video cambia il prezzo:

Durata del video 360p / 720p / 1080p 4K
4 secondi $0.45 $1.05
6 secondi $0.60 $1.20
8 secondi $0.75 $1.35
10 secondi $0.90 $1.50

I prezzi sono stati verificati sulla pagina dei prezzi live di hiapi, nell'ottobre 2026. Il passaggio di un video di riferimento cambia la fatturazione a $1.20 fissi per video (fino a 1080p, o $1.80 per il 4K), indipendentemente dalla durata.

La conseguenza pratica: renderizza ogni bozza in 1080p. Su questo modello il 1080p costa esattamente quanto il 360p, quindi non ha senso fare anteprime a bassa risoluzione e poi renderizzare di nuovo. Per i video non-4K, l'unica variabile che influisce sulla bolletta è la durata — quindi la disciplina sta nella lunghezza, non nella qualità. Genera bozze di 8 secondi in 1080p in batch a $0.75 l'una, tieni quelle che funzionano e usa il 4K solo per i pezzi principali che pubblicherai davvero.

Una singola chiamata API

Per creare un video si apre prima un task con POST, poi si esegue polling fino al completamento.

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-<your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-omni-1.1-flash",
    "input": {
      "prompt": "<your prompt>",
      "duration": 8,
      "resolution": "1080p",
      "aspect_ratio": "9:16"
    }
  }'

Ricevi un ID del task:

{"code":200,"data":{"taskId":"tk-hiapi-01M4MJDW91CEF46R26CJJ5NK5N"},"message":"success"}

Poi esegui polling su GET /v1/tasks/<taskId> finché status non passa da handling → archiving → success. Il corpo della risposta al completamento mette il video in output[0].url:

import time, requests

API = "https://api.hiapi.ai/v1"
H = {"Authorization": "Bearer sk-<your-key>", "Content-Type": "application/json"}

def make_clip(prompt, duration=8, resolution="1080p", ratio="9:16"):
    body = {"model": "gemini-omni-1.1-flash",
            "input": {"prompt": prompt, "duration": duration,
                      "resolution": resolution, "aspect_ratio": ratio}}
    tid = requests.post(f"{API}/tasks", headers=H, json=body, timeout=30).json()["data"]["taskId"]
    while True:
        data = requests.get(f"{API}/tasks/{tid}", headers=H, timeout=30).json()["data"]
        if data["status"] == "success":
            return data["output"][0]["url"]
        if data["status"] == "fail":
            raise RuntimeError(data.get("error"))
        time.sleep(6)

url = make_clip("<your prompt>")
open("clip.mp4", "wb").write(requests.get(url, timeout=120).content)

Quattro campi di input sono fondamentali: prompt, duration (4, 6, 8 o 10), resolution (360p, 720p, 1080p o 4k) e aspect_ratio (16:9 o 9:16). Se passi valori fuori da questi intervalli, l'API rifiuta la richiesta prima di metterla in coda — ad esempio, scrivere per errore 2160p restituisce invalid input: resolution: value must be one of '360p', '720p', '1080p', '4k', quindi un refuso non sprecа mai una generazione video. La documentazione completa dell'API dei task è nelle documentazione hiapi.

Un avvertimento da gestire nel codice: output[0].url contiene un timestamp expireAt e non è un link permanente. Nel momento in cui il task riporta success, scarica il file o caricalo sul tuo storage — non persistere URL temporanei.

Produrre un set, non un singolo video

I video brevi sono un gioco di volumi, quindi il flusso di lavoro reale è il batch processing. Ogni video è un task indipendente, il che rende economico il recupero dopo un crash a metà esecuzione: usa l'hash del prompt come chiave di ogni task, salta ciò che è già stato scaricato e un riavvio non fatturerà mai due volte.

Un ciclo praticabile:

  • Scrivi 8–12 varianti di prompt attorno a un tema — angolazioni, luci, soggetti diversi — tutte con 8 secondi / 1080p / 9:16.
  • Inviale come task indipendenti in batch ed esegui polling, oppure registra un callback per ricevere i risultati in modo proattivo.
  • Esamina l'intero set, tieni le due o tre davvero accattivanti, poi renderizza di nuovo in 4K o con durata maggiore solo se necessario — a condizione che la piattaforma su cui pubblichi ripaghi lo sforzo.

Quando il tuo vero punto di partenza è una foto o un rough cut, invialo allo stesso ID gemini-omni-1.1-flash: usa un'immagine di riferimento per bloccare l'aspetto del prodotto, i fotogrammi iniziali e finali per controllare le transizioni, o un video sorgente per un restyling. La chiave e il codice di polling restano invariati; cambia solo l'oggetto input.

Confronto

La tariffa flat di gemini-omni lo rende il modo più economico di produrre video brevi con audio — 8 secondi in 1080p costano solo $0.75, senza moltiplicatori al secondo. Altri modelli sono superiori in aspetti specifici:

  • Seedance 2.5 fattura al secondo, attualmente fino a 720p, ma si estende a 30 secondi in un'unica ripresa — la scelta quando la durata conta più della risoluzione.
  • Kling 3.0 sovrappone voce sincronizzata all'audio ambientale e arriva fino al 4K — migliore per contenuti parlati o con lip-sync.
  • Veo 3.1 è la scelta per l'image-to-video quando devi animare una foto esistente invece di generare da testo.

Tutti e quattro girano sulla stessa chiave hiapi e sullo stesso endpoint /v1/tasks, quindi passare da uno all'altro richiede solo una riga di model — scegli per ripresa, non per progetto. Puoi confrontarli fianco a fianco nel catalogo dei modelli.

Domande frequenti

gemini-omni-1.1-flash include davvero l'audio? Sì. Il video di questa guida è un MP4 restituito con una vera traccia stereo — l'audio ambientale è generato insieme al video, non aggiunto in post-produzione. Descrivi il suono nel prompt (come la riga Natural ambient sound: ... sopra) allo stesso modo in cui descrivi l'immagine.

Qual è il modo più economico di testarlo? Un video di 4 secondi costa $0.45 a qualsiasi risoluzione fino al 1080p. Poiché queste tre risoluzioni costano lo stesso, testa in 1080p — non c'è alcuna ragione di prezzo per fare anteprime a risoluzione inferiore.

Posso realizzare anche video orizzontali? Sì. Imposta aspect_ratio: "16:9" per l'orizzontale; 9:16 è il default per i video brevi. Il prezzo è lo stesso in entrambi i casi.

Quanto può essere lungo un video al massimo? Ogni generazione è di 4, 6, 8 o 10 secondi. Se ti serve un montaggio più lungo, genera più video e montali insieme, oppure usa l'elaborazione con riferimento / fotogrammi iniziali e finali per mantenere la continuità tra i punti di montaggio.

L'URL di output è permanente? No. output[0].url contiene expireAt e va trattato come una consegna temporanea — scaricalo o ricaricalo subito dopo che il task riporta success.

Pronto a provarlo? Ottieni una chiave dalla console hiapi, inserisci il tuo prompt nella chiamata curl sopra e renderizza il tuo primo video verticale in 1080p — che tu scelga un'anteprima a bassa risoluzione o direttamente la piena risoluzione, il costo è sempre $0.75.

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