← Tutte le idee Intelligenza artificiale

Dramaclaw

Dalla sceneggiatura al video finito, con l'AI

Cosa fa

Un motore che crea video con l'AI partendo da una sceneggiatura: piccole serie, pubblicità, video di prodotto.

Come guadagna

Progetto open source su GitHub con oltre 6.000 stelle, che non dichiara incassi. Ha licenza non chiara: prendi spunto dall'idea, ma non riusare il codice senza chiedere agli autori. Idee nostre per guadagnare: crediti per generare video, servizio per aziende che vogliono pubblicità veloci.

Rendilo tuo

  • Per le piccole aziende italiane: lo spot di 15 secondi per i social, fatto in un'ora.
  • Attenzione ai costi: i video con l'AI costano, fai pagare prima di generare.

Le frasi da scrivere all'AI

1. Base del sito e grafica

Crea un'app web in italiano chiamata "Dal Copione al Video": trasforma una sceneggiatura breve (una pubblicità, un video di prodotto, un episodio di una mini serie) in un video: l'AI divide il copione in scene, prepara le inquadrature e genera le clip con personaggi coerenti. Usa React, Vite, TypeScript e Tailwind CSS.

Pagine da creare:
1. Pagina iniziale con esempi di video e prezzi
2. Registrazione e accesso
3. Nuovo progetto: incolla la sceneggiatura, scegli formato e stile
4. Storyboard: scene con descrizione dell'inquadratura, dialoghi, durata, da modificare
5. Montaggio finale con voce, musica e sottotitoli

Stile: da studio cinematografico: sfondo nero #0A0A0A, oro #D4A017, bianco, carattere "Bebas Neue" per i titoli e "Inter" per il resto, storyboard a riquadri. Nessuna immagine generica di stock.

Tutto deve funzionare perfettamente da telefono. Tutti i testi in italiano, chiari e senza parole tecniche.

2. Database, account e sicurezza

Collega il progetto a Supabase e attiva la registrazione con email e password.

Crea queste tabelle:
- "progetti": titolo, sceneggiatura, formato, stile, personaggi con descrizione fissa, collegati all'utente
- "scene": numero, inquadratura, dialogo, durata, clip generata, stato

Regole di sicurezza obbligatorie:
- ogni utente vede solo i suoi progetti
- i video stanno in uno spazio privato
- i crediti non si modificano dal browser

Usa esattamente il codice SQL che trovi nei "Dettagli tecnici" di questa scheda: eseguilo nel SQL Editor di Supabase prima di continuare, poi collega le pagine alle tabelle.

3. Dal copione allo storyboard

La sceneggiatura incollata va alla Edge Function "storyboard" (un credito): Claude la divide in scene in JSON con, per ognuna, l'inquadratura (campo largo, primo piano...), cosa si vede, il dialogo o la voce fuori campo, e la durata. Estrae anche i personaggi con una descrizione fissa, che verrà ripetuta in ogni scena per mantenerli coerenti.

L'utente modifica lo storyboard. Poi ogni scena si genera con un'API di generazione video (un credito per scena), con l'immagine di riferimento del personaggio quando serve.

Regole: niente persone reali riconoscibili senza consenso, niente marchi altrui, e la dicitura "Video generato con l'AI" dove le piattaforme lo richiedono.

4. Montaggio finale

Le clip pronte si mettono in fila sulla linea del tempo, con la voce dei dialoghi (sintesi vocale o registrata dall'utente), musica senza diritti e sottotitoli. Si rigenera solo la scena che non piace.

Esportazione in 9:16, 1:1 e 16:9. Libreria dei personaggi da riusare in più episodi.

5. Pagamenti con Stripe

Aggiungi pacchetti di crediti: 20 crediti a 19 €, 100 crediti a 79 €. Ogni nuovo utente riceve 3 crediti gratis. Lo storyboard costa un credito, ogni scena generata un credito. Mostra sempre in alto quanti crediti restano e, quando finiscono, un riquadro per comprarne altri.

A pagamento riuscito il webhook aggiunge i crediti del pacchetto con la funzione aggiungi_crediti.

Per la sessione di pagamento e il webhook segui la guida "Pagamenti con Stripe" di Fattibile.

6. Controlli specifici di questo progetto

Oltre ai controlli della guida "Controllo finale", verifica in particolare:
1. Coerenza: genera 4 scene con lo stesso personaggio: deve restare riconoscibile (viso, vestiti, colori).
Correggi quello che non va e scrivimi cosa hai cambiato.

Dettagli tecnici

Istruzioni per l'AI: storyboard

Le istruzioni fisse che la Edge Function "storyboard" dà a Claude, che risponde in JSON. Il resto della funzione (accesso, crediti, rimborso se l'AI rifiuta) è uguale per tutti i progetti: è nella guida "Chiamare l'AI dal server".

Sei un regista. Dividi la sceneggiatura in scene da 3-8 secondi. Per ogni scena: inquadratura, descrizione visiva dettagliata (luogo, luce, azione), personaggi presenti, dialogo o voce fuori campo, durata in secondi. Estrai i personaggi con una descrizione fisica fissa da ripetere identica in ogni scena. Rispondi solo con JSON: {"personaggi": [{"nome", "descrizione"}], "scene": [{"numero", "inquadratura", "descrizione", "personaggi": [], "dialogo", "secondi"}]}.

Scene e personaggi coerenti

Le scene del progetto; la funzione costruisce le istruzioni di ogni scena aggiungendo sempre la descrizione fissa dei personaggi presenti.

create table progetti (
  id uuid primary key default gen_random_uuid(),
  utente_id uuid not null references auth.users(id) on delete cascade,
  titolo text not null,
  sceneggiatura text not null,
  formato text not null default '9:16',
  stile text not null default 'cinematografico',
  personaggi jsonb not null default '[]'      -- [{ nome, descrizione, immagine }]
);

create table scene (
  id uuid primary key default gen_random_uuid(),
  progetto_id uuid not null references progetti(id) on delete cascade,
  utente_id uuid not null references auth.users(id) on delete cascade,
  numero int not null,
  inquadratura text not null,
  descrizione text not null,
  personaggi text[] not null default '{}',
  dialogo text,
  secondi int not null,
  clip_path text,
  stato text not null default 'da_generare' check (stato in ('da_generare', 'in_corso', 'pronta', 'errore'))
);

alter table progetti enable row level security;
create policy "le mie righe" on progetti
  for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);

alter table scene enable row level security;
create policy "le mie righe" on scene
  for all using (auth.uid() = utente_id) with check (auth.uid() = utente_id);

-- Istruzioni complete di una scena, con lo stile e i personaggi sempre uguali
select p.stile || '. ' || s.inquadratura || '. ' || s.descrizione || ' ' ||
       coalesce((select string_agg(x ->> 'nome' || ': ' || (x ->> 'descrizione'), '; ')
                 from jsonb_array_elements(p.personaggi) x
                 where x ->> 'nome' = any (s.personaggi)), '') as istruzioni
from scene s join progetti p on p.id = s.progetto_id
where s.id = 'ID-SCENA';

Pezzi comuni a tutti i progetti

Glossario

JSONB
Un tipo di colonna che contiene dati strutturati flessibili, come un piccolo documento.
Storage
Lo spazio di Supabase dove si salvano i file, come foto e audio, con le sue regole di accesso.
Storyboard
La sequenza delle scene di un video descritte (o disegnate) prima di girarlo.