Transcribe, transliterate, translate and align 48+ languages in a single async call. Per-minute pricing, no minimums. Single jobs, batch up to 20, or alignment-only if you already have the transcript.
curl https://api.lyrcs.ai/v1/transcribe \ -H "Authorization: Bearer $KEY" \ -F "file=@track.mp3" \ -F "language=Punjabi" \ -F "word_align=true" \ -F "webhook_url=https://your-app.com/hook" → 202 { job_id: "job_9f2a…", status: "queued" }
Send your audio file or URL, language code, and output preferences. The API returns a job ID immediately — processing happens asynchronously.
Pass a webhook_url at creation time and we'll POST the result when the job completes. Or poll GET /v1/jobs/{id} — jobs finish in under a minute for most songs.
Download URLs are included in the completed job response. LRC, SRT, word-level JSON — both original script and transliterated — ready to ingest.
// status: "processing" | "complete" | "failed" { "status": "complete", "transcript": "ਹਵਾ ਚੱਲੀ ਸ਼ਾਮ ਢਲੀ…", "download_urls": { "lrc_original": "https://…/download/lrc/original", "words_original": "https://…/download/words/original" } }
/v1/transcribeTranscribe, transliterate, translate and align audio. Accepts a file upload (multipart) or an HTTPS audio URL.
languagereqfileaudio_urlalignword_alignreviewwebhook_url/v1/alignAlignment-only endpoint. Use when you already have the transcript and want timestamps without re-running transcription.
audio_urlreqlanguagereqlyricsreqlyrics_transliteratedwebhook_url/v1/batchSubmit up to 20 jobs in a single call. Each job follows the same schema as /v1/transcribe.
jobsreqwebhook_url/v1/jobs/{id}Poll a job for status and results. Returns download URLs for all output formats once the job is complete.
—Standard .lrc format with per-line timestamps. Delivered for both original script and transliteration.
/v1/jobs/{id}/download/lrc/{type}.srt subtitle format. Drop into video editing software or a player that supports SRT.
/v1/jobs/{id}/download/srt/{type}Array of { word, timestamp } objects with millisecond precision. Powers karaoke and word-by-word highlighting.
/v1/jobs/{id}/download/words/{type}Idioms, cultural references, and context notes generated during transcription. Returned in the job response, not a separate download.
LRC, SRT and word JSON are each delivered in two variants: original script (e.g. Gurmukhi, Devanagari) and transliterated. The {type} path segment is original or transliterated.
Pass "review": true to pause the pipeline before alignment. The completed transcription response includes a review_url — a shareable link where a human can approve or edit the transcript before alignment proceeds.
Useful for supervised workflows, editorial teams, or high-value tracks.
Pass webhook_url at job creation and we'll POST the completed job payload to your endpoint instead of making you poll. The webhook body is identical to the GET /v1/jobs/{id} response.
Use POST /v1/webhook-test to send a sample payload to your endpoint.
Submit up to 20 jobs in a single call via POST /v1/batch. Rate limits are checked against the full batch size before any jobs are created. A single batch-level webhook fires when all jobs complete. Poll GET /v1/batch/{id} for per-job status.
Rate limits: 10 / minute · 100 / hour · 1,000 / day.
Full reference docs, code samples, and language coverage at docs.lyrcs.ai. Request API access below.