Scene Authoring
Nine tools for classifying content, generating structured scenes from briefs, validating choreography, compiling motion timelines, and authoring editorial canvas and product-UI surface layouts.
analyze_scene
Classify a scene's content type, visual weight, motion energy, and intent tags. Produces semantic annotations used by downstream planning tools.
- Name
scene- Type
- object
- Description
Required. The scene object to analyze.
Returns: Content type classification, visual weight score, motion energy rating, intent tags, and semantic annotations.
Try asking your AI:
"Analyze this scene for content type and visual weight"
"Classify the motion energy and intent tags for my hero scene"
generate_scenes
Convert a structured creative brief into classified assets and validated scene JSON with auto-annotations. Runs the full brief-to-scenes pipeline in one call — the bridge between /brief and /sizzle.
- Name
brief- Type
- object
- Description
Required. A creative brief object with
project(title required),template(template_id or "custom"),content(sections array with label + text + optional assets),assets(array with id + src + optional hint), and optionalbrand,tone,style,constraintsfields.
- Name
enhance- Type
- boolean
- Description
Enable LLM enhancement. When
trueandANTHROPIC_API_KEYis set, Claude improves scene plan text and suggests camera moves. Falls back to rule-based output on any failure. Default:false.
- Name
format- Type
- string
- Description
Output format:
v2(default) emits motion blocks;v3emits semantic components + interactions for content types that support it (typography, brand_mark, data_visualization, collage), with other types falling back to v2.
Returns: An array of validated scene objects ready for analyze_scene → plan_sequence → render.
Try asking your AI:
"Generate scenes from this product-launch brief JSON"
"Generate v3 scenes with LLM enhancement for my fintech brief"
validate_choreography
Validate a set of primitives against personality guardrails. Checks primitive existence, personality compatibility, forbidden features (3D in editorial, camera in neutral-light), speed limits, lens bounds, and intent cross-references. Returns PASS / WARN / BLOCK verdict with diagnostics.
- Name
primitive_ids- Type
- string[]
- Description
Required. Array of primitive IDs in the choreography plan.
- Name
personality- Type
- string
- Description
Required. Target personality —
cinematic-dark,editorial,neutral-light, ormontage.
- Name
intent- Type
- string
- Description
Optional choreographic intent for cross-reference validation.
- Name
overrides- Type
- object
- Description
Optional overrides for lens bounds and timing —
perspective(px),max_blur(px),duration_multiplier(e.g., 0.5 for half speed).
Returns: PASS / WARN / BLOCK verdict with detailed diagnostics. Common violations include 3D primitives in a personality that forbids them, camera moves in neutral-light, or exceeding speed limits.
Always validate before compiling. Personality violations can result in animations that feel inconsistent or break the intended tone of your project.
Try asking your AI:
"Validate these primitive IDs against the editorial personality: cd-blur-reveal, ct-perspective-tilt, cd-fade-in"
compile_motion
Compile a v2 or v3 scene into a frame-addressed Level 2 Motion Timeline. Handles v2 motion blocks (groups, recipes, stagger, cues) and v3 semantic blocks (components, interactions, camera_behavior) — v3 scenes are pre-compiled to v2 motion groups before the 7-step pipeline runs. The timeline contains per-layer keyframe tracks and camera tracks consumable by the Remotion renderer.
- Name
scene- Type
- object
- Description
Required. A v2 or v3 scene definition. v2 scenes carry a
motionblock with groups, recipes, stagger, cues, and camera sync; v3 scenes carry asemanticblock with components, interactions, and camera_behavior.
- Name
personality- Type
- string
- Description
Personality slug used for guardrail validation. Optional — falls back to
scene.personalitywhen omitted.
Returns: A compiled Level 2 motion timeline with scene_id, duration_frames, fps, and per-layer + camera tracks. Feed this into critique_motion or the Remotion renderer.
Try asking your AI:
"Compile this scene into a motion timeline for Remotion"
"Compile the hero scene with the cinematic-dark personality for guardrail checks"
critique_motion
Analyze a compiled Level 2 motion timeline for quality issues: dead holds, flat motion, missing hierarchy, repetitive easing, orphan layers, camera-motion mismatch, and excessive simultaneity. Returns a 0-100 quality score with actionable revision suggestions. Use after compile_motion to validate choreography before rendering.
- Name
timeline- Type
- object
- Description
Required. A compiled motion timeline (output of
compile_motion). Either a static timeline withscene_id,duration_frames,fps, and tracks, or a reactive descriptor withmode: "reactive"for library-driven scenes.
- Name
scene- Type
- object
- Description
Required. The original scene definition with its
layersarray. Used to detect orphan layers, hierarchy issues, and reactive primitive references.
- Name
personality- Type
- string
- Description
Personality slug (
cinematic-dark,editorial,neutral-light,montage). Used by reactive checks to flag personality-affinity mismatches. Falls back toscene.personalitywhen omitted.
Returns: Quality score (0-100), rule-by-rule findings (dead holds, flat motion, hierarchy gaps, easing repetition, orphan layers, camera-motion mismatch, simultaneity), and targeted revision suggestions.
Try asking your AI:
"Critique this compiled motion timeline and flag any dead holds or orphan layers"
create_editorial_canvas_scene
Create an editorial canvas scene — a flat art-directed space with anchor-based positioning, safe zones, and floating UI fragments. Returns a valid editorial canvas scene JSON ready for rendering.
- Name
scene_id- Type
- string
- Description
Required. Scene ID (must match
^sc_[a-z0-9_]+$).
- Name
duration_s- Type
- number
- Description
Required. Scene duration in seconds (0.5–30).
- Name
layers- Type
- object[]
- Description
Required. Array of layer objects —
{ id, type, content, anchor, max_w, z_bias, depth_class, src, fit }. Anchors:center,top-left,top-center,top-right,center-left,center-right,bottom-left,bottom-center,bottom-right. Depth classes:background,midground,foreground.
- Name
background- Type
- object
- Description
Background config:
{ color, color_alt, treatment }. Treatment:solid,gradient,radial,mesh, orblur_plate.
- Name
safe_zone- Type
- number
- Description
Safe zone inset percentage (0–30). Default: 5.
- Name
camera- Type
- object
- Description
Camera config:
{ move, intensity, easing }. Optional.
Returns: A valid editorial canvas scene object with resolved anchors, safe-zone offsets, and layer ordering — ready for compile_motion.
Try asking your AI:
"Create an editorial canvas scene sc_hero_001, 3 seconds, with a headline layer anchored top-center and a product image anchored center"
recommend_editorial_layout
Recommend anchor positioning and layout strategy for editorial canvas scenes. Returns recommended patterns with anchor assignments for common editorial layouts (hero-center, split-editorial, floating-fragments, minimal-type).
- Name
content_description- Type
- string
- Description
Required. What this editorial canvas scene needs to communicate (e.g., "headline with floating prompt card and result").
- Name
personality- Type
- string
- Description
Animation personality for style-appropriate defaults —
cinematic-dark,editorial,neutral-light, ormontage.
Returns: Recommended layout pattern with anchor assignments per layer and rationale.
Try asking your AI:
"Recommend an editorial layout for a headline with a floating prompt card and result, editorial personality"
recommend_ui_storyboard_layout
Recommend a structural layout for a product-UI surface mockup. The counterpart to recommend_editorial_layout, which is video-canvas only. Returns region maps for common UI patterns (split-pane-app, table-with-detail-rail, master-detail, inspector-rail, settings-list) plus state-cycle motion notes. Use this when storyboarding a product-feature explainer that shows real app surfaces.
- Name
content_description- Type
- string
- Description
Required. The app surface to lay out (e.g., "window chrome with a left source tree and a main scan-progress panel and bottom status bar").
- Name
personality- Type
- string
- Description
Animation personality. Product-UI surfaces are usually storyboarded in editorial or neutral-light register.
Returns: Recommended UI pattern with a region map (per-region positioning) and state-cycle motion notes.
Try asking your AI:
"Recommend a UI storyboard layout for a window with a left source tree and a main scan-progress panel"
recommend_type_treatment
Recommend a text animation treatment and styling based on block role, content, personality, and scene energy. Returns the best text animation primitive plus typography styling guidance for editorial-quality film typography.
- Name
block_role- Type
- string
- Description
Required. The semantic role of the text block:
headline,caption,label, orquote.
- Name
content- Type
- string
- Description
Required. The text content to be animated.
- Name
personality- Type
- string
- Description
Required. Animation personality context:
cinematic-dark,editorial,neutral-light, ormontage.
- Name
scene_energy- Type
- string
- Description
Energy level of the scene —
low,medium, orhigh. Affects animation intensity.
Returns: Recommended text animation primitive plus typography styling guidance (scale, weight, tracking, line treatment).
Try asking your AI:
"Recommend a type treatment for a cinematic-dark hero headline"
"What's the right caption animation for an editorial scene at low energy?"