Skip to main content

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 — startSec and endSec within 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 — startSec and endSec
  • 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)​

ActionPermission required
Edit text / emotion / timingscene_block:edit
Copy blockscene_block:edit
Connect to next block (pair)scene_block:edit
Disconnect from pair (split)scene_block:edit
Generate voiceovervoiceover:generate
Attach mediascene_block:media:attach
Generate videoscene_block:video:generate
Delete blockscene_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.