Skip to main content

Episode Lifecycle

Statuses​

StatusDescription
draftWork in progress — all editing is allowed
activeIn active production — editing is allowed
completedFinished — episode is locked (read-only)
pausedTemporarily suspended — episode is locked

Locking​

When an episode's status is completed or paused, it is locked. A locked episode prevents:

  • Editing scene blocks
  • Adding or removing creator assignments
  • Generating voiceovers, frames, or videos
  • Importing or deleting the episode

The lock state is surfaced in the UI via the episode.isLocked flag, which gates drag-and-drop, edit buttons, and the Save button in the creators modal.

An Admin can unblock a locked episode to resume work on it.

State transitions​

draft ──► active ──► completed
▲ │
│ ▼
└──── paused

Transitions are made by editing the episode and changing its status field. Only users with episode:edit can change status; only Admins can delete episodes (episode:delete).

Episode fields​

FieldTypeDescription
idUUIDUnique identifier
namestringEpisode title
numbernumberEpisode number within the project
descriptionstringOptional description
statusenumdraft / active / completed / paused
targetDurationnumberTarget length in seconds
isLockedbooleanDerived from status
projectIdUUIDParent project
previewUrlstring?Preview image URL