HiAPI
Blog

Tutoriale

Runway API da testo a video: guida per sviluppatori all'uso di Gen-4.5 tramite hiapi

Spiegazione dei parametri, come scrivere prompt cinematografici e un esempio di richiesta eseguibile subito all'endpoint runway-gen-4.5/text-to-video

Oct 31, 2026
文章封面图:暖炭色背景上一条琥珀色宽光带横向掠过,下方有一条橄榄棕色细线,整体扁平克制。

Perché usare un endpoint gestito di testo a video

Il testo a video non sostituisce i flussi di generazione o modifica delle immagini: è una capacità fondamentale diversa. Un modello di immagine ti dà un fotogramma fisso, che puoi ritagliare, ritoccare o comporre. Una chiamata di testo a video ti dà il movimento: movimento della camera, azioni del soggetto e luce che cambia nel tempo. Se il tuo prodotto ha bisogno di una clip video — una breve scena di marketing, un loop di sfondo in-app, l'anteprima di una scena — una singola chiamata "da richiesta a clip" è spesso il percorso più rapido dall'idea al materiale.

Il prezzo è il controllo. Descrivi il movimento con le parole invece di definirlo con i fotogrammi chiave, quindi il modello deve interpretarlo da solo. Questo rende la qualità del prompt ancora più importante che nei compiti sulle immagini, e rende il ciclo di iterazione più importante di un tentativo singolo.

L'endpoint gestito fornito tramite hiapi elimina il lavoro infrastrutturale attorno a questa capacità fondamentale: ottieni un'interfaccia coerente, un unico modello di credenziali e una struttura di risposta uniforme tra i modelli video che chiami. Passi il tempo sui prompt e sull'integrazione nel prodotto, non sulle pipeline di storage, sul polling dei job e sugli SDK dei vari fornitori.

Casi d'uso adatti:

  • Clip brevi generate su richiesta dall'input dell'utente o da template
  • Esplorazione rapida di concetti prima di investire in una pipeline di produzione completa
  • Materiale di sfondo e B-roll, utilizzabile anche se una singola generazione presenta piccoli difetti

Casi non adatti: qualsiasi esigenza di continuità precisa al fotogramma, output deterministico o coerenza narrativa su lunghe durate. Prevedi un budget per diverse clip candidate per ogni risultato utilizzabile.

La struttura dell'endpoint runway-gen-4.5/text-to-video

Concettualmente, una richiesta a runway-gen-4.5/text-to-video è composta da tre parti: il prompt, le impostazioni a livello di richiesta e la tua identità/autorizzazione. Solo la prima parte è creativa; le altre due determinano come viene eseguito il modello e come viene fatturato.

Cosa invii

  • La stringa del prompt. L'input creativo principale: descrivi soggetto, azione, camera, luce e atmosfera in linguaggio naturale.
  • Impostazioni a livello di richiesta. Proporzioni, durata e qualsiasi flag di generazione esposto dall'endpoint. Questi determinano la forma del contenitore dell'output, non il suo contenuto.
  • Header di autenticazione. La tua chiave hiapi, da includere a ogni chiamata. Trattala come un segreto; non pubblicarla mai nel codice lato client.

Cosa ricevi

La generazione video non è istantanea, quindi a seconda di come viene chiamato l'endpoint potresti ricevere un handle di job da interrogare, oppure una risposta che si risolve in un URL del media. In entrambi i casi ricevi un riferimento alla clip generata, non i byte grezzi inline. Se devi usare il materiale oltre la scadenza dell'URL restituito, scaricalo e salvalo nel tuo storage.

Un modello mentale utile: l'endpoint è una funzione che mappa (prompt, settings) in una clip più metadati. La tua integrazione dovrebbe trattarlo come asincrono, ritentabile e non deterministico: gli stessi input non producono sempre la stessa clip, e questo è il comportamento previsto, non un difetto.

Mantieni la costruzione della richiesta semplice e noiosa. Scrivi un piccolo wrapper interno che assembla il body della richiesta, allega l'autenticazione, invia la chiamata e normalizza la risposta in { status, videoUrl, error }. Tutte le sezioni successive di questa guida presumono che questo wrapper esista già.

Scrivere prompt cinematografici che funzionano nel movimento

Gli aggettivi vaghi crollano nel movimento. "A beautiful cinematic shot of a city" non dà al modello nulla da animare, quindi genera qualcosa di generico e fluttuante. La soluzione è specificare i quattro elementi che servono a un operatore: soggetto, camera, luce e movimento.

