Export SRT or VTT caption files

Global Englishen
Australian Englishen_au
British Englishen_uk
US Englishen_us
Spanishes
Frenchfr
Germande
Italianit
Portuguesept
Dutchnl
Hindihi
Finnishfi
Polishpl
Russianru
Ukrainianuk
Vietnamesevi
Albaniansq
Amharicam
Assameseas
Bashkirba
Basqueeu
Belarusianbe
Bosnianbs
Bretonbr
Bulgarianbg
Catalanca
Croatianhr
Czechcs
Danishda
Estonianet
Faroesefo
Galiciangl
Greekel
Gujaratigu
Haitianht
Hausaha
Hawaiianhaw
Hebrewhe
Hungarianhu
Icelandicis
Indonesianid
Javanesejw
Kazakhkk
Laolo
Latinla
Latvianlv
Lingalaln
Lithuanianlt
Luxembourgishlb
Macedonianmk
Malagasymg
Malayms
Maltesemt
Maorimi
Norwegianno
Norwegian Nynorsknn
Occitanoc
Pashtops
Romanianro
Sanskritsa
Serbiansr
Shonasn
Sindhisd
Slovaksk
Sloveniansl
Somaliso
Sundanesesu
Swahilisw
Swedishsv
Tagalogtl
Tajiktg
Tatartt
Tibetanbo
Turkmentk
Uzbekuz
Welshcy
Yiddishyi
Yorubayo

You can export completed transcripts in SRT or VTT format, which can be used for subtitles and closed captions in videos.

You can also customize the maximum number of characters per caption by specifying the chars_per_caption parameter.

1import assemblyai as aai
2
3aai.settings.api_key = "<YOUR_API_KEY>"
4
5# audio_file = "./local_file.mp3"
6audio_file = "https://assembly.ai/wildfires.mp3"
7
8config = aai.TranscriptionConfig()
9
10transcript = aai.Transcriber(config=config).transcribe(audio_file)
11
12if transcript.status == "error":
13 raise RuntimeError(f"Transcription failed: {transcript.error}")
14
15srt = transcript.export_subtitles_srt(
16 # Optional: Customize the maximum number of characters per caption
17 chars_per_caption=32
18 )
19
20with open(f"transcript_{transcript.id}.srt", "w") as srt_file:
21 srt_file.write(srt)
22
23# vtt = transcript.export_subtitles_vtt()
24
25# with open(f"transcript_{transcript_id}.vtt", "w") as vtt_file:
26# vtt_file.write(vtt)