Scene Blocks
What is a scene block?​
A scene block is the atomic unit of a scene. Each block represents either a line of dialogue or an action beat, with precise timing information.
Block types​
Dialog block​
A character speaks a line. Contains:
- Character — who is speaking (with icon, name, and optional voice ID)
- Text — the spoken line (supports i18n — different translations per locale)
- Emotion — optional emotional tag
- Timing —
startSecandendSecwithin the scene - Voice URL — optional saved voiceover audio
- Start/end frame URLs — optional generated images for video production
- Video URL — optional generated video
Action block​
A stage direction or visual action. Contains:
- Text — description of the action
- Timing —
startSecandendSec - Sound effects — list of timed sound effect references
Pairing​
Two blocks can be paired (linked by a shared pairId) to group a dialog line with its corresponding action beat. Paired blocks move together when dragged and are rendered with a visual connector.
Ordering and drag-and-drop​
Blocks within a scene are displayed in order and can be reordered via drag-and-drop (requires scene_block:edit permission). Dropping a block onto a paired block's non-first member is prevented to avoid splitting pairs.
Block actions (hover menu)​
| Action | Permission required |
|---|---|
| Edit text / emotion / timing | scene_block:edit |
| Copy block | scene_block:edit |
| Connect to next block (pair) | scene_block:edit |
| Disconnect from pair (split) | scene_block:edit |
| Generate voiceover | voiceover:generate |
| Attach media | scene_block:media:attach |
| Generate video | scene_block:video:generate |
| Delete block | scene_block:delete |
Playing audio inline​
The play button on each block plays the voiceover (dialog) or all sound effects in sequence (action). Audio is fetched via the authenticated API (Bearer token) and played from a blob URL — it does not use <audio src="..."> directly.
Change history​
Every block has a change history accessible via the clock icon. Changes can be reverted (requires scene_block:history:revert).
Comments​
Click the speech bubble icon to open comments for a block. Unresolved comments show a yellow indicator; comments that mention your role pulse red.