Nomina il soggetto e l'azione

Indica cosa c'è nell'inquadratura e cosa fa durante la clip. Fornisci un punto di partenza e un punto di arrivo implicito, in modo che il modello abbia una traiettoria di movimento da seguire.

A lone cyclist rides from left to right along a wet coastal road, 
pedaling steadily as spray kicks up from the rear wheel.

Specifica esplicitamente la camera

Usa un linguaggio di regia che il modello possa mappare in movimento: lento push-in, grandangolo fisso, inseguimento a mano, tracking dal basso, lenta panoramica a destra, discesa aerea. Un solo movimento di camera per clip è più sicuro di tre movimenti in conflitto.

Static wide shot, camera at ground level, no zoom.

Specifica luce e ora del giorno

La luce determina gran parte del livello di produzione percepito. Indica la fonte e la qualità: luce diurna diffusa con cielo coperto, forte sole pomeridiano da sinistra dell'inquadratura, neon pratici riflessi su superfici bagnate notturne.

Descrivi movimento fisicamente credibile

Il movimento rapido nelle clip brevi produce scie e sfocature. Preferisci una singola azione leggibile a velocità moderata rispetto a molti eventi rapidi. Se vuoi tensione, ottienila dal movimento della camera e dalla luce, non facendo accadere una dozzina di cose contemporaneamente.

Mantieni un solo paragrafo

Un paragrafo compatto di una o tre frasi batte un elenco puntato di specifiche. Scrivilo come descrizione di un'inquadratura, non come una lista dei desideri. Evita di accumulare aggettivi di stile; scegli un'immagine e portala fino in fondo.

Un template affidabile:

[Subject + action]. [Camera framing and movement]. [Lighting and time of day]. [Environment and atmosphere].

Riscrivi il tuo prompt in questo template prima di modificare qualsiasi impostazione.

Una richiesta eseguibile, passo per passo

Questo walkthrough presume Node.js e una funzione wrapper, ma la struttura non dipende dal linguaggio.

Passo 1: scrivi l'inquadratura

A chef slices vegetables on a wooden board in a small kitchen, 
hands moving steadily. Static medium close-up, camera at counter height, 
no zoom. Warm tungsten light from an overhead lamp, soft shadows, 
light steam in the background.

Passo 2: scegli le impostazioni della richiesta

Scegli le proporzioni adatte al luogo in cui la clip verrà usata e la durata più breve che racconta la storia. Le clip brevi falliscono in fretta e costano meno da esplorare.

Passo 3: invia la chiamata

const res = await fetch(`${HIAPI_BASE}/runway-gen-4.5/text-to-video`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.HIAPI_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    prompt: shotPrompt,
    aspect_ratio: '16:9',
    duration: 5,
  }),
});

const data = await res.json();
if (!res.ok) throw new Error(data.error ?? `HTTP ${res.status}`);

Passo 4: ottieni la clip

Se la risposta contiene un handle di job, interrogala con intervalli di backoff crescenti finché non raggiunge uno stato terminale. Se contiene direttamente l'URL del media, passa al passo 5.

Passo 5: salva il materiale

Scarica la clip e archiviala con i tuoi identificatori. Considera l'URL restituito come un indirizzo temporaneo.

Passo 6: registra i punti decisionali

Registra insieme prompt, impostazioni e materiale generato. È questo log che rende la sezione successiva — il tuning — praticabile anziché basata su congetture.

Ottimizzare l'output senza modificare il prompt

Quando una clip delude, l'istinto è riscrivere il prompt. Resisti per un giro. Prompt e impostazioni sono variabili indipendenti, e cambiare entrambe insieme distrugge la capacità di capire quale fosse davvero il problema.

Isola le variabili

Mantieni fisso il prompt e modifica esattamente un'impostazione a livello di richiesta: proporzioni, durata o un flag di generazione. Esegui di nuovo. Se la clip migliora, il problema era strutturale, non creativo. Se non migliora, ripristina quell'impostazione e passa a modificare il prompt.

Usa le impostazioni per risolvere problemi strutturali

  • La composizione non corrisponde al posizionamento? Cambia le proporzioni.
  • L'azione viene troncata prima di completarsi? Aumenta la durata.
  • Tutto fluttua senza punti di ancoraggio? Accorcia la clip, così non ha abbastanza tempo per fluttuare.

Usa le modifiche al prompt per risolvere problemi di contenuto

  • Soggetto sbagliato o assente? Nominalo prima e rendilo specifico.
  • La camera vaga? Elimina tutte le parole sulla camera tranne il movimento che vuoi.
  • Piatto e senza vita? Aggiungi una fonte di luce e una direzione.

