Il problema che risolve
Giornalisti locali e cittadini vogliono sapere cosa hanno detto gli amministratori su una variante urbanistica, una voce di bilancio o una politica scolastica. Trovarlo significa scorrere ore di video in molte sedute. Ordini del giorno e verbali raramente riportano l'intera discussione, e molte redazioni locali non hanno più cronisti presenti a ogni seduta.
Cosa includere nella prima versione
- Importazione automatica di ogni seduta dal canale dell'ente
- Etichette degli speaker per cercare per singolo amministratore
- Ricerca per argomento e parola chiave su anni di sedute
- Avvisi quando si discute di un argomento o di un indirizzo
- Link condivisibili al momento esatto della registrazione
Come realizzarla, passo dopo passo
- 01
Raccogli i video delle sedute
Risolvi il canale del consiglio o la playlist delle sedute e continua a controllare i nuovi caricamenti.
- 02
Trascrivi con gli speaker
Usa l'ASR con speakerLabels attivo, e speakerId con i nomi noti, così ogni passaggio viene attribuito a un oratore. Le sedute sono lunghe, quindi usa l'endpoint di stima per vedere il costo in anticipo.
- 03
Indicizza per seduta e speaker
Salva i paragrafi con data della seduta, speaker e timestamp, e aggiungi la ricerca full-text e semantica.
- 04
Aggiungi gli avvisi
Permetti agli utenti di salvare ricerche, come il nome di una via o un tema di policy, e invia loro un'email quando se ne parla in una nuova seduta.
Codice di partenza
Questa idea si basa sullo schema "Ricetta 3: carica in blocco una playlist in una knowledge base". Sostituisci canali, prompt e storage con i tuoi.
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
"limit": 100}).json()
ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
"video_ids": ids,
"format": {"timestamp": True, "paragraphs": True},
}).json()
# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
if r["status"] == "completed":
for p in r["data"]["transcript"].get("paragraphs") or []:
store(video_id=r["video_id"], start=p["start"], text=p["text"]) # your vector DBPerché vale la pena realizzarla
Testate locali, gruppi di advocacy e società immobiliari o di consulenza pagheranno per avvisi e strumenti di ricerca. I progetti civici spesso si reggono su finanziamenti o offrono un archivio pubblico gratuito con avvisi a pagamento.
Errori da evitare
- Affidarsi ai sottotitoli automatici per sedute lunghe con molti oratori: le etichette degli speaker rendono l'archivio molto più utile.
- Sottovalutare la durata: le sedute durano ore, quindi stima i crediti ASR prima di trascrivere un arretrato.
- Pubblicare senza contesto: collega ogni citazione alla registrazione così i lettori possono ascoltarla di persona.
Domande su questa idea
Posso trascrivere le sedute del consiglio comunale da YouTube?
Sì. Usa i sottotitoli quando esistono, oppure il riconoscimento vocale AI con etichette degli speaker per trascrizioni più leggibili delle sedute lunghe.
Come identifico chi sta parlando?
Attiva le etichette degli speaker per separare gli oratori e l'identificazione degli speaker con un elenco di nomi o ruoli noti per attribuirli.
Quanto costa trascrivere una seduta di tre ore?
Il riconoscimento vocale AI costa circa 40 crediti all'ora, esclusi i componenti aggiuntivi. Usa l'endpoint di stima per vedere il costo esatto prima di iniziare.