Skip to main content

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 optional brand, tone, style, constraints fields.

  • Name
    enhance
    Type
    boolean
    Description

    Enable LLM enhancement. When true and ANTHROPIC_API_KEY is 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; v3 emits 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_sceneplan_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.

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 motion block with groups, recipes, stagger, cues, and camera sync; v3 scenes carry a semantic block with components, interactions, and camera_behavior.

  • Name
    personality
    Type
    string
    Description

    Personality slug. Optional — falls back to scene.personality when 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 with scene_id, duration_frames, fps, and tracks, or a reactive descriptor with mode: "reactive" for library-driven scenes.

  • Name
    scene
    Type
    object
    Description

    Required. The original scene definition with its layers array. 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 to scene.personality when 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, or blur_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, or montage.

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, or quote.

  • 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, or montage.

  • Name
    scene_energy
    Type
    string
    Description

    Energy level of the scene — low, medium, or high. 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:34 or URL form 12-34 both 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"

Was this page helpful?