← Files TopviewARCHIVED FILE
skills/canvas-agent-workflows/references/workflows/short-film.md
4.24 KB · Oct 2, 2026 · 00:09 UTC
# Workflow: Short Film
Source mapping: `workflow-short-film-creation`.
## Intent
Narrative production and story/chapter/script/screenplay adaptation with reusable Character/Environment/Object Assets and persisted scene records. This workflow preserves requested story coverage and continuity across scenes or future episodes.
## Read first
[duration-and-task-assembly.md](../duration-and-task-assembly.md), [reference-resolution.md](../reference-resolution.md), [recipes/asset-product.md](../recipes/asset-product.md), [recipes/scene-surrogate.md](../recipes/scene-surrogate.md), [recipes/audio-continuity.md](../recipes/audio-continuity.md), [recipes/timeline.md](../recipes/timeline.md).
## DAG
```text
Original Goal Contract (coverage, duration, dialogue, compression policy)
→ adaptation outline and scene breakdown (Plan Ledger)
→ style text brief only (not a default visual input)
→ create/adopt character/environment/object Asset nodes
(safe-parallel when preplanned; else serial if height-dependent)
→ wait for identity projection (consistencyStatus=projected) and durable primary/cover media
→ create persisted scenes with positioned `<<@shortCode>>` references
(safe-parallel when coords preplanned from one snapshot)
→ Scene storyboard submits by `sceneNodeId` (when requested; independent scenes may parallel)
→ scene videos carrying their `sceneNodeId` + per-segment `canvas_node` inputs
(storyboard→video on the same scene is serial; independent scenes may parallel)
→ voice continuity across speaking clips (serial dependency)
→ film-wide narration, if requested: one standalone TTS task → import as a Canvas audio node
→ Timeline/export if requested
```
Order invariant: **Asset nodes → persisted scenes → storyboard (`sceneNodeId`) → video**. Cross-layer deps stay serial; same-layer independent work follows Safe Parallel Policy (wait-all). Do not submit storyboard before required Asset media is durable; do not invent `assetId`; do not chain Canvas `expectedRevision`.
## Hard rules
- Once routed here, do not fall back to Direct by rewriting the source into a condensed generation prompt. Re-route only when the user explicitly changes the deliverable to a standalone clip that passes every Direct Eligibility Gate.
- Episodes, chapter/novel/script/screenplay adaptations, named recurring characters, and shared story-world elements require consistency. Create or adopt durable typed assets before dependent scene generation.
- Missing duration, coverage, dialogue, or compression policy is not permission to summarize. Ask the smallest focused question needed before freezing a paid plan when the answer would materially change scenes, assets, or task count.
- **Single-task gate:** continuous narrative `T ≤ max` without hard space-time cuts ⇒ one Scene / one video task even with multiple camera beats.
- The single-task gate only controls final video task assembly; it does not bypass asset creation, persisted Scene planning, or storyboard stages required by the Original Goal Contract.
- Explicit hard cuts / location jumps / long-form targets may split; each segment repeats that segment’s asset typed inputs via Asset `nodeId`.
- Style images are not default downstream refs.
- A scene draft may reference an Asset whose media is pending, but scene storyboard submission has a hard readiness barrier: every visual reference needs a durable image. Asset media tasks may generate in the background after safe-parallel or serial submits; only submit the scene storyboard after all required assets are ready and projected when mentions are needed.
- Default multi-scene audio: SFX-only, no baked BGM unless requested.
- Voice continuity barrier blocks later speaking videos until durable audio is bound/registered.
- Route every sound by layer before submitting — in-shot sound rides the video model's `nativeAudio`, cross-shot narration is one standalone TTS track, `voice_design` designs a timbre and is never a narration renderer. See [recipes/audio-continuity.md](../recipes/audio-continuity.md).
- Scene outputs land inside a Scene group; each one closes with the Layout Gate in [generation-stage-machine.md](../generation-stage-machine.md) before the next stage starts.
## Suggested lengths
30 / 60 / 90 / 120s totals, segmented by capability max.
SHA-256: 47a9b9642825f530de520f1d6e6f9164f1d855a6149de715317b138c845cad14