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.

  1. Probe
  2. Evaluate
  3. Report
  4. Fix
Run from the public source release
npm exec --yes --package=git+https://github.com/yycore/clipcheck.git -- clipcheck --profile youtube-shorts ./short.mp4

Requires 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-shorts

    Treats square-or-vertical orientation and the three-minute classification boundary as errors. Encoding guidance remains a warning.

    YouTube source

  • instagram-reels

    Checks Meta's published aspect-ratio range, minimum frame rate, and a conservative interpretation of the 720-pixel minimum.

    Meta source

  • yy-vertical-v1

    YY'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.