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:
calesthio
2026-03-29 08:25:17 -07:00
commit a3e735cc7a
1147 changed files with 240221 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
# Asset Director - Hybrid Pipeline
## When To Use
This stage prepares the support kit around the anchor edit: subtitles, diagrams, generated inserts, narration, music, and reusable overlay systems.
## 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"]` | Support needs and variant plan |
| Tools | `subtitle_gen`, `tts_selector`, `image_selector`, `video_selector`, `diagram_gen`, `code_snippet`, `music_gen`, `audio_enhance` — selectors auto-discover all available providers from the registry | Optional support asset production |
| Playbook | Active style playbook | Consistency rules |
## Process
### 1. Build Shared Support Assets First
Start with reusable systems:
- subtitle treatment,
- lower-third or label system,
- stat-card system,
- CTA container,
- diagram style.
### 1b. Sample Preview (Prevents Wasted Spend)
Before batch-generating support assets, produce one sample of each expensive generated type and show the user:
1. **TTS sample** (if narration is needed): Generate one section. Confirm voice and tone before batching.
2. **Image/video sample** (if generating inserts): Generate one representative visual. Confirm style fits the source footage before batching.
If rejected, adjust parameters and retry (max 3 iterations). Do not batch until approved.
### 2. Generate Only The Support Assets You Need
Support assets should fill identified needs from the script and scene plan, not speculative possibilities.
### 3. Preserve Anchor Truth
Keep the metadata clear about which assets are:
- source-derived,
- provided,
- recorded,
- generated.
### 4. Use Metadata For The Support Map
Recommended metadata keys:
- `shared_support_assets`
- `scene_asset_index`
- `source_vs_generated_map`
- `variant_assets`
### 5. Quality Gate
- support assets map to real narrative needs,
- reusable kits are present,
- source and generated assets are clearly separated,
- every referenced file exists.
## Common Pitfalls
- Overbuilding support assets before the anchor cut is proven.
- Losing track of which assets are generated versus supplied.
- Creating inconsistent overlay systems across one project.
@@ -0,0 +1,48 @@
# Compose Director - Hybrid Pipeline
## When To Use
Render the hybrid project so source media, support graphics, and audio all remain coherent across outputs.
## 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 logic and support assets |
| Tools | `video_compose`, `audio_mixer`, `video_stitch`, `video_trimmer`, `color_grade`, `audio_enhance` | Final assembly and polish |
| Playbook | Active style playbook | Output consistency |
## Process
### 1. Verify Source And Support Balance
The final render should still look like a source-led video with support, not a collage of unrelated systems.
### 2. Check Variant Integrity
For each output variant, verify:
- crop safety,
- text safety,
- subtitle legibility,
- audio consistency.
### 3. Keep Audio Coherent
Source dialogue, narration, music, and effects should feel like one mix, not separate layers fighting for space.
### 4. Use Render Metadata
Recommended metadata keys:
- `variant_outputs`
- `balance_checks`
- `subtitle_checks`
- `audio_notes`
## Common Pitfalls
- Good master cut, broken platform variants.
- Support graphics clipping in vertical exports.
- Audio loudness shifting between source and generated sections.
+55
View File
@@ -0,0 +1,55 @@
# Edit Director - Hybrid Pipeline
## When To Use
This stage creates the layered edit logic for a source-led video with support elements. The order matters: anchor cut first, support layers second.
## 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"]` | Source/support assets and timeline intent |
| Playbook | Active style playbook | Typography and motion consistency |
## Process
### 1. Lock The Anchor Cut First
The viewer should understand the story before support overlays are added. If the anchor cut is weak, support layers will not save it.
### 2. Add Support In Priority Order
Typical order:
1. subtitles,
2. speaker or context labels,
3. diagrams or stat cards,
4. optional inserts,
5. CTA elements.
### 3. Protect Readability
Never stack too many support layers in one moment. If subtitles, labels, charts, and overlays collide, simplify.
### 4. Use Metadata For Layering Logic
Recommended metadata keys:
- `anchor_cut_notes`
- `layer_order`
- `overlay_windows`
- `variant_edit_rules`
### 5. Quality Gate
- the anchor cut works on its own,
- support layers clarify instead of distract,
- mobile readability survives,
- variants remain consistent.
## Common Pitfalls
- Trying to fix a weak cut with extra graphics.
- Letting support layers compete with the source.
- Building each platform variant as a separate editorial philosophy.
@@ -0,0 +1,129 @@
# Executive Producer — Hybrid Pipeline
## When to Use
You are the **Executive Producer (EP)** for a hybrid video that combines source footage with designed or generated support assets. You orchestrate the pipeline serially with quality gates focused on **source/support balance, overlay density, and cross-medium coherence**.
**No pre-production stages.** The user provides direction and source material. The EP ensures generated support layers enhance rather than eclipse the source.
## Prerequisites
| Layer | Resource | Purpose |
|-------|----------|---------|
| Pipeline | `pipeline_defs/hybrid.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: hybrid
playbook: <selected>
target_duration_seconds: <from brief>
budget_total_usd: <configured>
budget_spent_usd: 0.0
# Hybrid-specific
anchor_medium: null # source footage type (interview, product, screen, etc.)
support_layers: [] # planned support types (diagrams, overlays, graphics, etc.)
source_to_support_ratio: null # target balance (e.g., 70/30 source/support)
artifacts:
idea: null
script: null
scene_plan: null
assets: null
edit: null
compose: null
publish: null
revision_counts: {}
issues_log: []
```
## EP-Specific Cross-Stage Checks
### After IDEA stage:
```
CHECK: Anchor medium clarity
- Is the anchor medium explicitly identified?
- Are support layers justified (filling real gaps, not decorating)?
- Is the source inventory realistic?
```
### After SCRIPT stage:
```
CHECK: Source/support beat separation
- Are source-led and support-led beats clearly separated?
- Does the script avoid relying on unsupported assets?
- Is narration/dialogue plan realistic?
```
### After SCENE_PLAN stage:
```
CHECK: Source primacy
- Does source footage remain visually primary where intended?
- Are overlay and support layers not overloading the frame?
- Max concurrent overlay layers: 2
CHECK: Variant planning
- If platform variants planned: are they realistic?
- Do aspect-ratio variants maintain readability?
```
### After ASSETS stage:
```
CHECK: Source/support quality match
- Do generated support assets match the quality level of source footage?
- Are shared template assets reused across scenes?
- Budget gate: 90% threshold warning
```
### After EDIT stage:
```
CHECK: Anchor-cut coherence
- Is the anchor cut coherent BEFORE support layers are added?
- Do support visuals clarify rather than distract?
- Is variant logic consistent across deliverables?
```
### After COMPOSE stage:
```
CHECK: Output validation
- ffprobe: duration, resolution, codec
- Source and support layers remain balanced in the final render
- Audio stays coherent across footage and generated elements
- Aspect-ratio variants preserve readability
```
## Quality Gates Summary
| Gate | After Stage | What's Checked | Fail Action |
|------|-------------|---------------|-------------|
| G1 | idea | Anchor medium, support justification | Revise |
| G2 | script | Source/support separation, narration plan | Revise |
| G3 | scene_plan | Source primacy, overlay density, variants | Revise |
| G4 | assets | Quality match, reuse, budget | Revise |
| G5 | edit | Anchor-cut coherence, support clarity | Revise |
| G6 | compose | Balance, variants, audio coherence | Revise or send-back |
| G7 | publish | Metadata, source-mix labeling | Revise |
| FINAL | all | Source/support balance, readability | 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
- **Support eclipsing source**: Generated graphics should not dominate. Source footage is the anchor.
- **Overlay overload**: Max 2 concurrent overlay layers. More creates visual noise.
- **Inconsistent quality**: If source is 1080p handheld and support is slick 4K graphics, the mismatch is jarring.
- **Ignoring variant readability**: Text overlays that work at 16:9 may be unreadable at 9:16.
+73
View File
@@ -0,0 +1,73 @@
# Idea Director - Hybrid Pipeline
## When To Use
Use this pipeline when the project combines real source media with support visuals: interviews plus diagrams, footage plus overlays, screen recording plus branded graphics, or source-led edits with generated inserts.
Hybrid is not a catch-all. Your first job is to define what stays primary.
## Reference Inputs
- `docs/hybrid-video-best-practices.md`
- `skills/creative/storytelling.md`
- `skills/creative/video-editing.md`
## Process
### 1. Choose The Anchor Medium
Pick the storytelling anchor:
- `talking_head`
- `broll_footage`
- `screen_recording`
- `still_sequence`
- `narration_led_graphics`
### 2. Define Support Layers
Possible support layers:
- subtitles,
- diagrams,
- code visuals,
- stat cards,
- generated inserts,
- narration,
- music.
Each support layer should solve a specific problem, not just decorate the timeline.
### 3. Decide The Deliverable Mix
Common outputs:
- hero cut,
- vertical cutdown,
- square cutdown,
- chaptered version,
- ad variant.
### 4. Build The Brief
Recommended metadata keys:
- `anchor_medium`
- `source_inventory`
- `support_layers`
- `deliverable_mix`
- `missing_capabilities`
- `fallback_policy`
### 5. Quality Gate
- the anchor medium is explicit,
- support layers are justified,
- the deliverable mix fits the source inventory,
- missing capabilities are surfaced early.
## Common Pitfalls
- Calling everything hybrid without defining a primary medium.
- Planning support layers before understanding the source.
- Treating optional generated inserts as guaranteed.
@@ -0,0 +1,50 @@
# Publish Director - Hybrid Pipeline
## When To Use
Package the hybrid outputs so the hero cut and its derivatives stay organized and the source/support mix remains clear.
## 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 hybrid framing |
| Playbook | Active style playbook | Tone consistency |
## Process
### 1. Distinguish Master And Variants
Group outputs as:
- master cut,
- short-form derivatives,
- format variants,
- chaptered or contextual variants.
### 2. Preserve Source Truth In Packaging
If the project uses interview footage, screen recording, or product footage as its anchor, the metadata should reflect that instead of packaging it like a pure generated piece.
### 3. Store Cross-Output Notes
Recommended metadata keys:
- `master_output`
- `derivative_outputs`
- `source_mix_notes`
- `platform_copy_map`
### 4. Quality Gate
- master and variants are clearly labeled,
- metadata matches the true source mix,
- export folders are organized by purpose,
- the package is ready to use without manual cleanup.
## Common Pitfalls
- Hiding which output is the hero cut.
- Packaging a source-led project like a generic generated asset.
- Losing platform-specific copy and labeling across variants.
+62
View File
@@ -0,0 +1,62 @@
# Scene Director - Hybrid Pipeline
## When To Use
You are translating the hybrid structure into a visual system that keeps the source visible and the support layers under control.
## Prerequisites
| Layer | Resource | Purpose |
|-------|----------|---------|
| Schema | `schemas/artifacts/scene_plan.schema.json` | Artifact validation |
| Prior artifacts | `state.artifacts["script"]["script"]`, `state.artifacts["idea"]["brief"]` | Hybrid structure and source truth |
| Tools | `frame_sampler`, `scene_detect` | Optional source inspection |
| Playbook | Active style playbook | Layout consistency |
## Process
### 1. Keep The Anchor Medium Visible
If the piece is source-led, the source must remain visually primary in the scene plan. Do not hide the anchor behind constant overlays.
### 2. Reserve Support For Clear Jobs
Use support scenes for:
- chapter transitions,
- clarifying diagrams,
- stat emphasis,
- CTA or summary moments,
- gap-filling inserts.
### 3. Plan Variant Safety
If the project needs multiple aspect ratios, define where:
- subtitles live,
- speaker labels live,
- chart or code safe zones live,
- crop-sensitive source media becomes unsafe.
### 4. Use Metadata For Balance Rules
Recommended metadata keys:
- `anchor_rules`
- `support_rules`
- `safe_zones`
- `variant_rules`
- `overlay_density_limits`
### 5. Quality Gate
- the anchor medium stays primary where intended,
- support layers are limited and purposeful,
- aspect-ratio planning is explicit,
- no scene relies on invisible future magic.
## Common Pitfalls
- Turning source-led scenes into overlay soup.
- Forgetting variant-safe zones until compose.
- Using generated inserts for every transition.
@@ -0,0 +1,59 @@
# Script Director - Hybrid Pipeline
## When To Use
This stage maps the story across source-led beats and support-led beats. You are deciding where the source carries the message and where support assets clarify it.
## Prerequisites
| Layer | Resource | Purpose |
|-------|----------|---------|
| Schema | `schemas/artifacts/script.schema.json` | Artifact validation |
| Prior artifact | `state.artifacts["idea"]["brief"]` | Anchor medium and deliverable mix |
| Tools | `transcriber`, `scene_detect`, `audio_enhance` | Optional source analysis |
## Process
### 1. Mark Source-Led Versus Support-Led Beats
For each section, state whether it is:
- carried by source dialogue or footage,
- carried by narration,
- carried by diagrams or overlays,
- carried by text only.
### 2. Use Source Speech When It Is Better Than Rewriting
If the supplied footage already contains strong lines, use `transcriber` and keep the authenticity. Do not replace good source material with unnecessary narration.
### 3. Use Support Only To Clarify
Support-led beats should answer:
- what is not visible,
- what needs summarizing,
- what needs emphasis,
- what changes for a different platform.
### 4. Use Metadata For Structure
Recommended metadata keys:
- `anchor_sections`
- `support_sections`
- `narration_sections`
- `required_support_assets`
### 5. Quality Gate
- source-led beats are clearly marked,
- support-led beats are justified,
- the script does not depend on fake or unavailable assets without saying so,
- the structure can produce the intended deliverables.
## Common Pitfalls
- Rewriting strong source dialogue into weaker narration.
- Adding diagrams or cards where the footage already explains the point.
- Hiding unsupported requirements until asset generation.