Scene Authoring
Ten tools for classifying content, generating structured scenes from briefs, validating choreography, compiling motion timelines, authoring editorial canvas and product-UI surface layouts, and converting Figma frames into semantic scenes.
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 slug. Built-ins:
cinematic-dark,editorial,neutral-light,montage. A custom slug is accepted too — primitive compatibility resolves through its inherited/derived built-in matrix, and its own derived guardrails are enforced.
- 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. Optional — falls back to
scene.personalitywhen omitted. Built-ins (cinematic-dark,editorial,neutral-light,montage) apply personality-specific camera constants; a custom slug from create_personality is accepted and persisted into the compiled timeline (camera constants fall back to base).
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?"
figma_frame_to_scene
Convert a Figma frame into an Animatic v3 semantic scene. Fetches the node tree via the Figma REST API, maps direct children to semantic components with real HTML layers, infers component types and roles with confidence scores, extracts a brand palette, and emits a conservative staggered-entrance choreography. The returned report lists per-layer inferences and low-confidence advisories to review.
- Name
file_key- Type
- string
- Description
Required. Figma file key, or a full figma.com/file/... or /design/... URL.
- Name
node_id- Type
- string
- Description
Required. Frame node id — API form
12:34or URL form12-34both accepted.
- Name
personality- Type
- string
- Description
Optional personality to pin on the scene (affects downstream compile choices).
- Name
duration_s- Type
- number
- Description
Scene duration in seconds. Default: 4.
- Name
export_images- Type
- boolean
- Description
Download image-fill bitmaps (raw fill paint) and embed them as data-URIs in the layer HTML, faithfully reproducing scaleMode (FILL/FIT/CROP/TILE) including pan/zoom crops. Default false — when off, image fills render as dark placeholders and the tool writes nothing.
- Name
project- Type
- string
- Description
Optional project slug or path. When set with export_images, exported bitmaps are also persisted (in their native format) to the project's brief/references/assets/ for provenance.
Returns: { scene, report } — the v3 semantic scene plus a per-layer inference report with low-confidence advisories.
Try asking your AI:
"Convert this Figma frame into an Animatic scene"
"Import my hero frame from Figma and review the low-confidence layers"