Formato JSON per i video AI (I°)

Un tutorial sul formato JSON come strumento per generare prompt che permettono un maggior controllo nella generazione dei video con l’AI, prima parte.

Questo tutorial esamina l’uso del formato JSON per i prompt destinati alla generazione di video. L’adozione di questo formato non attiva funzioni speciali che non si potrebbero ottenere con altre forme di prompt. Il vantaggio del JSON consiste nel fornire un modo strutturato e formale di organizzare le stesse informazioni che si possono esprimere usando il linguaggio naturale. I modelli linguistici hanno dimostrato di interpretare meglio input privi di ambiguità e caratterizzati da coppie chiave-valore ben definite, elaborando tali input come dati di alta qualità.
Occorre considerare che descrivere in linguaggio naturale tutti i parametri che intervengono in una scena (soggetto, ambientazione, ottica, movimento, illuminazione) è possibile ma complesso. Questa modalità richiede un’esposizione rigorosa e una sintassi chiara. JSON obbliga a esplicitare ogni parametro in una forma specifica, facilitando la chiarezza, la riutilizzabilità e l’integrazione in workflow automatizzati.
Questo tutorial mostra come questa struttura aiuti a ridurre l’ambiguità e a migliorare la coerenza degli output nei video, ma i principi rimangono applicabili anche per la generazione di immagini.
Vista la lunghezza l’articolo viene suddiviso in due parti, questa è la prima parte, la seconda parte si trova qui.

Contesto e obiettivo
Il controllo dell’output rappresenta uno dei problemi principali nelle AI generative. Nel caso specifico dei video, gli utenti più esperti cercano modi per controllare con precisione gli output e per ridurre la variabilità tipica dei prompt descrittivi in linguaggio naturale. Uno dei metodi più promettenti fa uso del formato JSON (JavaScript Object Notation) per strutturare i prompt.
L’idea di base è che i modelli riconoscono meglio input formali rispetto a descrizioni vaghe. Nel contesto video, il passaggio dalla narrazione libera a strutture JSON permette di definire in modo esplicito tutti i parametri necessari, come location, soggetti, parametri di ripresa, stile visivo, audio e durata.

Perché usare JSON anziché un prompt testuale

Riduzione dell’ambiguità

Nei prompt tradizionali, elementi come tipo di inquadratura, movimento di camera, tono cromatico o presenza di testo sono spesso impliciti oppure inseriti in modo casuale e incoerente. Un semplice prompt come
“una donna cammina per le strade di Tokyo al tramonto”
lascia indefiniti molti dettagli.
L’adozione del formato JSON risolve questo problema perché costringe l’utente a specificare campi come shot_type, lens, movement e angle, eliminando l’ambiguità. La struttura a coppie chiave-valore permette di definire anche parametri tecnici (fps, risoluzione, durata) che i modelli solitamente interpretano in modo arbitrario.
Controllo cinematografico e coerenza
Un prompt JSON può descrivere in dettaglio la composizione, il movimento della camera, la luce e persino le caratteristiche dell’obiettivo. L’adozione di questo formato permetterebbe la descrizione del video da generare attraverso più sezioni suddivise in scene, character, camera, visual_style, environment, audio e technical, ognuna con le relative proprietà. Questa suddivisione consente di replicare facilmente lo stesso stile su più generazioni perché permette di intervenire solo sulle parti che devono essere modificate lasciando immutate le altre, riducendo in modo significativo la variabilità di personaggi e ambientazioni.
{
“sezione1”: {
“parametro_1”: “valore del parametro 1”,
“parametro_2”: “valore del parametro 2”,
“parametro_3”: “valore del parametro 3”,
“parametro_4”: “valore del parametro 4”
},
“sezione2”: {
“parametro_5”: “valore del parametro 5”,
“parametro_6”: “valore del parametro 6”
},
“sezione3”: {
“parametro_7”: “valore del parametro 7”,
“parametro_8”: “valore del parametro 8”,
“parametro_9”: “valore del parametro 9”
}
}

