When to use
Re-sync when…
Timings are off, you edited the lyrics, you changed sync models, or you
corrected the language.
Skip this endpoint when…
You’re creating a new project — pass
lyricsSource to POST /projects
instead of running sync twice.Endpoint
taskId you can poll at GET /tasks/{taskId}. The original project state is untouched until the new task finishes.
Request
Lyrics source
Pass one of two source types vialyricsSource:
- transcribe
- align
Let the model transcribe lyrics from the audio.
Sync models
Alignment models — use when you already have accurate lyrics (align):
audioshake-alignmentmusicai-alignmentmusicai-alignment-subwordwav2vec2
transcribe):
audioshake-transcriptionelevenlabs-transcriptionmusicai-transcriptionwhisper
Polling
project.lyrics contains the new word-level timings.
What’s next
- Stems — re-run stem separation before re-syncing
- Async jobs — polling pattern
- SDK lyrics sync — the same endpoint in TypeScript
- Choose a lyrics sync model — pick the right model
