Scoring & Critique
Six tools for evaluating video quality. Score candidates on six dimensions, check brand finish per personality, audit product demo clarity, evaluate frame strips for visual quality, detect motion density issues, and judge perceptual comprehension of key frames.
score_candidate_video
The primary scoring tool. Evaluates a candidate video across 6 weighted dimensions — hook, narrative_arc, clarity, visual_hierarchy, motion_quality, and brand_finish — by running all existing evaluators (sequence eval, per-scene critic, motion density, brand compliance, product clarity, audio sync). Produces per-scene subscores for targeted revision.
- Name
manifest- Type
- object
- Description
Required. Sequence manifest to score.
- Name
scenes- Type
- object[]
- Description
Required. Scene definitions matching the manifest.
- Name
style- Type
- string
- Description
Style pack name. Used by the sequence evaluator.
- Name
brand- Type
- object
- Description
Brand package. Enables brand-finish scoring.
- Name
audio_beats- Type
- object
- Description
Beat data from
analyze_beats. Enables audio-sync scoring.
- Name
weights- Type
- object
- Description
Custom per-dimension weights to override the default scorecard balance.
Returns: Unified 0-1 score card with overall and per-dimension scores, per-scene subscores, findings, and revision recommendations.
Try asking your AI:
"Score this candidate video on all six dimensions"
score_brand_finish
Recommend a multi-pass compositing stack (bloom, grain, vignette, DOF, etc.) for a personality + style pack combination, and score the finishing quality (0-100). Returns ordered compositing passes with resolved CSS properties and a quality breakdown.
- Name
personality- Type
- string
- Description
Required. Personality slug —
cinematic-dark,editorial,neutral-light, ormontage.
- Name
style_pack- Type
- string
- Description
Style pack name (e.g.,
dramatic,intimate,prestige,energy).
- Name
art_direction- Type
- string
- Description
Art direction slug. Optional — reserved for future integration.
- Name
passes- Type
- object[]
- Description
Optional custom passes to score in place of the recommended stack. Each entry is
{ slug, overrides? }.
Returns: Brand finish score (0-100), an ordered compositing stack with resolved CSS properties, and per-pass quality notes.
Try asking your AI:
"Score the brand finish for cinematic-dark with the prestige style pack"
score_product_demo_clarity
Score a product demo manifest + scenes for clarity and quality (0-100). Evaluates interaction truthfulness (cursor timing, text rhythm), camera intent consistency, pacing variety, and clear hierarchy. Returns score breakdown and actionable warnings.
- Name
manifest- Type
- object
- Description
Sequence manifest with a
scenesarray.
- Name
scenes- Type
- object[]
- Description
Required. Scene definitions to evaluate.
Returns: Clarity score (0-100), per-scene assessments for interaction truth, camera intent, pacing, and hierarchy, plus actionable warnings.
Try asking your AI:
"Score the product demo clarity for my SaaS walkthrough scenes"
score_frame_strip
Score a frame strip (contact sheet + annotated scenes) for visual quality: contrast, readability, visual hierarchy, brand consistency, and pacing rhythm. Returns per-scene and aggregate scores with findings. Operates on metadata — does not require pixel data.
- Name
contact_sheet- Type
- object
- Description
Required. Output of
generate_contact_sheet.
- Name
scenes- Type
- object[]
- Description
Required. Annotated scene definitions.
- Name
brand- Type
- object
- Description
Brand package. Optional — enables brand-consistency scoring.
- Name
manifest- Type
- object
- Description
Sequence manifest. Optional — enables pacing-rhythm scoring.
Returns: Per-scene and aggregate quality scores with findings covering contrast, readability, hierarchy, brand consistency, and pacing rhythm.
Try asking your AI:
"Score the contact sheet for this project against its brand package"
audit_motion_density
Analyze motion density in a compiled scene timeline. Returns a density score (0-100, 50 = ideal), hold windows, hot spots, and simplification suggestions.
- Name
timeline- Type
- object
- Description
Required. Compiled timeline object (output of
compile_motion).
- Name
scene- Type
- object
- Description
Required. The matching scene definition.
Returns: Density score (0-100 with 50 = ideal), hold windows, hot spots where too many elements are animating simultaneously, and specific simplification suggestions.
Try asking your AI:
"Audit motion density for this compiled scene and suggest simplifications"
analyze_scene_comprehension
LLM "judge" that scores perceptual comprehension: would a human understand the video's intent from its key frames? Reads a rendered frame strip plus scene annotations and scores four dimensions (subject clarity, intent legibility, progression coherence, cognitive load). Complements score_product_demo_clarity (structural) and score_frame_strip (visual). Judges with Claude when ANTHROPIC_API_KEY is set; falls back to a deterministic heuristic with the same shape otherwise.
- Name
frame_strip- Type
- object
- Description
Descriptor frame strip — output of
generate_contact_sheet({ sheets }) orgenerate_key_moment_strip({ moments }).
- Name
annotations- Type
- object[]
- Description
Annotated scene definitions (product_role, primary_subject, outcome, interaction_truth, layers). Alias:
scenes.
- Name
scenes- Type
- object[]
- Description
Alias for
annotations.
- Name
images- Type
- object[]
- Description
Optional rendered stills. When provided AND a key is set, the judge upgrades to vision. Up to 8 are used, in order.
- Name
options- Type
- object
- Description
Judge options.
Returns: 0-1 score per dimension with explainable reasoning. Feeds the clarity dimension in score_candidate_video.
Try asking your AI:
"Analyze whether a viewer would understand this video's intent from its key frames"