DocumentazioneLink e opzioni di trascrizione
Link e opzioni di trascrizione
Verifica i link accettati e scegli tra sottotitoli e IA. Configura la lingua e il riconoscimento dei parlanti.
Puoi partire da un link di YouTube, X, TikTok, Instagram, Facebook o Bluesky, oppure da un file. Nella tabella trovi anche le altre piattaforme accettate e i link da usare per le registrazioni pubbliche.
Nel body di POST /v1/transcriptions puoi aggiungere source per scegliere tra sottotitoli e audio, diarize per il riconoscimento dei parlanti e language per la lingua. Sono tutti facoltativi.
Piattaforme supportate
Inserisci il link in url: l'API capisce da sola di quale piattaforma si tratta. Puoi anche specificare platform, purché corrisponda al link.
| Piattaforma | Link accettati |
|---|---|
YouTube (youtube) | I formati di link elencati nella sezione dedicata qui sotto. |
X (x) | Link a post con video su x.com o twitter.com, per esempio https://x.com/user/status/1234567890. |
TikTok (tiktok) | Link a video su tiktok.com. Funzionano anche i link brevi vm.tiktok.com, vt.tiktok.com e www.tiktok.com/t/. |
Instagram (instagram) | Reel e post con video su instagram.com, nei percorsi /reel/, /reels/, /p/ o /tv/. Accettiamo anche i link a reel e post che includono prima il nome utente. |
Facebook (facebook) | Video e reel su facebook.com, anche nei link watch. Puoi usare anche fb.watch e i link brevi /share/v/ e /share/r/. |
Bluesky (bluesky) | Link a post con video su bsky.app, per esempio https://bsky.app/profile/user.example/post/3l3w4b5c6d7e2. |
Twitch (twitch) | VOD di trasmissioni già concluse: twitch.tv/videos/<id> oppure /<channel>/v/<id> (anche video al posto di v). Per le clip: clips.twitch.tv/<slug>, twitch.tv/<channel>/clip/<slug> o /clip/<slug>. Host accettati: twitch.tv, www, m, go e clips.twitch.tv. |
Dailymotion (dailymotion) | Video con link dailymotion.com/video/<id>, anche con _title, oppure /embed/video/<id> o dai.ly/<id>. Funzionano anche www.dailymotion.com e touch.dailymotion.com. |
Pinterest (pinterest) | Pin con video nativo su pinterest.com o www.pinterest.com: /pin/<id>/ o /pin/<slug>--<id>/. Trascriviamo il primo blocco video nativo. Non accettiamo video incorporati da altri siti, immagini, bacheche, pin.it o domini regionali. |
LinkedIn (linkedin) | Post pubblici con video su linkedin.com o www.linkedin.com: /posts/<slug>-<activity-id>-<four-character-suffix> o /feed/update/urn:li:activity:<id>/. Non accettiamo profili, LinkedIn Learning, eventi o link lnkd.in. |
Snapchat Spotlight (snapchat) | Link /spotlight/<id> su snapchat.com o www.snapchat.com. Sono accettati i video Spotlight, non le storie o i profili. |
Per Twitch, Dailymotion, Pinterest, LinkedIn e Snapchat, il link deve usare HTTPS, senza credenziali né porte personalizzate. Deve portare a una singola registrazione pubblica: niente post privati o che richiedono il login, dirette ancora in corso o in elaborazione, profili, feed o raccolte. Non inviamo cookie di account alla piattaforma. I parametri temporali del link non accorciano la registrazione. Con le clip Twitch e Snapchat Spotlight, media_id può essere una stringa opaca: salvala senza modificarla e non tentare di ricostruire l'ID dall'URL.
Su X, TikTok, Instagram, Facebook e Bluesky, scegli un post pubblico. Se contiene più video, trascriviamo solo il primo. Non funzionano profili, storie, pagine di dirette o post fotografici di TikTok. Se serve il login, ricevi login_required; se manca la traccia audio, ricevi no_audio. In entrambi i casi non paghi.
Su YouTube, X, TikTok, Bluesky, Dailymotion e LinkedIn possiamo usare i sottotitoli, ma solo se il video ha una traccia adatta nella lingua originale. Su Instagram, Facebook, Twitch, Pinterest e Snapchat trascriviamo sempre l'audio con IA: scegli auto o stt, non captions. Il prezzo al minuto è identico per tutte le piattaforme e per i file, e dipende dalla durata misurata.
Per i link brevi, attieniti ai formati della tabella. Se al momento dell'invio il link di condivisione non contiene l'ID del post, non possiamo abbinarlo a una trascrizione precedente. Per riutilizzare le trascrizioni, preferisci il link completo del post.
| Piattaforma | Sottotitoli disponibili e timestamp |
|---|---|
| YouTube e X | Usiamo le tracce già presenti. I timestamp delle parole sono disponibili solo nei sottotitoli generati automaticamente da YouTube. |
| TikTok | Usiamo i sottotitoli nativi VTT o SRT, quando disponibili. Hanno i timestamp dei segmenti, non delle parole. |
| Bluesky | Accettiamo le tracce native del video sul PDS attendibile supportato, non host federati qualsiasi né video citati o esterni. Timestamp solo per i segmenti. |
| Dailymotion | Accettiamo file SRT diretti, non playlist di sottotitoli. Timestamp solo per i segmenti. Le tracce riconosciute come en-auto/fr-auto riportano auto_generated. |
| Usiamo le tracce VTT dei post pubblici con video nativo, non di LinkedIn Learning. Timestamp solo per i segmenti. |
Quali link YouTube usare
Metti il link del video in url e lascia fuori platform, oppure usa youtube. Accettiamo questi formati, sia con www. sia senza:
| Tipo di link | Esempio |
|---|---|
| Pagina di riproduzione | https://www.youtube.com/watch?v=dQw4w9WgXcQ |
| Link abbreviato | https://youtu.be/dQw4w9WgXcQ |
| Shorts | https://www.youtube.com/shorts/dQw4w9WgXcQ |
| Video incorporato | https://www.youtube.com/embed/dQw4w9WgXcQ |
| Link di una diretta | https://www.youtube.com/live/dQw4w9WgXcQ |
| Sito mobile e YouTube Music | https://m.youtube.com/watch?v=dQw4w9WgXcQ, https://music.youtube.com/watch?v=dQw4w9WgXcQ |
Non serve ripulire il link: ignoriamo parametri come t, list e si e riconosciamo lo stesso video in tutti i formati. Serve però l'URL completo, non il solo ID di 11 caratteri. Con pagine di canali, link a sole playlist o link non supportati ricevi 422 invalid_url. Se platform ha un valore sconosciuto, ricevi 422 unsupported_platform e l'elenco supported_platforms.
Il video deve essere pubblico o non in elenco. Per i video privati, con limiti di età o ancora in diretta ricevi rispettivamente media_private, age_restricted o live_stream. Se hai il file, puoi caricarlo direttamente.
source
Con source scegli se leggere i sottotitoli già presenti o trascrivere l'audio.
| Valore | Come funziona |
|---|---|
auto (predefinito) | Cerca prima sottotitoli adatti nella lingua originale su YouTube, X, TikTok, Bluesky, Dailymotion e LinkedIn. Se non può usarli, trascrive l'audio con IA. |
captions | La modalità captions (solo sottotitoli) funziona sulle piattaforme che supportano le tracce di sottotitoli. Non scarica audio e non avvia STT. Senza una traccia adatta ricevi no_captions e non paghi; se il recupero del contenuto della traccia non riesce, ricevi fetch_failed. Sulle altre piattaforme l'API risponde 422 invalid_request. |
stt | Usa sempre l'audio per la trascrizione con IA, senza cercare sottotitoli. |
Per i file, la trascrizione parte sempre dall'audio. Puoi impostare source su auto o stt; con captions ricevi 422 invalid_request.
La traccia deve essere nella lingua richiesta, oppure in quella originale del video se language è auto. Su YouTube usiamo sottotitoli caricati dal creator o generati da YouTube in quella lingua, mai traduzioni automatiche. Scegliamo prima quelli del creator, poi le tracce di origine sconosciuta e infine quelle generate automaticamente. Una traccia di origine sconosciuta non va attribuita al creator.
Su X usiamo le tracce VTT disponibili: hanno i timestamp dei segmenti, ma mai quelli delle parole, anche quando i sottotitoli sono generati automaticamente. In modalità auto passiamo a STT se il contenuto della traccia manca o non si riesce a interpretarlo. Non lo facciamo per errori di routing, storage o programmazione. Con stt saltiamo sempre i sottotitoli.
diarize
Attiva diarize per il riconoscimento dei parlanti. Di default vale false.
- Per distinguere chi parla serve la trascrizione dell'audio. Con
sourcesuautoediarize: true, l'API avvia direttamente lo speech-to-text. - Non abbinare
source: "captions"adiarize: true: riceveresti422 invalid_request. - Trovi etichette come
Speaker 1eSpeaker 2intranscript.speakerse nel campospeakerdi ogni segmento. Nei formatitextesrtil testo ha il prefissoSpeaker 1:; invttc'è il tag voce<v Speaker 1>.
{ "platform": "youtube", "url": "https://youtu.be/dQw4w9WgXcQ", "source": "stt", "diarize": true }language
Lascia language su auto, il valore predefinito, oppure indica un codice ISO 639-1 di due lettere, come en, de o es.
- Se usi i sottotitoli,
languageseleziona la lingua della traccia. Conautoscegliamo quella originale del video. - Se usi lo speech-to-text, il provider riceve la lingua come suggerimento. Con
autola rileva da solo e ogni segmento riporta la proprialanguage.
Nel campo language dell'oggetto trascrizione trovi la lingua prevalente.
Da dove arriva il testo e quali dati ricevi
Controlla transcript_source per sapere da dove arriva il testo: youtube_captions, x_captions, tiktok_captions, bluesky_captions, dailymotion_captions, linkedin_captions o speech_to_text. Per i sottotitoli trovi anche caption_kind: manual, auto_generated oppure null. Quest'ultimo indica un'origine sconosciuta, non sottotitoli caricati dal creator.
youtube_captions, caption_kind manual | youtube_captions, caption_kind auto_generated | speech_to_text | |
|---|---|---|---|
| Segmenti | Un segmento per ogni blocco di sottotitoli | Un segmento per ogni blocco di sottotitoli | Un nuovo segmento a ogni cambio di parlante o lingua, a fine frase o al raggiungimento di 15 secondi |
Timestamp delle parole con include=words | Non disponibili (words è null) | Inizio di ogni parola; la fine coincide con l'inizio della successiva | Inizio e fine di ogni parola, con confidence |
| Riconoscimento dei parlanti | No | No | Sì, quando diarize è true |
| Lingua | Quella della traccia | Quella della traccia | Indicata per ogni segmento |
Conserviamo i sottotitoli di YouTube senza riscriverli, anche se contengono tag come [Music]. Per lo speech-to-text, la registrazione può durare fino a 5 ore; oltre questo limite ricevi media_too_long.
Per X (x_captions), TikTok, Bluesky, Dailymotion e LinkedIn ricevi solo i timestamp dei segmenti e nessuna etichetta dei parlanti. Anche per le tracce automatiche, include=words restituisce words: null in ogni segmento. Se ti servono i timestamp delle parole, scegli source: "stt". Per il riconoscimento dei parlanti, attiva diarize: true con auto o stt.
Quanto costa
Il prezzo non cambia tra sottotitoli e speech-to-text: consumi un credito per ogni minuto di registrazione, arrotondando per eccesso. Cambia l'origine del testo, non il costo. I dettagli sono in Costi e limiti.
Ultimo aggiornamento 20 ottobre 2026