Sottotitoli in WebVTT pronti per il player HTML5
Invii una traccia audio e riceverà un file .vtt con l'intestazione WEBVTT, tempi precisi e righe leggibili, pronto da collegare al tag track di un video HTML5. Nelle registrazioni lunghe la sincronia resta coerente a ogni giunzione. Paga a consumo, senza abbonamento.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Produce un file di sottotitoli in WebVTT (.vtt), il formato che i player video delle pagine web usano nel tag track dell'HTML5. Carichi l'audio di un video e ricevi le didascalie temporizzate pronte da collegare al tuo player: sincronizzate con il parlato, in italiano, senza doverle scrivere e cronometrare a mano.
Il formato di sottotitoli nato per il web
Quando i browser hanno iniziato a riprodurre video in modo nativo, serviva un formato di sottotitoli pensato per il web e non ereditato dai vecchi programmi per desktop. WebVTT nasce per questo: una struttura testuale con spazio per indicazioni di stile e posizione, aggiornata insieme allo stesso HTML. È il formato che l'elemento track si aspetta di default, quindi una pagina può mostrare sottotitoli su un video HTML5 senza plugin né player esterni. Il file che riceve inizia con l'intestazione WEBVTT e contiene tempi e testo nel formato corretto.
Sincronia, registrazioni lunghe e altre lingue
Ogni riga è sincronizzata con l'audio reale invece di essere tagliata a intervalli fissi, così il testo compare e scompare al ritmo della voce, senza ritardi né interruzioni a metà frase. Le registrazioni lunghe vengono elaborate a blocchi e la sincronia resta coerente a ogni giunzione, quindi anche un sottotitolo vicino a un confine cade al punto giusto. Gli editori lo usano per sottotitoli nativi, i siti di corsi generano una traccia, ne traducono il testo e offrono più lingue sullo stesso video. Controlli nomi e termini tecnici prima di pubblicare.
WebVTT: il formato dei sottotitoli sul web
Quando pubblichi un video direttamente sul tuo sito con il tag video dell'HTML5, i sottotitoli si aggiungono con un elemento track che punta a un file .vtt. È il formato nativo del browser: supporta anche indicazioni di posizione e stile che l'.srt non ha. Il KIT genera il file con l'intestazione WEBVTT, i blocchi temporizzati e il testo già spezzato in righe leggibili, così lo colleghi al player e i sottotitoli compaiono senza altri passaggi.
Dal file audio al track pronto
Carichi la traccia audio del video e lo strumento trascrive e temporizza in automatico. Il risultato è un .vtt che puoi mettere online insieme al video e richiamare dal tag track.
Costo e limiti
Nessun canone mensile, nessun numero massimo di video. File fino a 200 MB e tre ore. Pagamento a consumo con PayPal, senza account.
Casi d'uso
Video ospitati sul proprio sito
Un'agenzia di Firenze pubblica i video dei corsi direttamente sul sito, senza YouTube. Il file .vtt si collega al player HTML5 e i sottotitoli restano sotto il controllo del sito, senza dipendere da piattaforme esterne.
Accessibilità richiesta dalle norme
Un ente che deve rispettare i requisiti di accessibilità dei contenuti pubblici allega i sottotitoli WebVTT ai video istituzionali, rendendoli fruibili anche a chi non può ascoltare l'audio.
Domande frequenti
Perché WebVTT invece di .srt?
WebVTT è il formato che il tag track dell'HTML5 legge in modo nativo: è la scelta giusta se il video è ospitato sulle tue pagine. Se invece carichi il video su YouTube o lo passi a un montatore, di solito serve l'.srt, che il KIT genera con un altro strumento.
Come collego il file .vtt al video?
Dentro il tag video metti un elemento track con src verso il file .vtt e l'attributo della lingua. Il browser mostra i sottotitoli senza plugin. Il file che ricevi ha già l'intestazione WEBVTT corretta in cima.
Il testo è già diviso in righe leggibili?
Sì: le battute sono spezzate in righe di lunghezza adeguata e sincronizzate con il parlato. Se vuoi ritoccare una posizione o un tempo, apri il .vtt con un editor di testo e modifichi il blocco.
Posso generare tanti file in automatico?
Il costo resta a consumo, calcolato sulla durata di ciascun file.
Quanto costa e come si paga?
Si paga la singola elaborazione con PayPal, senza abbonamento.
Che ne è dell'audio dopo l'elaborazione?
Viene eliminato una volta generato il file di sottotitoli. Serve solo a produrre il .vtt e non viene conservato.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/audio/subtitles-vtt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/audio/subtitles-vtt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/subtitles-vtt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/subtitles-vtt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/subtitles-vtt", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"audio": "https://ejemplo.com/audio.mp3"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.subtitles_vtt",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 200 |
max_minutes | 180 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |
Note tecniche
Dal file audio al track pronto
Chi gestisce una piattaforma o un tema personalizzato può ottenere lo stesso file via API e inserirlo nel proprio flusso di pubblicazione, senza passare ogni volta dalla pagina.
Costo e limiti
$0.002 a richiesta più $0.0055 al minuto di audio: un video di mezz'ora costa intorno a $0.16, un'ora circa $0.33.
Casi di integrazione
Piattaforme di e-learning
Un portale di formazione aggiunge le didascalie a centinaia di lezioni. Generando i .vtt via API, ogni nuovo video esce già sottotitolato al momento della pubblicazione.