How it works
What actually happens between “Import” and a finished short — explained honestly, including where results can vary.
Ingestion
Uploads go from your browser straight to our video infrastructure (Cloudflare Stream) over a resumable connection — the file never passes through our application servers. URL imports are pulled server-side. Either way the video is probed for duration and codecs before any minutes are charged to your plan.
Signal analysis
One pass over the video collects every signal track, each sampled per second and scored against the video's own statistical baselines (so a loud video isn't “all spikes” and a quiet one isn't “all flat”):
| Signal | What it measures | Available for |
|---|---|---|
| Audio energy | Loudness spikes — shouting, laughter, impacts | All sources |
| Speech excitement | Excited phrases in the transcript | All sources with speech |
| Chat rate & uniqueness | Message bursts and how many people join in | Twitch sources |
Speech is transcribed with word-level timestamps and speaker turns. The transcript powers excitement detection and the AI detector. Everything collected is stored — it is also the training data for future model tuning.
Clip selection
The primary detector is an AI that reads the COMPLETE stream — full transcript, a per-minute chat digest with burst callouts (“chat 14x baseline”), and the signal levels — and proposes every clip-worthy window with a one-sentence reason. It is deliberately recall-biased: reviewing an extra clip costs seconds, missing one costs the highlight.
- Whole arcs, not fixed lengths. A clip runs from setup to payoff — thirty seconds or four minutes, whatever the story needs.
- Statistical windows fill the gaps. The strongest signal spikes the AI didn't cover are added as extra candidates, and they are the full fallback if the AI is unavailable.
Your review
Clips land in the review queue all at once, ordered by score, and each one's video asset generates automatically in the background — server-side cuts of the source, no re-encode round-trips. While an asset is still generating the card plays instantly by seeking into the source video, so review never waits. Rate clips (👍/👎 teaches the system your taste per channel), then edit or export the keepers.
Clip generation
Every detected window becomes its own video asset — cut server-side by Cloudflare Stream for uploads, or cut from the source stream for Twitch/YouTube imports — ready to play, trim, and download. An AI-drafted hook title is attached (editable in the Studio), your plan's clip limits are applied server-side, and a failed generation shows a Retry button with its error — it never affects the rest of the analysis.
Why results vary
- Clear speech clips best. Muffled audio or heavy music reduces both detection quality.
- Flat content yields fewer clips. A monotone hour with no reactions can honestly produce two clips, not fifteen. We reject rather than pad.
- English is strongest today. Transcription supports many languages, but excitement cues and judging are tuned on English first.
- Provider hiccups are retried. Transient AI-provider errors back off and retry automatically; a clip that still fails shows a Retry button and its error.