Gestione di elementi paralleli
I video hanno elementi che si sviluppano in parallelo (immagine, movimento, suono) che un prompt lineare fatica a descrivere. JSON permette di annidare campi, per esempio per definire eventi con una certa sequenza temporale.
{
“sezione1”: {
“parametro_1”: “valore del parametro 1”,
“parametro_2”: {
“sotto_parametro_1”: “valore del sotto-parametro 1”,
“sotto_parametro_2”: “valore del sotto-parametro 2”
},
“parametro_3”: [“voce 1”, “voce 2”, “voce 3”]
},
“sezione2”: {
“parametro_4”: “valore del parametro 4”,
“parametro_5”: {
“sotto_parametro_3”: “valore del sotto-parametro 3”,
“sotto_parametro_4”: [“elemento A”, “elemento B”]
},
“parametro_6”: [“azione 1”, “azione 2”]
},
“sezione3”: {
“parametro_7”: “valore del parametro 7”,
“parametro_8”: {
“sotto_parametro_5”: “valore del sotto-parametro 5”,
“sotto_parametro_6”: {
“ulteriore_campo”: “valore ulteriore”
}
},
“parametro_9”: [
{“chiave”: “valore1”, “altra_chiave”: “valore2”},
{“chiave”: “valore3”, “altra_chiave”: “valore4”}
]
},
“sezione_finale”: [“elemento da evitare 1”, “elemento da evitare 2”]
}

Coerenza e riutilizzo
I template JSON consentono di riutilizzare schemi per assicurare coerenza stilistica, soprattutto in produzioni seriali. Grazie alla loro modularità è possibile creare librerie di prompt facilmente riutilizzabili.
Riduzione degli artefatti e dell’allucinazione
Un effetto aggiuntivo dei prompt strutturati è la riduzione degli errori come il numero errato di personaggi o i cambi di scena non richiesti. La possibilità di indicare campi negatives o prohibited_elements (per esempio “niente sottotitoli”) evita che il modello generi elementi indesiderati.
Allineamento con l’addestramento dei modelli
I modelli linguistici riconoscono meglio le strutture JSON perché il loro addestramento comprende codice, documentazione e file di configurazione. JSON fornisce un testo senza ambiguità che il modello può interpretare senza essere costretto a completare. Questo riduce le allucinazioni e migliora la qualità delle risposte.

Componenti di un prompt JSON per video

In generale, un prompt JSON per la generazione di video comprende le seguenti sezioni:

Scene: location, ora del giorno, atmosfera e ambiente.
Character: descrizione fisica, abbigliamento e azione del personaggio. Può includere pose, espressioni e accessori.
Camera: tipo di inquadratura, lunghezza focale, movimento, angolo.
Visual_style: controllo dell’estetica attraverso color grading, profondità di campo, illuminazione, tono e note su elementi da evitare.
Environment: elementi dell’ambiente, condizioni meteorologiche e atmosfera.
Audio: eventi sonori sincronizzati come ambienti, musica, effetti e dialoghi con timestamp.
Technical : parametri come durata, aspect ratio e risoluzione
Negatives: elenco di elementi da evitare.
La struttura può essere ulteriormente arricchita con altre sezioni o con sottosezioni/array.

Nella seconda parte di questo tutorial verranno approfonditi gli aspetti pratici dell’implementazione, con template pronti all’uso ed esempi pratici.

Potrebbe interessarti

  • La campagna SIAE #CopyOrRight

    La SIAE ha lanciato la campagna #CopyOrRight per influenzare il percorso del DDL sulle AI in corso di approvazione. Ma non mi sembra argomentare bene.

  • Diavoli e angeli

    Un test, con modelli SDXL e ComfyUI, per ricreare un’immagine generata mesi fa con SD2.1 e A1111. Anche un modo per capire meglio il sistema ed i prompt

  • Le AI fanno tutto loro?

    Le slide delle presentazione che ho fatto a BookCity Milano domenica 16 novembre, ma anche un test con Canva (la risposta alla domanda del titolo è DIPENDE)

  • Progettista della visione fotografica

    Ultimo articolo di questa serie su fotografi e AI. L’arrivo di questi strumenti non comporta solo l’uso di nuovo strumenti, forse occorre anche cambiare il nome?