Skip to main content

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 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 — cinematic-dark, editorial, neutral-light, or montage.

  • 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 used for guardrail validation. Optional — falls back to scene.personality when 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 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?"

Was this page helpful?