Render Pipeline
Four tools for routing scenes to the optimal render target, assembling mixed-source video, selecting delivery profiles, and generating storyboard contact sheets.
resolve_render_targets
Route scenes to the optimal render target: web_native (real DOM), browser_capture (Puppeteer → plate), remotion_native (direct Remotion), or hybrid. Pure routing — deterministic, no side effects.
- Name
scenes- Type
- object[]
- Description
Required. Annotated scene definitions.
- Name
manifest- Type
- object
- Description
Optional sequence manifest.
manifest.render_target_defaultsets a global fallback;manifest.scenes[i].render_targetis a per-scene override.
- Name
personality- Type
- string
- Description
Personality slug. Used to detect forbidden CSS features (3d_transforms, blur) per scene. Falls back to scene.personality.
- Name
strict- Type
- boolean
- Description
When true, throw on any compatibility warning instead of returning it. Default false.
Returns: Per-scene render target assignments with reason and capture config. Scenes with complex HTML go to browser capture, pure motion scenes go to Remotion native, and mixed content uses hybrid.
Try asking your AI:
"Resolve render targets for my 8-scene product sizzle"
"Which scenes need browser capture vs native Remotion?"
assemble_video_sequence
Assemble a video from mixed render sources: browser-captured plate assets + native Remotion scenes. Resolves render targets, verifies plates, builds Remotion render-props, and returns a CLI render command. Handles graceful fallback when plates are missing.
- Name
manifest- Type
- object
- Description
Required. Sequence manifest.
- Name
scene_defs- Type
- object
- Description
Scene definitions keyed by
scene_id.
- Name
scenes- Type
- object[]
- Description
Scene array (alternative to
scene_defs).
- Name
plates- Type
- object
- Description
Plate assets keyed by
scene_id— each entry is{ src, format }.
- Name
timelines- Type
- object
- Description
Compiled timelines keyed by
scene_id.
- Name
output_dir- Type
- string
- Description
Directory to write
render-props.json.
- Name
output_path- Type
- string
- Description
Final video output path.
Returns: Render-props payload, a CLI render command, plate verification results, and any assembly warnings.
Try asking your AI:
"Assemble the final video from my resolved render targets"
get_delivery_profile
Get encoding settings for a target delivery channel. Eight presets are available:
| Profile | Resolution | FPS | Notes |
|---|---|---|---|
| web-hero | 1920x1080 | 60 | CRF 14, high quality |
| web-embed | 1280x720 | 30 | CRF 18, balanced for iframes |
| social-feed | 1080x1080 | 30 | Square format, burn-in captions default |
| social-landscape | 1920x1080 | 30 | YouTube / LinkedIn landscape |
| story-reel | 1080x1920 | 30 | Vertical format, burn-in captions default |
| email-gif | 600x338 | 15 | Animated GIF, no audio |
| presentation | 1920x1080 | 30 | CRF 12, Keynote / Slides embed |
| master | 1920x1080 | 60 | ProRes 4444 lossless |
- Name
slug- Type
- string
- Description
Profile slug —
web-hero,social-feed,story-reel,email-gif,presentation,master, etc.
- Name
channel- Type
- string
- Description
Channel name —
youtube,instagram-feed,email,tiktok, etc. Auto-matches to the best profile whenslugis omitted.
Returns: Encoding settings including resolution, FPS, codec, CRF/quality, and format.
Try asking your AI:
"What encoding settings should I use for social-feed delivery?"
generate_contact_sheet / compare_project_versions
Storyboard and version comparison tools.
generate_contact_sheet generates a structured overview of each scene — thumbnail description, duration, transition, camera, and energy — from a manifest + scenes (or from a project slug). Useful for reviewing a sequence at a glance before rendering.
compare_project_versions returns a structured diff between two manifest versions: scenes added/removed/reordered, duration changes, transition changes, camera changes, and overall timing delta.
generate_contact_sheet
- Name
project- Type
- string
- Description
Project slug to load manifest/scenes from (alternative to passing inline data).
- Name
manifest- Type
- object
- Description
Inline sequence manifest (if not loading from a project).
- Name
scenes- Type
- object[]
- Description
Inline scene definitions (if not loading from a project).
- Name
includeTimecodes- Type
- boolean
- Description
Include start/end timecodes per scene. Default:
true.
- Name
includeTechnical- Type
- boolean
- Description
Include camera move and energy level per scene. Default:
true.
- Name
format- Type
- string
- Description
Output format:
json(default) ormarkdown.
compare_project_versions
- Name
project- Type
- string
- Description
Project slug (reserved for future version history support).
- Name
version_a- Type
- string
- Description
Version A identifier (reserved for future version history support).
- Name
version_b- Type
- string
- Description
Version B identifier (reserved for future version history support).
- Name
manifest_a- Type
- object
- Description
First manifest to compare (inline).
- Name
manifest_b- Type
- object
- Description
Second manifest to compare (inline).
- Name
format- Type
- string
- Description
Output format. Default: json.
Try asking your AI:
"Generate a contact sheet for my sequence manifest as markdown"
"Compare these two manifest versions and show me the diff"