# Long video to shorts: Round 1 (free tiers), method and limits

Tested Oct 18, 2026 (CT). The test input is the 37:50 CC BY 3.0 interview in `test-inputs/` (an identical 748 MB MP4 for every tool). Settings: English, 9:16, auto length, default captions, no edits. The browser runs were done by the BenchedTools operator agent. The measurements below were made on the box from the downloaded files.

## Tools and plans
- **OpusClip**: the account auto-started a 7-day **Essential plan trial** (90 credits, no card), so this is *not* a free tier. 37 credits used, 33 clips.
- **Vizard**: Free plan (60 credits/month, 1 GB / 1 h upload cap). 37 credits used, 10 clips. Export is capped at 720×1280.
- **Klap**: free trial. 13 clips were made, but downloads are paywalled, so **nothing based on exports could be measured**.
- Not tested: CapCut (email already tied to an existing account), Descript (sign-up blocked by bot protection), Submagic (paid add-on).

For each tool we downloaded and measured its own top 3 clips. The full protocol calls for 5.

## Measurements
1. **File facts.** We read resolution, codec and duration with ffprobe. Watermarks were checked on frames.
2. **Clip location and boundaries.**
   - We transcribed each clip's audio with Whisper large-v3-turbo (openai-whisper, CPU, word timestamps).
   - We aligned the words to `test-inputs/reference-transcript` with difflib, giving each clip's source span.
   - From that we checked whether it starts or ends mid-sentence, whether the tool cut words (a source gap at least 0.4 s longer than the clip gap) and whether it added a hook taken from elsewhere.
3. **Caption accuracy (WER).**
   - We sampled burned-in captions from the caption band. OpusClip was segmented into caption states at 10 fps (pixel-diff on a bright-text mask). Vizard was sampled frame by frame at 10 fps.
   - We OCR'd them with Tesseract 5.5 and merged them into a caption word stream.
   - We compared it to the reference words for the clip's span (minus words the tool cut).
   - Normalization: lowercase, no punctuation, digits equal number words (e.g. "2" = "two", "6FOOT5" = "six foot five"), contractions unified, fillers (um/uh/"you know") dropped.
   - **Every disagreement was checked by eye** on the caption frames. OCR misreads, state-merge artifacts, restarts and fragments the reference keeps ("I… I", "cu…") were discarded. Words where the clip audio and the reference disagree were excluded as disputed.
   - What remained are real caption errors (listed in `captions.json`). Raw OCR WER before review was 10–35%, almost all OCR noise.
   - Rubric: points = 20 × (1 − WER), minus 2 per clip whose *median* caption-onset delay exceeds 0.5 s. Onset is the first frame a caption state appears, compared with the Whisper word start in the clip audio.
   - Limits: Whisper word times are about ±0.2 s. OpusClip's pop-in animation biases its measured onset late, so its p90 delay (about 0.8 s) is an upper bound. Equal stretches were trusted to OCR, not re-read.
4. **Speaker framing.**
   - We took 1 frame per second from each clip.
   - The active speaker came from the reference transcript, mapped through the clip's Whisper words.
   - One reviewer (the agent, not blind) judged whether the active speaker's whole face is in frame. Split screens with both faces count as yes. Vizard's branded end card (no speech) is excluded.
   - Per-frame results are in `framing-1fps.csv`.
   - Many misses are listener reaction shots that are already in the source's multi-camera edit.
5. **Time.** Wall-clock upload and processing times as observed during the browser runs. 10 points if ≤15 min, minus 1 per *full* 5 min over, scored at the slow end of the range. Provisional, because Round B fix time is not included.
6. **Not measured:**
   - clip quality (needs two blind human raters)
   - cost (no paid plans tested)
   - export expiry
   - Round B
   - clips 4–5

## Results
| Criterion (max) | OpusClip (trial) | Vizard (free) | Klap (free trial) |
|---|---|---|---|
| Clip quality (30) | not scored | not scored | not measurable |
| Caption accuracy (20) | 19.9 (3/658 words, WER 0.5%) | 19.9 (2/324, WER 0.6%) | not measurable |
| Speaker framing (15) | 13.8 (92.1% of 229 frames) | 13.5 (89.7% of 126) | not measurable |
| Time (10) | 8 provisional (21–26 min) | 10 provisional (≤17 min) | not scorable (no postable clip) |
| Cost (15) | not scored | not scored | not scored |
| Watermark & export (10) | 4 of 8 measured (watermark, 1080p) | 0 of 8 (watermark, 720p) | 0 of 8 (no export) |
| **Total** | **45.7 / 53 measurable** | **43.4 / 53 measurable** | **0 / 8 measurable** |

**No winner.**
- The unscored criteria (47 points) can reverse the order.
- OpusClip's lead comes from 1080p export on a trial of a paid plan, while Vizard was on its free plan.
- Three candidates are untested.

Clip boundaries:
- OpusClip 1–3 start and end on complete thoughts. Clip 1 drops a leading "Well,". Clip 3 is fully contained in clip 2. Lengths are 1:08, 1:57 and 0:43.
- Vizard 1 and 3 are clean. Vizard 2 ends mid-sentence. Lengths are 0:47, 0:35 and 0:50.

Scripts: `scripts/` in the BenchedTools repo. The reference transcript is not hosted on the site because the uploader captions we cross-checked against have no stated license. The full-length downloads stay in `test-outputs/` (gitignored, 60–175 MB each). The site hosts frames and 12-second 360p previews only.
