Every clipping tool guesses. CROWDCUT counts the people who already marked the second, refuses to clip the ad, and hands you a trailer of the moments plus the receipts.
Built by chanukya13 for the AI Content Engine Hackathon 2026.
CROWDCUT is audience-reaction intelligence for YouTube. It reconstructs where viewers stopped, typed a timestamp, and said why — then masks crowd-marked sponsor/intro/outro zones before ranking. Clips, chapters, hooks, and the Crowd Trailer are renderers over that one signal.
This is not an AI clipper. There is no mystery virality score. Every moment ships with a receipt: independent commenters, their words, deep links, and which crowds agreed.
pip install -r requirements.txt
copy .env.example .env
python crowdcut.py --serveSet YT_API_KEY in .env only if you want to paste a URL that is not already in cache/. The three demo films on the landing page run from cache with no key.
Then open http://127.0.0.1:8765/ — paste a YouTube URL, or click a demo.
Check your machine before a live demo:
python crowdcut.py --doctorCLI (same engine):
set YT_API_KEY=...
python crowdcut.py https://www.youtube.com/watch?v=AH5jwKkCS7M --preview --serve
python crowdcut.py AH5jwKkCS7M --pack
python crowdcut.py AH5jwKkCS7M --export-owned path\to\your.mp4
python test_crowdcut.py--export-owned cuts only a file you already have. CROWDCUT never downloads YouTube video.
- Studio — player, Bilibili-style danmaku, reaction density curve, ranked moments with receipts.
- Crowd Trailer — 9:16 reel of the top moments, captioned with the crowd's own sentence.
- Edit pack —
edit-plan.csv,chapters.txt,hooks.txt,receipts.jsonfor YouTube Studio.
YouTube comments ──> timestamp extraction ──> author deduplication
│
SponsorBlock ──> exclusion masks ───────────────┐ │
DeArrow ──────> moment corroboration ───────────┼──┴─> ranked moments
│ │
└────> receipts + edit pack + trailer
The ranking is deterministic and inspectable. Comment clusters create the signal; SponsorBlock removes unsafe editorial zones before ranking; DeArrow and SponsorBlock highlights can upgrade confidence only when they agree at the same moment. Missing third-party signals never block a result.
- Post-publish by design. Comments accumulate after upload; this powers the second wave.
- Videos under 5 minutes are rejected: there is nowhere for peaks to form.
- Fewer than 15 timestamped comments, or timestamps scattered below 2× uniform: not enough signal. We show that instead of inventing a heatmap.
- Built for content that has an audience — not a discovery tool for a channel with forty comments.
- SponsorBlock / DeArrow corroboration upgrades confidence when present and changes nothing when absent.
- Comments and video metadata: official YouTube Data API (
videos.list,commentThreads.list). No scraping. YouTube's Most Replayed curve is not used. - Exclusion zones and highlight corroboration: SponsorBlock and DeArrow public APIs. Data is CC BY-NC-SA 4.0. This project is non-commercial; any derived dataset we publish carries the same license.
- Viewer comments are quoted with attribution and deep links back to the original comment (
&lc=). - API cache in
cache/is for demo speed. Refresh with--refresh. Do not treat it as a durable store; YouTube policy expects authorized API data to be refreshed or deleted on a short cycle.
The signal was measured before the product was built:
python danmakuprobe.py @Markiplier
python consensusprobe.py
python test_crowdcut.pyconsensusprobe.py pre-registered a 40% bar for three-crowd agreement. It came back ~22%, so corroboration is a bonus tier. Exclusion zones (sponsor/intro/outro) are the headline differentiator.
- Landing → The joke the crowd caught (Markiplier). Auto-seeks to ~46:20. Danmaku lands. Open the receipt.
- The ad it refuses to cut — grey intro/outro masks on the curve. Peaks inside those zones never rank.
- Trailer → three captioned 9:16 moments play → Export pack.
- If asked: the 1-minute MKBHD short → "not enough signal. We refuse to invent a heatmap."
If the network dies, those three previews still open through --serve.
python crowdcut.py --selftest
python test_crowdcut.pyThe acceptance suite covers deterministic ranking, deduplication, insufficient-signal refusal, sponsor masking, moment-level corroboration, clip bounds, ZIP contents, receipt links, and the local server's public-file allowlist.