| slug | No | URL slug; defaults to a slugified title. | |
| title | No | Display title for the watch page and listings. Omit to use the title parsed from the document. | |
| 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 | Narration speed multiplier passed to the voice. Omit for the server default. | |
| presentationId | No | Stable id for idempotent re-creates; defaults to slug-<hash(userId:slug)>. | |
| voiceStability | No | Voice stability setting passed to the narration engine. Omit for the server default. | |