Disclosure: This post contains affiliate links. If you buy through them, we may earn a commission at no extra cost to you. Read How we review for our review process.
ElevenLabs text to speech with timestamps provides word-level timing through Forced Alignment (POST /v1/forced-alignment). You send audio and a transcript; it returns each word and character with start/end times plus a confidence loss score. Files must be under 1GB. Details checked 4 Nov 2026.
Best for: Developers building karaoke captions, word highlighting, dubbing sync, or searchable audio.
Not for: Casual TTS users who just need audio and never touch timing data.
Starting price: Free $0 (10,000 credits/mo); paid plans from $6/mo. The $1 Starter first-month offer was shown until Nov 8 when checked on 4 Nov 2026 (rolling badge).
What are timestamps in ElevenLabs text to speech?
Timestamps are word-level and character-level timing data for audio. They record exactly when each word starts and ends, which unlocks karaoke-style captions, live word highlighting during playback, precise dubbing synchronization, and click-to-seek searchable audio. Without timestamps you have audio; with them you have navigable, syncable audio. Podcast apps use them for chapter markers, language apps for listen-and-repeat drills, and video editors for auto-captioning voiceovers. Accessibility teams use them to meet captioning standards, while search teams index the timed transcript for better audio discovery.
ElevenLabs provides timestamps two ways. The text-to-speech API offers a with_timestamps option on fresh generations, and the Forced Alignment endpoint (POST /v1/forced-alignment) aligns existing audio to a transcript you supply. The official docs describe it as: “Force align an audio file to text. Use this endpoint to get the timing information for each character and word in an audio file based on a provided text transcript.” Choose with_timestamps when you generate fresh audio; choose Forced Alignment when the audio already exists and you only need the timings. If you already store transcripts for SEO, Forced Alignment turns that archive into timed data without re-recording anything.
Timing quality depends on the voice and model behind the audio. For settings that affect generation — stability, style, speed — see our text-to-speech settings guide before you chase timestamp precision. Stable voices align more cleanly than highly expressive ones, so test timing on your chosen voice before building caption pipelines around it. Re-test timing after any voice or model change — even small setting tweaks can shift word boundaries.
How to get timestamps with Forced Alignment
Getting timestamps takes six steps. Preparing files is free; the API call consumes plan credits. Keep the transcript file alongside the audio in your project folder — you will re-align whenever either changes. Version-control your transcripts — a small text edit should trigger re-alignment, not silent drift.
- Prepare an audio file under 1GB and the exact text transcript it speaks. Matching text matters — alignment quality drops on wrong transcripts.
- Call POST /v1/forced-alignment with the audio file and transcript. The call uses API credits.
- Receive the response: a characters array (each with text, start, end), a words array (each with text, start, end, loss), and an overall loss value.
- Read the loss score as a confidence signal — it is the average alignment loss, so lower means the timing is more trustworthy.
- Note the limits: files must be under 1GB, and diarization (separating speakers) is not supported.
- Apply the timings: render karaoke captions, highlight words during playback, sync dubbed lines, or build a searchable transcript.
ElevenLabs does not publish a fixed credit cost per Forced Alignment call in the docs excerpt we checked, so budget from your monthly allowance: Free includes 10,000 credits/mo, Starter $6/mo includes 30,000, Creator $22/mo includes 121,000, and Pro $99/mo includes 600,000.
Understanding the Forced Alignment response
The response has three parts. The characters array gives every character with its text, start, and end times — the finest granularity, useful for typewriter or karaoke-character effects. The words array gives every word with text, start, end, and a per-word loss value, which is what most caption and highlighting features consume. The top-level loss is the average alignment loss across the whole file: a single confidence number for the entire alignment. Cache the response JSON with your audio files — reusing timings beats paying for re-alignment on every build. This word-by-word sync is also what powers click-to-jump navigation in podcast players and searchable audio libraries.
Treat loss as a quality gate. Low average loss means the transcript matched the audio well and timings are trustworthy; high loss suggests mismatched text, noisy audio, or heavy accents the aligner struggled with. Per-word loss lets you flag individual words for manual review instead of rejecting the whole file. Log loss scores per file in your pipeline — trending loss upward signals transcript drift or audio quality regressions. Archive loss scores alongside audio versions — comparing them across re-renders reveals when a model update changed timing behavior.
Two hard limits apply: the audio file must be under 1GB, and diarization is not supported — the endpoint will not tell you who spoke which word in multi-speaker audio. For long files, split on silence or chapter boundaries and align each chunk separately. For interviews, split speakers into separate tracks before aligning — it restores per-voice timing the endpoint cannot.
ElevenLabs timestamps pricing
Forced Alignment calls draw from your ElevenLabs plan’s monthly credits, like any API use. The $1 Starter first-month offer was shown until Nov 8 when checked on 4 Nov 2026 (rolling badge). Batch alignment jobs overnight to stay within rate limits, and monitor credit burn during the first large back-catalog run. Short, frequent alignment jobs consume credits more predictably than occasional bulk runs — steady cadence keeps monthly usage within plan limits.
| Plan | Price | Credits/mo |
|---|---|---|
| Free | $0 | 10,000 |
| Starter | $6/mo ($1 first month, shown until Nov 8 when checked 4 Nov 2026) | 30,000 |
| Creator | $22/mo | 121,000 |
| Pro | $99/mo | 600,000 |
Pros
- Word-level and character-level timing from a single API call.
- Per-word loss scores let you QA alignment automatically.
- Works on existing audio — no need to regenerate to get timings.
- with_timestamps option covers fresh TTS generations too.
Cons
- No fixed per-call credit cost is published in the docs excerpt.
- Files must be under 1GB — long audio needs chunking.
- Diarization is not supported; multi-speaker timing stays unattributed.
- Alignment quality depends on transcript accuracy — wrong text means wrong timings.
- API-only; there is no no-code dashboard flow documented for Forced Alignment.
Who should NOT use timestamps
Timestamps are not for everyone. Casual listeners and readers who just press play on finished audio gain nothing from timing data — the feature is for builders, not consumers. Content teams that publish audio without captions, interactivity, or search can skip it entirely; the narration works the same with or without alignment. Teams that need collaborative editorial workflows may also find the API-only setup limiting, since Forced Alignment is a developer call without a shared review interface for approving timings. Anyone unwilling to spend API credits on alignment should skip it — every call draws from the monthly allowance. And if your audio is multi-speaker dialogue needing speaker labels, look elsewhere: diarization is not supported, so you get timings without attribution. Prototype captions on one file before wiring the full pipeline — timestamp bugs are cheaper to fix on a single test than across a catalog.
Frequently asked questions
How do I get word timestamps from ElevenLabs?
Two ways. For fresh generations, use the text-to-speech API’s with_timestamps option. For existing audio, call the Forced Alignment endpoint (POST /v1/forced-alignment) with the audio file and its transcript — it returns word-level and character-level timings. Developers new to audio pipelines often start with the dashboard; plan on moving to API calls quickly for anything batch-driven.
What is the Forced Alignment endpoint?
POST /v1/forced-alignment “force aligns an audio file to text,” returning timing information for each character and word based on a provided transcript. The response includes characters (text, start, end), words (text, start, end, loss), and an overall loss score. Name it clearly in your codebase — precise naming avoids confusing it with other transcription endpoints.
What does the loss score mean?
Loss is the average alignment loss — a confidence signal. Lower loss means the transcript matched the audio well and the timings are trustworthy. Per-word loss lets you flag individual words for manual review without rejecting the whole file.
Is there a file size limit for Forced Alignment?
Yes. The audio file must be under 1GB. For longer content, split the audio on silence or chapter boundaries and align each chunk separately, then stitch the timings back together.
Does Forced Alignment support speaker diarization?
No. The docs state diarization is not supported — the endpoint returns timings without identifying who spoke which word. For multi-speaker audio needing attribution, you will need a separate diarization step.
Can I get timestamps for audio I already have?
Yes — that is exactly what Forced Alignment is for. Send the existing audio file plus its transcript to POST /v1/forced-alignment, and you get timings without regenerating anything. This is ideal for back-catalog content.
Sources checked
- https://elevenlabs.io/docs/api-reference/forced-alignment/create — official Forced Alignment docs, checked 4 Nov 2026
- https://elevenlabs.io/pricing — official pricing page, checked 4 Nov 2026
Last updated 4 Nov 2026. Prices checked on the official ElevenLabs pricing page on that date; confirm at checkout.