Published open source · v0.1.0 · Node.js 20+
YY ClipCheck
Catch short-form video export mistakes before upload—locally, deterministically, and without sending the media anywhere.
- Probe
- Evaluate
- Report
- Fix
npm exec --yes --package=git+https://github.com/yycore/clipcheck.git -- clipcheck --profile youtube-shorts ./short.mp4Requires ffprobe on PATH. The YY loudness profile also uses ffmpeg. ClipCheck itself makes no network requests.
First use
It caught a real export mismatch immediately
The v0.1.0 CLI was run against six existing YY vertical renders. Five met the full house profile. One early AgentSafe export used 96 kHz audio instead of the 48 kHz house target; every other checked media rule passed.
- Corpus
- 6 existing YY short-form renders
- House passes
- 5
- Detected mismatch
- 96 kHz audio sample rate; expected 48 kHz
- Privacy
- Local process; no file or result upload
Versioned profiles
Platform boundaries stay separate from house rules
youtube-shortsTreats square-or-vertical orientation and the three-minute classification boundary as errors. Encoding guidance remains a warning.
instagram-reelsChecks Meta's published aspect-ratio range, minimum frame rate, and a conservative interpretation of the 720-pixel minimum.
yy-vertical-v1YY's explicit delivery target for 9:16 dimensions, H.264/AAC encoding, 48 kHz audio, loudness, and true peak. It is not a platform rule.
Preflight surface
Checks that fit before the upload step
Frame and timing
Duration, displayed dimensions, aspect ratio, and frame rate—with 90-degree rotation metadata and non-square pixels accounted for.
Encoding
Container extension, video and audio codecs, pixel format, progressive scan, and audio sample rate.
Audio delivery
The YY house profile measures integrated loudness and true peak through FFmpeg's ebur128 filter.
Automation contract
Readable output for people, versioned JSON for pipelines, and distinct exit codes for pass, rule failure, and tool failure.
Machine-readable
A report contract for build pipelines
JSON output identifies the profile and source-check date, records observed media values, and keeps error failures, warnings, and inspection-tool errors distinct. The schema identifier is yy.clipcheck/report/v1.
Boundaries
What ClipCheck does not claim
- Not a guarantee that a platform will accept, classify, recommend, monetize, or preserve a video unchanged
- Not a copyright, Content ID, community-policy, or account-eligibility review
- Not a visual-quality, title-safe, thumbnail, or caption-accuracy review
- Platform documentation and behavior can change after a profile's source-check date
Open source
Review the implementation, tests, and release
ClipCheck v0.1.0 is Apache-2.0 software. Its 26-test suite passes in CI on Windows and Ubuntu across Node.js 20, 22, and 24.