---
title: "Get chapter alignment (sentence timings)"
method: GET
path: "/tts/audiobook/{book_id}/{chapter}/alignment"
tags: ["TTS"]
---

# Get chapter alignment (sentence timings)

`GET /tts/audiobook/{book_id}/{chapter}/alignment`

Returns the sentence-level alignment JSON for one chapter,

## Path parameters

- `book_id` string, required
- `chapter` integer, required

## Response `200`

OK

- TtsChapterAlignment
  - `audio_duration_ms` integer
  - `audio_file` string
  - `chapter_index` integer
  - `chapter_title` string
  - `generated_at` integer
  - `provider` string
  - `schema_version` integer
  - `sentences` TtsSentenceAlignment[]
    - `char_offset` integer
    - `end_ms` integer
    - `index` integer
    - `start_ms` integer
    - `synth_failed` boolean — SynthFailed marks sentences that fell back to 1-second silence after exhausting retries. Client should not hide these — just expect silence where they are.
    - `text` string
  - `voice` string

## Other responses

- `404` — Not Found

---

[API](https://skmtc.net/lxpio/apis/omnigram-api.md) · [All operations](https://skmtc.net/lxpio/apis/omnigram-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lxpio/omnigram-api/versions/58911ffb3093/schema)
