Skip to main content

Prerequisites

You’ll need an API key. See Authentication for how to request one. Set your key as an environment variable:

Step 1: Submit a transcription job

Send an audio URL and the source language. The API returns a job_id immediately — processing happens asynchronously.
Response:
Use GET /api/v1/languages to see the exact accepted language name strings. Values are case-sensitive — "Tamil" works, "tamil" does not.

Step 2: Poll for completion

Poll GET /api/v1/jobs/{job_id} until status is "complete" or "failed". Jobs typically complete within 60–90 seconds.
Response when complete:

Step 3: Download lyric files

Use any of the download URLs from results.downloads. Authentication is required. In addition to LRC and SRT, words_original and words_transliterated contain per-word timestamps as a JSON array — useful for word-by-word karaoke highlight.
The response is a plain-text .lrc file with Content-Disposition: attachment.

What’s next

Three API Modes

When to use align=false, review=true, or the default pipeline.

Webhooks

Receive events instead of polling. Covers all 5 event types and signature verification.

Batch Processing

Submit up to 20 jobs at once with a single webhook on completion.

Error Reference

All error codes, HTTP statuses, and rate limit headers.