Generate speech for slides

Writes speech for the named slides from their on-canvas content, following enhancement as instructions. Use this for slides that have no speech yet; use rewrite-speech to change speech that already exists.

Replaces the retired POST /gpt/{videoId} and POST /gpt/{videoId}/{slideId}.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Writes speech for the named slides from their on-canvas content, following enhancement as
instructions. Use this for slides that have no speech yet — to change speech that already exists,
use Rewrite speech for slides.

Replaces the retired POST /gpt/{videoId} and POST /gpt/{videoId}/{slideId}.

👍

enhancement is instruction text, not an enum

The old endpoints took one of ten fixed values. Write the change you want in plain language:

{ "slideIds": [1, 2, 3], "enhancement": "Warm, conversational, about 20 seconds per slide." }

enhancementPresets is optional and recorded for analytics only — it does not affect the output.
enhancement carries the actual instruction.

slideIds replaces the old per-slide URL: pass one id to act on one slide, or every id to cover
the whole video. Any id that isn't on the video returns 404 naming the missing ids.

Leave fromEditor unset. When false (the default) the generated speech is persisted server-side,
which is what an API caller wants; the editor sets it true because it owns persistence itself.

Requires LLM access on the account — 409 if unavailable.

Path Params
string
required

Id of the video to modify.

Body Params
slideIds
array of integers
required
length ≥ 1

Ids of the slides to act on. Pass every slide id to cover the whole video.

slideIds*
string
required

Free-form instruction text, e.g. "Make this warmer and about 20% shorter." This is NOT an enum — the ten fixed values the retired /gpt endpoints accepted no longer exist.

config
object

Optional generation tuning. count is coerced to a number.

enhancementPresets
array of strings

Optional. The preset keys a UI offered (shorter / formal / custom-prompt). Recorded for analytics only; enhancement carries the actual instruction.

enhancementPresets
boolean
Defaults to false

Leave false for API use. When true the caller owns persistence; when false the speech is saved server-side.

string

Optional hint about what the speech should be derived from.

Responses

enhancement is not a string, or slideIds is missing or empty.

llmDisabled is set, or a non-paid organization has used its 5000-token allowance.

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json