---
title: "Start rendering this audiobook in the background"
method: POST
path: "/v1/reader/audiobooks/{audiobookId}/renders"
tags: ["reader"]
---

# Start rendering this audiobook in the background

`POST /v1/reader/audiobooks/{audiobookId}/renders`

## Request

- Base URL: `https://api.ditto.audio` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ditto.audio/v1/reader/audiobooks/{audiobookId}/renders`
- Auth: HTTP bearer

Returns immediately with a render you poll — no audio in this response, and nothing to hold a connection open for. Narration is produced by your render fleet: your own devices registered as render nodes, plus the Ditto cloud renderer when your plan includes it.

`chapters` is required and carries each chapter's segment count. Segment boundaries are derived from it deterministically, which is what makes narration reusable: re-requesting the same `(audiobook, chapter, voice, speed)` addresses audio that already exists instead of re-rendering (and re-charging for) it.

Finished segments become streamable one at a time — read the timeline while the render is still running rather than waiting for `completed`.

## Path parameters

- `audiobookId` string, required

## Request body

- CreateRenderDto
  - `voice` string, required: A voice id from `GET /v1/audio/voices`.
  - `speed` number: 0.5–3. Default 1.
  - `chapters` RenderChapterDto[], required: The chapters to narrate and their segment counts. Required: the server does not parse your source document, so it cannot invent this.
    - `chapterIndex` number, required: 0-based chapter index in the source.
    - `paragraphCount` number, required: How many narration segments this chapter splits into. This is the plan input: segment boundaries are derived from it deterministically, so the same value always addresses the same audio.

## Other responses

- `403`: CLOUD_BACKUP_LIMIT — narration is stored in the cloud, and the free tier stores 10 books.
- `404`: No such audiobook.
- `429`: Rate limited (20 renders/min per account).

---

[API](https://skmtc.dev/ditto/apis/ditto-audio-api.md) · [All operations](https://skmtc.dev/ditto/apis/ditto-audio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ditto/apis/ditto-audio-api/revisions/30c8d7c218da?raw)
