Skip to main content
This endpoint has been withdrawn and never worked. It now returns 410 Gone. If you built against this page, nothing you wrote can have succeeded — see What to use instead.

What happened

POST /api/v1/align was documented as a way to supply your own audio URL and your own lyrics and receive word-level timestamps, skipping transcription. It never functioned. Reviewing it before a related change, we found three independent faults stacked in front of each other, and no successful call in the entire history of the API:
  • The parameter names on this page did not match what the endpoint read, so a request written from this documentation was rejected before anything else ran.
  • Audio supplied by URL was never fetched, so any request that got past the first fault failed during alignment.
  • Jobs it created were not attributed correctly for billing.
Rather than leave a broken endpoint published while we decide on the right replacement, we have withdrawn it and returned an explicit error. We are sorry this was documented as available for as long as it was.

What to use instead

Alignment is not a separate step. POST /transcribe transcribes and time-aligns in a single job:
align defaults to true and word_align follows your account default, so a plain transcribe request already returns LRC, SRT and word-level downloads. See POST /transcribe and Three API Modes.
Alignment is chosen when you submit, not afterwards. A job submitted with align=false cannot be aligned later.

If you already have lyrics

We do not currently offer a way to time lyrics you already hold against audio we have not transcribed. That gap is real and we would rather state it plainly than point you at something that does not work. The version of this we intend to build is aligning an existing job — you transcribe, your artist or editor reviews and corrects the text, and you then ask us to align that job. That reuses audio we already have, charges once, and records that the text was approved. If this is your workflow, tell us; it moves up the list.

Response

Returned with HTTP 410 Gone for every request, including ones that would previously have been rejected for a missing parameter.