Initial release — OpenMontage: the first open-source agentic video production system
11 production pipelines, 47 tools, 124 agent skills. Supports cloud APIs (fal.ai, OpenAI, ElevenLabs, Suno, HeyGen, Runway) and free local providers (diffusers, Piper TTS, WAN 2.1, Hunyuan, CogVideo). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# Asset Director - Cinematic Pipeline
|
||||
|
||||
## When To Use
|
||||
|
||||
This stage prepares the usable media for the final cinematic edit: source selects, title-card assets, optional support inserts, music, ambience, and subtitle assets when needed.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Layer | Resource | Purpose |
|
||||
|-------|----------|---------|
|
||||
| Schema | `schemas/artifacts/asset_manifest.schema.json` | Artifact validation |
|
||||
| Prior artifacts | `state.artifacts["scene_plan"]["scene_plan"]`, `state.artifacts["script"]["script"]`, `state.artifacts["idea"]["brief"]` | Scene intent and beat plan |
|
||||
| Tools | `subtitle_gen`, `audio_enhance`, `image_selector`, `video_selector`, `music_gen` — selectors auto-discover all available providers from the registry | Optional support asset creation |
|
||||
| Playbook | Active style playbook | Brand and typography consistency |
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Prioritize Source Selects
|
||||
|
||||
Start with:
|
||||
|
||||
- source footage selects,
|
||||
- stills,
|
||||
- title-card backgrounds,
|
||||
- any approved provided music or ambient beds.
|
||||
|
||||
These are the primary materials. Everything else is support.
|
||||
|
||||
### 1b. Sample Preview (Prevents Wasted Spend)
|
||||
|
||||
Before batch-generating support assets, produce one sample of each expensive generated type and show the user:
|
||||
|
||||
1. **Generated insert sample** (if using `image_selector` or `video_selector`): Generate one representative visual. Confirm it complements the source footage before batching.
|
||||
2. **Music sample** (if using `music_gen`): Generate a short clip. Confirm mood and energy match the beat plan.
|
||||
|
||||
If rejected, adjust parameters and retry (max 3 iterations). Do not batch until approved.
|
||||
|
||||
### 2. Generate Support Assets Only Where Needed
|
||||
|
||||
Optional generated assets should fill clear gaps:
|
||||
|
||||
- missing transitional b-roll,
|
||||
- concept-led inserts,
|
||||
- texture or atmosphere cards,
|
||||
- simple textural motion backgrounds.
|
||||
|
||||
### 3. Prepare A Real Audio Plan
|
||||
|
||||
Store:
|
||||
|
||||
- chosen music track or prompt,
|
||||
- ambience layers,
|
||||
- impact or transition sounds,
|
||||
- subtitle assets if dialogue or narration is present.
|
||||
|
||||
### 4. Use Metadata For Rights And Intent
|
||||
|
||||
Recommended metadata keys:
|
||||
|
||||
- `source_selects`
|
||||
- `music_plan`
|
||||
- `ambience_plan`
|
||||
- `title_assets`
|
||||
- `generated_support_assets`
|
||||
- `rights_notes`
|
||||
|
||||
### 5. Quality Gate
|
||||
|
||||
- source and support assets are clearly distinguished,
|
||||
- generated inserts are limited and purposeful,
|
||||
- audio plan matches the beat map,
|
||||
- every referenced file exists.
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Generating extra shots before proving the source edit works.
|
||||
- Treating music as a single loop instead of a beat-aware element.
|
||||
- Forgetting rights or provenance notes for supplied assets.
|
||||
@@ -0,0 +1,53 @@
|
||||
# Compose Director - Cinematic Pipeline
|
||||
|
||||
## When To Use
|
||||
|
||||
Render the cinematic piece with careful attention to grade, audio dynamics, and frame treatment. This is not a generic export step.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Layer | Resource | Purpose |
|
||||
|-------|----------|---------|
|
||||
| Schema | `schemas/artifacts/render_report.schema.json` | Artifact validation |
|
||||
| Prior artifacts | `state.artifacts["edit"]["edit_decisions"]`, `state.artifacts["assets"]["asset_manifest"]` | Edit plan and media assets |
|
||||
| Tools | `video_compose`, `audio_mixer`, `video_stitch`, `video_trimmer`, `color_grade`, `audio_enhance` | Render and finishing |
|
||||
| Playbook | Active style playbook | Finish consistency |
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Use Frame Treatment Deliberately
|
||||
|
||||
Only use letterbox, 24fps intent, or heavy grading if they help the piece. Do not apply them because the pipeline name says cinematic.
|
||||
|
||||
### 2. Preserve Audio Dynamics
|
||||
|
||||
The mix should allow:
|
||||
|
||||
- quiet moments,
|
||||
- impact moments,
|
||||
- clear dialogue or narration,
|
||||
- controlled music swells.
|
||||
|
||||
### 3. Verify The Final Mood
|
||||
|
||||
Check:
|
||||
|
||||
- opening frame,
|
||||
- reveal beat,
|
||||
- final landing,
|
||||
- subtitle readability where relevant.
|
||||
|
||||
### 4. Use Render Metadata
|
||||
|
||||
Recommended metadata keys:
|
||||
|
||||
- `frame_treatment`
|
||||
- `grade_profile`
|
||||
- `mix_notes`
|
||||
- `variant_outputs`
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Flattening the audio so the piece loses dynamics.
|
||||
- Applying letterbox to footage that needs every pixel.
|
||||
- Letting grading or sharpening damage faces or text.
|
||||
@@ -0,0 +1,56 @@
|
||||
# Edit Director - Cinematic Pipeline
|
||||
|
||||
## When To Use
|
||||
|
||||
This stage turns the beat map into a paced cinematic timeline. Rhythm and restraint matter more than effect count.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Layer | Resource | Purpose |
|
||||
|-------|----------|---------|
|
||||
| Schema | `schemas/artifacts/edit_decisions.schema.json` | Artifact validation |
|
||||
| Prior artifacts | `state.artifacts["assets"]["asset_manifest"]`, `state.artifacts["scene_plan"]["scene_plan"]`, `state.artifacts["script"]["script"]` | Assets, hero frames, beat map |
|
||||
| Playbook | Active style playbook | Typography and transition consistency |
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Cut By Emotion First
|
||||
|
||||
Cuts should follow:
|
||||
|
||||
- emotional emphasis,
|
||||
- reveal timing,
|
||||
- musical turns,
|
||||
- visual contrast.
|
||||
|
||||
Do not optimize only for information density.
|
||||
|
||||
### 2. Protect Strong Moments
|
||||
|
||||
If a look, line, or gesture is doing the work, let it live. Do not over-cover it with extra inserts.
|
||||
|
||||
### 3. Use Sound To Push The Edit
|
||||
|
||||
Ambience, impacts, dropouts, and music changes should help create momentum between scenes.
|
||||
|
||||
### 4. Use Metadata For Timing Logic
|
||||
|
||||
Recommended metadata keys:
|
||||
|
||||
- `beat_timing`
|
||||
- `audio_turns`
|
||||
- `title_card_windows`
|
||||
- `reframe_notes`
|
||||
|
||||
### 5. Quality Gate
|
||||
|
||||
- the emotional arc is intact,
|
||||
- reveals land clearly,
|
||||
- title cards are sparse and timed with intent,
|
||||
- strong moments are not buried under coverage.
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Overcutting emotional material.
|
||||
- Using speed ramps or flashy transitions by default.
|
||||
- Letting title cards replace editorial clarity.
|
||||
@@ -0,0 +1,147 @@
|
||||
# Executive Producer — Cinematic Pipeline
|
||||
|
||||
## When to Use
|
||||
|
||||
You are the **Executive Producer (EP)** for a cinematic video (trailers, brand films, montages, short dramatic edits). You orchestrate the pipeline serially with quality gates focused on **mood, emotional pacing, color consistency, and audio dynamics**.
|
||||
|
||||
**No pre-production stages.** Source footage or direction exists. The EP adds cross-stage gates that enforce emotional arc integrity and cinematic polish.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Layer | Resource | Purpose |
|
||||
|-------|----------|---------|
|
||||
| Pipeline | `pipeline_defs/cinematic.yaml` | Stage definitions |
|
||||
| Skills | All 7 director skills + `meta/reviewer` | Stage execution |
|
||||
| Schemas | All artifact schemas | Validation |
|
||||
| Playbook | Active style playbook | Quality constraints |
|
||||
|
||||
## Cumulative State
|
||||
|
||||
```
|
||||
EP_STATE:
|
||||
pipeline: cinematic
|
||||
playbook: <selected>
|
||||
target_duration_seconds: <from brief>
|
||||
budget_total_usd: <configured>
|
||||
budget_spent_usd: 0.0
|
||||
|
||||
# Cinematic-specific
|
||||
emotional_arc: null # from brief: build → reveal → landing
|
||||
color_grade_target: null # mood-driven color palette
|
||||
hero_moments: [] # key reveal/climax frames
|
||||
music_beat_map: null # audio-driven pacing reference
|
||||
|
||||
artifacts:
|
||||
idea: null
|
||||
script: null
|
||||
scene_plan: null
|
||||
assets: null
|
||||
edit: null
|
||||
compose: null
|
||||
publish: null
|
||||
|
||||
revision_counts: {}
|
||||
issues_log: []
|
||||
```
|
||||
|
||||
## Execution Protocol
|
||||
|
||||
Same as standard EP: Initialize → Execute stages serially (idea → script → scene_plan → assets → edit → compose → publish) → Final QA.
|
||||
|
||||
Each stage: PREPARE → SPAWN DIRECTOR → REVIEW → GATE DECISION (pass / revise / send-back).
|
||||
|
||||
## EP-Specific Cross-Stage Checks
|
||||
|
||||
### After IDEA stage:
|
||||
```
|
||||
CHECK: Emotional arc definition
|
||||
- Is the emotional arc explicit (build → reveal → landing)?
|
||||
- Is source mode clear (supplied footage vs generated inserts)?
|
||||
- Is the target mood defined and achievable?
|
||||
```
|
||||
|
||||
### After SCRIPT stage:
|
||||
```
|
||||
CHECK: Beat escalation
|
||||
- Does the beat map escalate cleanly toward the reveal?
|
||||
- Are dialogue/title cards sparse and purposeful?
|
||||
- Is the landing beat distinct from the build?
|
||||
|
||||
CHECK: Duration fit
|
||||
- Word count aligns with cinematic pacing (slower than explainer — ~120 WPM)
|
||||
```
|
||||
|
||||
### After SCENE_PLAN stage:
|
||||
```
|
||||
CHECK: Hero moment definition
|
||||
- Are hero frames (climax, reveal) explicitly identified?
|
||||
- Is source footage prioritized over generated inserts?
|
||||
- Do transitions support mood (not distract)?
|
||||
|
||||
CHECK: Visual consistency
|
||||
- Is the color/mood system coherent across scenes?
|
||||
- Are aspect ratio choices consistent (letterbox if used)?
|
||||
```
|
||||
|
||||
### After ASSETS stage:
|
||||
```
|
||||
CHECK: Music/ambience alignment
|
||||
- Does the music beat map align with the script beat map?
|
||||
- Are generated inserts limited and justified?
|
||||
- Budget gate: 90% threshold warning
|
||||
|
||||
CHECK: Source selects quality
|
||||
- Are source clips properly identified and accessible?
|
||||
- Do support assets (generated or stock) match source quality level?
|
||||
```
|
||||
|
||||
### After EDIT stage:
|
||||
```
|
||||
CHECK: Emotional pacing
|
||||
- Strong moments are not overcut
|
||||
- Audio cues reinforce story beats
|
||||
- Title-card timing is restrained
|
||||
|
||||
CHECK: Timeline completeness
|
||||
- Full runtime covered, no gaps
|
||||
- All asset references valid
|
||||
```
|
||||
|
||||
### After COMPOSE stage:
|
||||
```
|
||||
CHECK: Output validation
|
||||
- ffprobe: duration, resolution, codec
|
||||
- Color grade applied and consistent
|
||||
- Audio dynamics controlled — dialogue intelligible, music balanced
|
||||
- Letterbox or frame treatment improves (not harms) the output
|
||||
```
|
||||
|
||||
## Quality Gates Summary
|
||||
|
||||
| Gate | After Stage | What's Checked | Fail Action |
|
||||
|------|-------------|---------------|-------------|
|
||||
| G1 | idea | Emotional arc, source mode | Revise |
|
||||
| G2 | script | Beat escalation, duration | Revise |
|
||||
| G3 | scene_plan | Hero moments, visual consistency | Revise |
|
||||
| G4 | assets | Music alignment, source quality, budget | Revise |
|
||||
| G5 | edit | Emotional pacing, timeline | Revise |
|
||||
| G6 | compose | Output probe, color grade, audio dynamics | Revise or send-back |
|
||||
| G7 | publish | Metadata, poster frame | Revise |
|
||||
| FINAL | all | Mood coherence, audio, visual polish | Send-back |
|
||||
|
||||
## Execution Limits
|
||||
|
||||
| Limit | Value |
|
||||
|-------|-------|
|
||||
| Max revisions per stage | 3 |
|
||||
| Max send-backs per stage pair | 1 |
|
||||
| Max total send-backs | 3 |
|
||||
| Max total budget | Configurable (default $2) |
|
||||
| Max total wall-time | 12 minutes |
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- **Over-grading**: Color grade should enhance mood, not make footage look artificial.
|
||||
- **Overuse of generated inserts**: Source footage should be primary. Generated content fills gaps, not replaces.
|
||||
- **Ignoring audio dynamics**: Cinematic videos live and die by their audio. Music/dialogue balance is critical.
|
||||
- **Rushing the reveal**: The climax moment needs breathing room. Don't let pacing compress it.
|
||||
@@ -0,0 +1,79 @@
|
||||
# Idea Director - Cinematic Pipeline
|
||||
|
||||
## When To Use
|
||||
|
||||
Use this pipeline for trailers, brand films, dramatic montages, or mood-led short videos where rhythm, atmosphere, and emotional escalation matter more than direct explanation.
|
||||
|
||||
Do not use this pipeline just because the user said "make it look cinematic." If the project is really a screen demo, explainer, or repurposing job, route it there instead.
|
||||
|
||||
## Reference Inputs
|
||||
|
||||
- `docs/cinematic-best-practices.md`
|
||||
- `skills/creative/cinematic.md`
|
||||
- `skills/creative/storytelling.md`
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Classify The Source Reality
|
||||
|
||||
Capture the source mode:
|
||||
|
||||
- `footage_only`
|
||||
- `footage_plus_stills`
|
||||
- `still_led`
|
||||
- `generated_support`
|
||||
- `mixed_montage`
|
||||
|
||||
Do not assume stock, generated b-roll, or music exists unless the user has provided it or the environment can actually make it.
|
||||
|
||||
### 2. Define The Emotional Arc
|
||||
|
||||
Choose the arc in plain language:
|
||||
|
||||
- tension -> reveal
|
||||
- wonder -> scale
|
||||
- intimacy -> payoff
|
||||
- urgency -> resolution
|
||||
- mystery -> CTA
|
||||
|
||||
The brief should tell later stages what the video is trying to make the viewer feel, not just what it is about.
|
||||
|
||||
### 3. Pick The Delivery Shape
|
||||
|
||||
Common output shapes:
|
||||
|
||||
- `teaser`
|
||||
- `trailer`
|
||||
- `hero_brand_film`
|
||||
- `mood_cut`
|
||||
- `social_cutdown`
|
||||
|
||||
Store longer planning detail in `brief.metadata`.
|
||||
|
||||
Recommended metadata keys:
|
||||
|
||||
- `source_mode`
|
||||
- `delivery_shape`
|
||||
- `emotional_arc`
|
||||
- `anchor_assets`
|
||||
- `music_strategy`
|
||||
- `generated_support_level`
|
||||
- `aspect_ratio_plan`
|
||||
- `rights_constraints`
|
||||
|
||||
### 4. Reality Check The Treatment
|
||||
|
||||
If the user has weak source media and no generation path, say so. A cinematic result still needs enough visual or audio material to carry mood.
|
||||
|
||||
### 5. Quality Gate
|
||||
|
||||
- the source truth is explicit,
|
||||
- the emotional arc is specific,
|
||||
- the output shape fits the available assets,
|
||||
- the treatment is cinematic for a reason, not by label only.
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Calling something cinematic when it is really just a normal edit with black bars.
|
||||
- Assuming generated inserts are available without checking tools.
|
||||
- Planning a trailer shape with no reveal or payoff.
|
||||
@@ -0,0 +1,56 @@
|
||||
# Publish Director - Cinematic Pipeline
|
||||
|
||||
## When To Use
|
||||
|
||||
Package the cinematic piece and any cutdowns so the hero version stays clear and the distribution intent is obvious.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Layer | Resource | Purpose |
|
||||
|-------|----------|---------|
|
||||
| Schema | `schemas/artifacts/publish_log.schema.json` | Artifact validation |
|
||||
| Prior artifacts | `state.artifacts["compose"]["render_report"]`, `state.artifacts["idea"]["brief"]`, `state.artifacts["script"]["script"]` | Final outputs and beat map |
|
||||
| Playbook | Active style playbook | Tone and naming consistency |
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Separate Hero And Derivatives
|
||||
|
||||
Typical deliverables:
|
||||
|
||||
- hero trailer or brand film,
|
||||
- teaser cut,
|
||||
- social cutdown,
|
||||
- poster-frame or thumbnail concept.
|
||||
|
||||
### 2. Match Metadata To Tone
|
||||
|
||||
Packaging should reflect the actual mood:
|
||||
|
||||
- dramatic,
|
||||
- premium,
|
||||
- mysterious,
|
||||
- reflective,
|
||||
- urgent.
|
||||
|
||||
### 3. Preserve Editorial Truth
|
||||
|
||||
Store in `publish_log.metadata`:
|
||||
|
||||
- `hero_output`
|
||||
- `derivative_outputs`
|
||||
- `poster_frame_notes`
|
||||
- `distribution_notes`
|
||||
|
||||
### 4. Quality Gate
|
||||
|
||||
- hero export is clearly identified,
|
||||
- derivative exports are labeled by purpose,
|
||||
- metadata fits the tone,
|
||||
- the package is usable without manual cleanup.
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Mixing teaser and hero outputs without clear naming.
|
||||
- Writing generic metadata that ignores the mood.
|
||||
- Treating all cutdowns as interchangeable.
|
||||
@@ -0,0 +1,63 @@
|
||||
# Scene Director - Cinematic Pipeline
|
||||
|
||||
## When To Use
|
||||
|
||||
You are deciding how each cinematic beat will look and transition. This is where mood becomes a visual plan.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Layer | Resource | Purpose |
|
||||
|-------|----------|---------|
|
||||
| Schema | `schemas/artifacts/scene_plan.schema.json` | Artifact validation |
|
||||
| Prior artifacts | `state.artifacts["script"]["script"]`, `state.artifacts["idea"]["brief"]` | Beat map and source truth |
|
||||
| Tools | `frame_sampler`, `scene_detect` | Source inspection and reframing checks |
|
||||
| Playbook | Active style playbook | Color and typography consistency |
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Make Hero Frames Explicit
|
||||
|
||||
Every cinematic piece needs a few memorable frames. Define them directly:
|
||||
|
||||
- opening image,
|
||||
- reveal image,
|
||||
- final image,
|
||||
- any title-card hero moments.
|
||||
|
||||
### 2. Keep Source-Led Scenes Primary
|
||||
|
||||
If source footage exists, let it carry the piece. Generated inserts or text cards should support transitions, emphasis, or missing coverage, not dominate the timeline.
|
||||
|
||||
### 3. Limit Transition Vocabulary
|
||||
|
||||
Choose a small set:
|
||||
|
||||
- hard cut,
|
||||
- fade to black,
|
||||
- slow dissolve,
|
||||
- restrained push or punch-in.
|
||||
|
||||
Too many transition types kill the mood.
|
||||
|
||||
### 4. Use Metadata For Visual Rules
|
||||
|
||||
Recommended metadata keys:
|
||||
|
||||
- `hero_frames`
|
||||
- `transition_rules`
|
||||
- `aspect_ratio_rules`
|
||||
- `title_card_rules`
|
||||
- `support_insert_rules`
|
||||
|
||||
### 5. Quality Gate
|
||||
|
||||
- every beat has a scene treatment,
|
||||
- hero frames are identifiable,
|
||||
- support inserts are justified,
|
||||
- the visual language stays consistent across the piece.
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Using title cards as filler.
|
||||
- Treating generated inserts like the primary story without saying so.
|
||||
- Planning flashy transitions for every beat.
|
||||
@@ -0,0 +1,69 @@
|
||||
# Script Director - Cinematic Pipeline
|
||||
|
||||
## When To Use
|
||||
|
||||
This stage builds the beat map, selected lines, title-card copy, and reveal structure for the cinematic piece. You are shaping rhythm, not writing a dense explainer.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
| Layer | Resource | Purpose |
|
||||
|-------|----------|---------|
|
||||
| Schema | `schemas/artifacts/script.schema.json` | Artifact validation |
|
||||
| Prior artifact | `state.artifacts["idea"]["brief"]` | Emotional arc and source truth |
|
||||
| Tools | `transcriber`, `scene_detect` | Optional dialogue mining and source review |
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Build A Beat Map First
|
||||
|
||||
Use a simple structure:
|
||||
|
||||
- hook,
|
||||
- escalation,
|
||||
- reveal,
|
||||
- landing.
|
||||
|
||||
If the piece is longer, add one midpoint turn. Do not let it become essay-shaped.
|
||||
|
||||
### 2. Use Dialogue Sparingly
|
||||
|
||||
If source speech exists, use `transcriber` to find:
|
||||
|
||||
- strong standalone lines,
|
||||
- emotional phrases,
|
||||
- concise declarations,
|
||||
- reveal phrases.
|
||||
|
||||
If there is no useful dialogue, keep the script title-led or narration-led and say so in metadata.
|
||||
|
||||
### 3. Keep Title Cards Short
|
||||
|
||||
Title-card copy should feel trailer-like:
|
||||
|
||||
- fewer words,
|
||||
- more contrast,
|
||||
- more whitespace,
|
||||
- more timing precision.
|
||||
|
||||
### 4. Store Beat Truth In Metadata
|
||||
|
||||
Recommended metadata keys:
|
||||
|
||||
- `beat_map`
|
||||
- `dialogue_selects`
|
||||
- `title_card_copy`
|
||||
- `music_turns`
|
||||
- `silence_windows`
|
||||
|
||||
### 5. Quality Gate
|
||||
|
||||
- the beat map escalates cleanly,
|
||||
- dialogue and title cards do not explain the same thing twice,
|
||||
- the reveal lands distinctly,
|
||||
- the landing gives the viewer a final feeling or action.
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Writing full explanatory paragraphs instead of beats.
|
||||
- Using too many title cards.
|
||||
- Revealing the best moment too early.
|
||||
Reference in New Issue
Block a user