<aside>
🛠
Measure a Video's Framing & Caption Constraints — Data for a Downstream Shorts Planner
Scan the source video and produce a constraint map — machine-readable measurements of where the subject sits over time, which horizontal crop windows would keep them in frame, and which moments require caption-safe framing (subject reaching into the bottom of the frame). The output is the data layer a shorts planner uses downstream to make intelligent reframe / caption / crop decisions without breaking composition. This is the "measurement" step that turns a raw source into planner-ready knowledge.
</aside>
What it does
Video Constraint Map samples the source video at a configurable rate, detects the subject (person, pet, or animal), and measures which horizontal crop windows would keep that subject in frame for each sampled moment. It also flags moments where the subject reaches into the bottom of the frame — those moments require the caption crop to be turned off so the subject isn't accidentally cropped away. The output is a constraint map (data) that downstream planning tools (a shorts planner, an intelligent reframer, etc.) consume to make editing decisions that respect the video's actual framing needs. Video Constraint Map doesn't itself edit or crop the video — it measures what's possible.
Problem it solves
- Planner-quality reframing – Provides downstream planners with real subject-position data instead of frame-by-frame guessing at edit time
- Prevents "subject cut out of frame" – Downstream crop / reframe tools using this data can avoid horizontal positions that lose the subject at critical moments
- Caption-safe cropping – Explicitly flags moments where the subject is in the caption zone (bottom of the frame) so captions don't cover — or the caption crop doesn't remove — the subject
- Multi-crop candidate scoring – Measures several candidate horizontal positions per frame, giving the planner options to weigh instead of a single forced choice
- Deterministic, reproducible measurements – Same input + same settings = same constraint map, so downstream planning is reproducible
- Cost control – Configurable fps and candidate-position density mean you can trade measurement resolution for compute cost
- Handles pet / animal subjects – Subject type selector supports pets and animals, not just people — critical for pet content, wildlife, food-with-hands-only frames, etc.
- Scales gracefully to long videos – The max-measured-frames cap thins the sample grid evenly instead of truncating, so the end of a long video is still measured
Input/Output
<aside>
- Input: Source video (+ optional secondary reference)
- Video (top input, blue port): The source video to measure. Standard video formats.
- Secondary input (bottom port): Optional supplementary data (e.g., a subject reference, config, or metadata) that helps refine the measurement — depending on how the flow is wired.
</aside>
<aside>
- Output: Constraint map (data)
- Format: Machine-readable measurement data (typically JSON-shaped) describing the source video's editing constraints
- Contents: Per-sample subject positions, candidate horizontal window scores, caption-safe flags, and any other measurements that downstream planners can consume
- Ready for: A shorts planner, intelligent Video Reframe, caption-crop decision logic, or any downstream tool that benefits from knowing where the subject sits and which crops are safe
</aside>
Configuration Options
- How many frames per second to measure: Sampling rate for measurement.
- Default: 1 fps
- UI: Slider (main node view)
- Behavior: Higher fps = finer resolution for caption and subject-timing decisions; also proportionally more compute cost
- Reference points:
- 1 fps (default) – Coarse sampling; good for slow-changing subject positions (talking heads, static scenes)
- 2 – 4 fps – Standard for most content; catches most subject motion beats
- 6 – 10 fps – Fine sampling for fast motion (sports, gameplay, dance)
- 15+ fps – Very dense measurements; use for critical short clips where every frame's constraints matter
- How many candidate horizontal window positions to measure per frame: How many crop options to try per sampled frame.
- Default: 5
- UI: Slider (main node view)
- Behavior: More positions give the downstream planner finer framing choices; also proportionally more compute cost
- Reference points:
- 3 – Sparse — planner has limited choices (left / center / right approximately)
- 5 (default) – Balanced — gives planner meaningful positional variety without excessive cost
- 7 – 9 – Fine — planner can pick tight horizontal placements
- 11+ – Very fine — near-continuous horizontal choice, for hero clips where framing matters