---
title: "Build a read-along player"
description: "Use section and word timings in your own player without aligning on every playback."
generated: true
---

# Build a read-along player

Say you have a recording of Psalm 23 and want listeners to tap a verse and hear it, with each word lit as it is read.

1. Upload the recording with `POST /v1/uploads` and start an alignment with `POST /v1/alignments`. For a Bible reading you can leave out `segments`, and the passage and its verses are found for you. For your own text (a sermon outline, a liturgy), send it as `segments` with your own ids.
2. Poll `GET /v1/jobs/{id}` every few seconds until `status` is `done` or `failed`.
3. Store the result next to the recording in your own system. Each segment's `startMs` and `endMs` let your player seek to a verse in the file you already host; `words` gives the times to light each word.
4. If you asked for `clips`, download each clip from `GET /v1/jobs/{id}/files/{clip}` with your key and host it yourself. Clips are there for 7 days after the job finishes, so fetch them when the job is done; the timings in the result stay.

Align each recording once, when it is published, and serve the timings from your own storage after that. Listeners never wait on an alignment.

:::info
Fetch clips when the job is done: they are kept for **7 days for live keys** or **1 day for test keys**. The timings stay in the job result, so your player can keep using them.
:::
