reader

The playback manifest

Every narration segment for one (voice, speed), in playback order, each with a stable url. This is what you hand a player.

One voice per timeline on purpose — merging two would change narrator mid-chapter. Omit voice and the audiobook's dominant narration is used.

durationMs is null when any segment never reported its sentence layout; available: false marks a segment rendered on a device but not backed up to the cloud, which is the one case where a gap is expected rather than a render still in flight.

get/v1/reader/audiobooks/{audiobookId}/timeline

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}/timeline
  • Auth: HTTP bearer

Path parameters

audiobookIdstring required

Query parameters

voicestring

Which narration to assemble. Defaults to the voice with the most rendered segments for this audiobook.

speednumber

Defaults to the dominant speed for that voice.

Response

audiobookIdstring
voicestring nullable
speednumber nullable
segmentCountinteger
availableSegmentsinteger
durationMsinteger nullable
completeboolean

Every segment is downloadable right now.

Example response

{
  "segments": [
    {
      "format": "mp3",
      "sampleRate": 24000,
      "url": "/v1/reader/segments/{id}/audio"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.