Incorpora i sottotitoli nel video
Uno strumento che imprime i sottotitoli direttamente nei fotogrammi del video. Fornisci il video e il file dei sottotitoli in SRT o VTT, e ottieni un unico file in cui il testo fa parte dell'immagine: si vede su ogni telefono, social o TV, senza dover attivare nulla. Per video fino a 500 MB.
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.
Testo impresso o file separato: la differenza che conta
Un file di sottotitoli si può attivare o disattivare, ma dipende dal player: molti social e app di messaggistica lo ignorano del tutto. Quando i sottotitoli sono impressi nell'immagine, invece, viaggiano con il video ovunque e non spariscono mai. È la scelta giusta per Instagram, TikTok, WhatsApp e per i video mostrati su uno schermo che non hai sotto controllo. Il rovescio della medaglia: una volta impressi non si tolgono più, quindi conviene rileggere il file prima.
Come si usa: video più file dei sottotitoli
Servono due cose: il video e il suo file di sottotitoli, in formato SRT o VTT. Se non hai ancora i sottotitoli, li generi prima con lo strumento apposito e poi li porti qui. Il KIT unisce i due elementi e restituisce un nuovo video con il testo fisso in basso, leggibile. Non tocchi il montaggio, non apri programmi complicati: carichi, imposti e scarichi il file finito, pronto da pubblicare.
Prezzo e stato dello strumento
Costa $0.077 a richiesta più $0.0045 al minuto di video: un filmato di dieci minuti resta intorno ai $0.12, senza canoni fissi. Si paga la singola elaborazione con PayPal. Lo strumento è in arrivo: lo stiamo mettendo a punto e a breve potrai usarlo da questa pagina web, con l'API per chi lavora in automatico e, più avanti, app, email e Telegram come canali aggiuntivi.
Casi d'uso
Il Reel che si guarda in silenzio
Una pasticceria di Bologna pubblica un Reel con la ricetta. Con i sottotitoli impressi, chi lo guarda in fila alla cassa senza audio segue ogni passaggio, e il video non perde efficacia.
Il video mostrato a un evento
Rossi & Figli S.r.l. proietta un video istituzionale a una fiera, con l'audio coperto dal brusio. Il testo impresso fa arrivare comunque il messaggio a chi passa davanti allo stand.
Il messaggio video su WhatsApp Business
Un artigiano manda ai clienti un breve video di aggiornamento. I sottotitoli fissi garantiscono che tutti lo capiscano, anche chi apre WhatsApp col telefono in silenzioso.
Domande frequenti
Mi serve già un file di sottotitoli per usarlo?
Sì: questo strumento imprime dei sottotitoli che esistono già. Se non li hai, generali prima come file SRT o VTT con lo strumento dei sottotitoli, poi torna qui per incorporarli nel video.
Una volta impressi, posso toglierli?
No, il testo diventa parte dell'immagine e non si rimuove. Per questo conviene controllare bene il file dei sottotitoli prima di procedere. Se vuoi poterli disattivare, allora ti serve il file separato, non la versione impressa.
Posso scegliere carattere, dimensione e posizione?
Le opzioni di base per posizione e leggibilità ci sono; per impaginazioni molto particolari o effetti grafici serve un programma di montaggio dedicato. L'obiettivo qui è un testo chiaro e leggibile, veloce da ottenere.
Quanto può essere lungo o grande il video?
Fino a 500 MB e un'ora di durata. Per file più lunghi conviene dividerli prima e incorporare i sottotitoli su ciascun blocco.
Come pago e dove finisce il video?
Si paga a consumo con PayPal, senza account. Il video viene elaborato per aggiungere il testo e poi eliminato: non lo conserviamo. Per un dubbio specifico sui tuoi dati, scrivici e ti risponde una persona.
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/video/burn-subtitles \
-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/video/burn-subtitles", {
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/video/burn-subtitles",
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/video/burn-subtitles", 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/video/burn-subtitles", 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": "video.burn_subtitles",
"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 | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
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. |