Skip to main content
When align=true (the default), lyrcs.ai generates four downloadable files per job: two LRC files and two SRT files. Each format comes in an original variant (source language script) and a transliterated variant (romanised phonetic form).

LRC format

LRC (Lyric) is a plain-text format where each line is prefixed with a timestamp in [MM:SS.ss] format.
[00:12.34]நான் உன்னை நேசிக்கிறேன்
[00:16.80]தெரியாமல் போனேன்
[00:21.15]உன் கண்களில் காணும்
[00:25.50]என் மனசு தொலைந்தது
LRC files are supported natively by most music players and karaoke apps and are the standard format for lyric display on streaming platforms.

SRT format

SRT (SubRip Subtitle) uses a numbered block format with start → end timecodes. It is the standard for video subtitles and is widely supported by video players and editing tools.
1
00:00:12,340 --> 00:00:16,800
நான் உன்னை நேசிக்கிறேன்

2
00:00:16,800 --> 00:00:21,150
தெரியாமல் போனேன்

3
00:00:21,150 --> 00:00:25,500
உன் கண்களில் காணும்

Original vs transliterated

VariantContentUse case
_originalSource language script (e.g. Tamil script, Devanagari)Audiences who read the source script; DSP lyric display in source language
_transliteratedPhonetic romanisationAudiences who can’t read the script; karaoke sing-along; lyric apps for non-native listeners
The transliterated variant uses the same timestamps as the original — the timing is identical, only the text differs.

Download URLs

Both variants are available via the downloads object on a completed job:
"downloads": {
  "lrc_original": "https://lyrcs.ai/api/v1/jobs/{id}/download/lrc/original",
  "lrc_transliterated": "https://lyrcs.ai/api/v1/jobs/{id}/download/lrc/transliterated",
  "srt_original": "https://lyrcs.ai/api/v1/jobs/{id}/download/srt/original",
  "srt_transliterated": "https://lyrcs.ai/api/v1/jobs/{id}/download/srt/transliterated"
}
All four URLs require Authorization: Bearer <key>.

When to use which format

ScenarioRecommended format
Spotify / Apple Music lyric deliverylrc_original
Karaoke app (source script display)lrc_original
Karaoke app (romanised sing-along)lrc_transliterated
Music video subtitlessrt_original
Subtitle track for non-native audiencesrt_transliterated
Lyrics editor / DAW importEither SRT

Not available for align=false jobs

If a job was submitted with align=false, no LRC or SRT files are generated. The downloads key is omitted from the job response. Use align=true (the default) if you need time-synced files.

Word-level JSON format

When word_align=true (the default), lyrcs.ai also generates per-word timestamps alongside the line-level LRC and SRT files. These are returned as a JSON array — one entry per word — from GET /api/v1/jobs/{id}/download/words/original and .../download/words/transliterated. Each entry contains the word text and its start timestamp in [MM:SS.XX] format:
[
  { "word": "मैं",        "timestamp": "[00:08.12]" },
  { "word": "तेरे",       "timestamp": "[00:08.54]" },
  { "word": "बिना",       "timestamp": "[00:08.91]" },
  { "word": "जी",         "timestamp": "[00:09.40]" },
  { "word": "नहीं",       "timestamp": "[00:09.72]" },
  { "word": "सकता",       "timestamp": "[00:10.15]" }
]
The words_transliterated variant uses the same timestamps mapped to the Roman script words:
[
  { "word": "main",       "timestamp": "[00:08.12]" },
  { "word": "tere",       "timestamp": "[00:08.54]" },
  { "word": "bina",       "timestamp": "[00:08.91]" },
  { "word": "ji",         "timestamp": "[00:09.40]" },
  { "word": "nahin",      "timestamp": "[00:09.72]" },
  { "word": "sakta",      "timestamp": "[00:10.15]" }
]
Use cases for word-level timestamps:
  • Karaoke with word-by-word highlight (bouncing ball)
  • Accessibility features requiring word-precise sync
  • Custom lyric renderers that need sub-line granularity
Bring your own lyrics: If you already have lyrics in your catalog and only need word-level timestamps, use POST /api/v1/align to skip transcription entirely and align directly against your existing text.

Known limitations

Audio files in WAV or FLAC format may report duration_seconds: 0 in the job response. This is a known issue related to ffmpeg metadata extraction and does not affect the quality of the transcript or alignment output. MP3 and M4A files report accurate durations.