How We Produce AI Benchmark Videos End-to-End

Published: August 4, 2026 | Reading time: 10 minutes

People ask how we make our AI benchmark videos. Not the results — the process. Here's the full pipeline, from model evaluation to YouTube upload, running entirely on local hardware. No cloud video editor. No stock voiceover. No subscription SaaS.

Why Local Production Matters

Most AI content creators use:

We don't. Our entire pipeline runs on a single AMD R9700 AI Pro in our office. Here's how.

The Pipeline: 6 Stages

Stage 1: Evaluation (Agent)

Two models run the same prompt through the same framework. Same tools. Same timeout. We log:

We don't cherry-pick. The prompt is locked before either model runs. No "give me your best." Same question. Different answers.

Stage 2: Script (Agent + Human)

The evaluation log feeds into a narrative script. Structure:

  1. Hook: The question ("What happens when the same brain gets different hands?")
  2. Setup: Hardware, models, test protocol
  3. Run: Side-by-side comparison of actual outputs
  4. Analysis: What the difference means (not just what happened)
  5. Takeaway: Who should use which, and why

The script is reviewed for accuracy. No model hallucinations make it into narration. Every claim is traceable to a log entry.

Stage 3: HTML Narration Frames (Code)

Instead of filming a talking head or using a video editor, we generate HTML slides and render them to video frames. Each slide is:

Typical video: 11 frames for a 8-minute script. Each frame displays for ~45 seconds while narration plays.

Why HTML frames over video editing:

Stage 4: Voiceover (ChatterboxTTS)

We use ChatterboxTTS with a local voice clone — 12 seconds of clean reference audio, trained on our own voice. Settings:

The script is split into segments (one per HTML frame), generated in batches, and verified for corruption. We check peak audio levels — anything hitting 0.0 dBFS gets flagged and re-rendered.

For long scripts we use a resume pattern: batch 1 runs foreground, batch 2 runs via background Python process. Both write to the same output directory.

Stage 5: Assembly (ffmpeg)

No video editor. Just ffmpeg:

ffmpeg -framerate 1/45 -i frame_%02d.png -i narration.wav \
  -c:v libx264 -pix_fmt yuv420p -r 30 -s 1920x1080 \
  -c:a aac -b:a 192k -af "loudnorm=I=-16:TP=-1.5:LRA=11" \
  final.mp4

Key technical decisions:

Typical output: ~8 minutes, ~19MB, 1920×1080. Uploads fast. Streams smooth.

Stage 6: Distribution (YouTube + X)

Upload is scripted, not manual:

Total human time after evaluation: ~15 minutes (review script, approve thumbnail, flip YouTube public, verify X post).

Tools We Use (All Local or Self-Hosted)

StageToolLocation
EvaluationHermes Agent + llama.cppLocal GPU (R9700)
ScriptMarkdown + human reviewLocal file
FramesHTML + Chromium headlessLocal CPU
VoiceChatterboxTTSLocal GPU (R9700)
AssemblyffmpegLocal CPU
UploadYouTube Data API + xurlLocal script (cloud endpoint only)

The only cloud touchpoints: YouTube's API (for upload) and X's API (for post). All production — editing, voice, rendering — happens on hardware we own.

What We Learned (The Hard Way)

Dead air kills retention. Early videos had 10-20 second gaps between narration segments. Viewers dropped. We now run silenceremove on every WAV — threshold -50 dB, collapse gaps >1.5s. A 101-second segment became 52 seconds. Retention improved 30%+.

Title = hook. "GLM-5.2 vs Grok 4.5" gets clicks. "Our Latest AI Test" doesn't. We front-load model names and hardware in titles. The Hermes Agent + R9700 AI Pro branding is secondary — it's the strip, not the spear.

Thumbnail is the first 5 seconds. We render the results table as the thumbnail image. Viewers see the comparison before clicking. CTR jumped from 2.9% to 8.6% after this change.

Locked titles can't change. If the title is woven into the narration audio ("In this video, we're comparing GLM-5.2 and Grok 4.5..."), you can't A/B test post-publish. We decide titles before narration, not after.

The Numbers

Our latest video (GLM-5.2 vs Grok 4.5) at 14 days:

Top driver: Laguna XS 2.1 vs Qwen 3.6 35B (202 views, still climbing). The "vs" format works because it's not a tutorial — it's a fight. Viewers pick sides.

Want to Replicate This?

You don't need our exact stack. The principles:

  1. Separate evaluation from production. Evaluate honestly. Don't script the winner.
  2. Own your voice. Clone it locally. No cloud TTS subscription.
  3. Automate the boring parts. Script upload. Script thumbnail. Script assembly.
  4. Measure, then cut. Use silence removal, loudnorm, and consistent branding. Polish is cheaper than re-shooting.

About BizFlowAI: We build custom AI automation for small businesses — websites, lead follow-up, content creation, and video production — all powered by local AI that runs on your hardware. No cloud dependencies. Get in touch.

Related: Atomic Agent vs Hermes: Two Local AI Agents Compared | Laguna XS 2.1 vs Qwen 3.6: AMD R9700 Benchmark Results