Create narrated presentation
create_presentationGenerate a narrated presentation from an html-presentation/v1 document. BEFORE authoring, call get_presentation_spec and follow it exactly — slides without its narration markup publish SILENT. Returns a presentationId; poll get_presentation_status until it is ready.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | URL slug; defaults to a slugified title. | |
| title | No | ||
| assets | No | Files the document references relative to itself — fonts, images, Lottie/Rive animations, sound-effect audio, video clips. The SERVER fetches each https url at create time and stores it in the bundle, so reference `assets/...` paths in your HTML and list the sources here instead of inlining base64. 10MB per asset, 30MB total. | |
| dryRun | No | Sandbox: run every check a real create runs (format, slug and org conflicts, tier cap, credit preflight) and write nothing. The reply has status "validated" and the webUrl a real create would publish at. Use it to test an integration without touching the channel. | |
| handle | No | Publish under a specific channel handle you own. | |
| voiceId | No | Narration voice. ElevenLabs: a bare id or cloud:<id>. Self-hosted Kokoro: kokoro:<id> (e.g. kokoro:af_heart); local:<id> is accepted as a synonym. Omit to use the voice saved on the account (bisque.cloud/account), falling back to the server default. | |
| designMd | No | Design frontmatter mapped to theme tokens. | |
| contextMd | No | Shared-with-viewer context.md. | |
| indexHtml | Yes | Full html-presentation/v1 document (the presentation-format meta gate applies). | |
| visibility | No | unlisted (the default) is shareable by link and plays in chat-embedded players; private requires the owner to sign in, so an inline chat player shows a sign-in wall instead of playing — choose private only when the user asked for it. | unlisted |
| speechSpeed | No | ||
| presentationId | No | Stable id for idempotent re-creates; defaults to slug-<hash(userId:slug)>. | |
| voiceStability | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ready = nothing needed narration; queued = narration runs in the background — poll get_presentation_status. | |
| webUrl | Yes | Shareable watch URL (live once status is ready). | |
| narration | Yes | ||
| statusUrl | Yes | ||
| presentationId | Yes |