Skip to main content
POST
/
api
/
narration
/
single
Synthesize narration for one slide
curl --request POST \
  --url https://app.demand-iq.com/api/narration/single \
  --header 'Content-Type: application/json' \
  --data '
{
  "sessionId": "<string>",
  "slideId": "<string>",
  "script": "<string>",
  "voiceId": "<string>",
  "presentationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'
{
  "slideId": "<string>",
  "script": "<string>",
  "audioUrl": "<string>",
  "source": "elevenlabs",
  "wordTimings": [
    {
      "word": "<string>",
      "startTime": 123,
      "endTime": 123
    }
  ]
}

Body

application/json
sessionId
string
required

Unique session identifier for caching

slideId
string
required
script
string
required
Minimum string length: 1
voiceId
string
presentationId
string<uuid>

Required for unauthenticated viewer access

Response

Audio URL and word timings

slideId
string
required
script
string
required
audioUrl
string
required

Accessible URL for the synthesized audio

source
enum<string>
required
Available options:
elevenlabs,
openai,
fallback
wordTimings
object[]