Fai un piccolo test A/B

Fissa un prompt di base, genera tre varianti, ciascuna con una sola clausola modificata. Confrontale affiancate, non a memoria. La non determinismo significa che una singola clip scadente non è una prova; prima di concludere che una clausola sia dannosa, cerca uno schema su due o tre esecuzioni.

Scrivi le conclusioni nel log che già mantieni. Dopo una dozzina di iterazioni, questo diventa un manuale di prompt e impostazioni specifico per il tuo prodotto, il cui valore supera di gran lunga qualsiasi elenco generico di prompt.

Debug dei fallimenti comuni

La maggior parte dei fallimenti della prima settimana rientra in quattro categorie. Il percorso di indagine è diverso per ciascuna.

Richiesta rifiutata o bloccata

Una risposta non 2xx con un messaggio di policy significa che il prompt o le impostazioni non sono stati accettati. Leggi il body della risposta di errore invece di riprovare alla cieca. Riscrivi la descrizione problematica, rimuovi persone reali o marchi citati esplicitamente, quindi invia di nuovo. Registra il prompt rifiutato così com'è: i rifiuti ricorrenti di solito risalgono a un'abitudine nel template dei prompt.

Timeout

La generazione video è lenta. Se il tuo client HTTP va in timeout prima che l'endpoint risponda, il job potrebbe essere ancora in esecuzione e verrà fatturato. Aumenta il timeout del client per le chiamate di generazione e sposta il polling in un worker in background, invece di tenere la richiesta sospesa.

Clip vuote o inutilizzabili

Una risposta riuscita ma una clip senza un soggetto riconoscibile di solito significa che il prompt è troppo astratto. Rileggilo rispetto al template soggetto-camera-luce-movimento. Se manca uno dei quattro elementi, è lì che devi intervenire.

Errori di autenticazione e configurazione

401 e 403 indicano un problema di chiave, non di prompt. Verifica che la chiave esista nell'ambiente di runtime, non solo nella tua shell locale, e verifica il formato dell'header. Prima vengono scoperti questi fallimenti, meno costano; scoprirli in produzione costa di più.

Una regola generale: classifica l'errore prima di cambiare qualsiasi cosa. Gli errori di prompt, di impostazioni e di infrastruttura richiedono correzioni diverse, e mescolarli spreca budget di generazione.

Costi, latenza e protezioni per la produzione

Prima di andare live, decidi come si comporta l'endpoint in caso di errore, perché la generazione video è la chiamata più costosa e lenta nella maggior parte dei prodotti.

Fai budget per clip, non per chiamata

La fatturazione video è solitamente legata alla lunghezza dell'output, quindi le clip più lunghe costano più di quelle brevi. Fai budget per unità di clip finita — inclusi tentativi ed elementi rifiutati — invece di contare le chiamate API. Imposta limiti di generazione per utente e per sessione. Per le tariffe attuali consulta il pannello prezzi; non codificarle nella logica di business.

Progetta per la latenza

Non bloccare mai una richiesta rivolta all'utente sulla generazione. Avvia il job, restituisci subito l'handle e consegna la clip tramite polling, webhook o notifica. Mostra l'avanzamento nell'interfaccia, così un rendering lento viene percepito come lavoro in corso e non come blocco. Metti in cache le clip generate per prompt e impostazioni, per evitare richieste di rigenerazione duplicate.

Valida prima di generare

Controlli economici prima della chiamata risparmiano elaborazioni costose dopo:

  • Imponi lunghezze minima e massima del prompt nel tuo wrapper
  • Rifiuta prompt privi di soggetto o azione
  • Valida le proporzioni rispetto all'obiettivo di rendering
  • Verifica che l'utente rientri nella sua quota

Modera sia in ingresso sia in uscita

Esegui un controllo testuale sul prompt prima dell'invio. Fai un controllo leggero sulla clip restituita prima di mostrarla. Entrambi costano meno di un incidente di supporto.

Mantieni un piano di riserva

Se la generazione fallisce o richiede troppo tempo, fornisci un fotogramma di copertina statico o una clip segnaposto invece di un errore. La funzionalità deve degradarsi, non interrompersi.

Inizia con un endpoint, un wrapper e un log; aggiungi gradualmente le protezioni man mano che scopri dove il prodotto fallisce davvero, e lascia che il pannello prezzi sia sempre l'unica fonte di verità sui costi.

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