Video creation agent
One question buyers ask about AI search becomes a short explainer video, checked fact by fact and by a reviewer that did not make it.
When buyers ask about AI search, AI engines cite YouTube explainers. In our own measurements GPT-6 Sol cited a YouTube video in 24 of its 200 answers, across 10 of the 20 buyer questions; Claude cited none. The videos cited are mostly small channels’ tutorials and tool round-ups, and none of them is ours.
Running on our own company since Oct 18, 2026 · YouTube · Risk: Low. Everything on this page is public; there is nothing to sign in for.
Tasks and outputs
What it takes on
Write it from sources
Writes the facts list first, every claim with a sentence quoted from a file in this repository, then the script, the storyboard and each scene.
Render and measure
Renders the video with a local voice and a music track, then measures it with scripts: the facts, the narration against the script, the render, length, loudness and music.
Review, fix, verify
A separate session reviews the render with the checked facts. On one more pass, a fix session reworks it and a fourth session checks each item.
Who it is for: Teams that want to answer the questions their buyers ask AI engines with short explainer videos, with every number traceable to a source, a second reader that did not make the video, and a person deciding what goes out.
How we use it: We built it in October 2026 for ClawWorld’s own YouTube channel. The first video was made by hand over 2026-10-15 and 16, in four versions with a fresh reviewer after each: about 3.7 hours and 2.27 million tokens, and the last version scored 6/10, the reviewer calling it a narrated slideshow with no real evidence on screen. The agent turns what was decided on the spot then into a template, written rules and scripts, and splits the work into four sessions so the maker never grades itself. The first video on its log, D01 on 2026-10-18, also scored 6/10, with one more pass asked. A01 the same day was the first made with no one watching: four sessions in 102 minutes, 7/10. A03 on 2026-10-19, after we cut what each session reads, cost about a third less and scored 6/10. From 2026-10-22 it runs twice a week, Monday and Thursday at 01:00 US Eastern.
What every video is held to
01Every number and every claim about how a platform behaves has a line in the facts list, with a sentence quoted word for word from a source file in this repository. A script checks every quote.
02The reviewer is a separate session that never built the video. It sees the render and the checked facts list, not the maker’s reasons, and its verdict and score go on this log as given.
03Facts are the only hard stop on what a video says: a fact that does not check out holds it back. Visuals and pacing the reviewer questions go to a person. The render’s own measured checks, such as the narration matching the script, stop it too.
04The question is answered in the first 15 seconds, with a number, a real answer or the direct answer. No title card.
05At least one real thing on screen: a real AI answer from our measurements, a number of our own, or a page of our site. Illustrations are labelled as illustrations.
06ClawWorld appears in the end card and one disclosure line, not in the answer.
07No cloud service but the model: the voice is made on our machine, the music comes from the YouTube Audio Library, and the keys that would send music requests or screenshots to Google are removed before any session starts.
08Videos stay on our machine until a person has watched them and the distribution agent publishes them. This agent uploads nothing.
The rules the agent’s output is written to, from the file named above. This site prints no example output; what the agent has shipped is in its run log.
Workflow
How a run goes, step by step
Pick a step to see what goes in, what comes out, and where a person is involved.
Step 1 of 6
Pick the topic
Takes the next pending row for the weekday from the topic calendar (Mondays alternate buyer questions and how-tos, Thursdays concepts and our own data), then asks a short separate session with no tools whether it would repeat a video already made: the session reads the row beside the title and full narration of every one. A repeat is dropped from the calendar with its reason and the next row is taken, at most three a run; for a new row it lists what earlier videos already said. Then it copies the project template into a new media folder outside the repository, writes the brief, and copies in the text of the row’s source files. When memory is short it waits up to 20 minutes, then goes ahead.
Workflows/video-creation/topics.md, the videos already made and the project template
A project folder with the brief and the sources; dropped rows with their reasons
A person adds topics when fewer than six are pending; the email says so.
Step 2 of 6
Build
A headless Claude session on Opus 5.5 follows HyperFrames’ faceless-explainer flow with fixed settings: it writes the facts list, the script and the storyboard, makes the voice, builds each scene as HTML and renders. It may run HyperFrames, Node and ffmpeg and nothing else, and never git. It has 100 minutes.
The brief, the sources, the rules and the pronunciation list
The facts list, the script, the storyboard, the scenes and a render
None.
Step 3 of 6
Measure
Scripts measure the render. Hard gates: every fact’s quote found in its source; the narration transcribed and matched to the script; 1920×1080, 30 fps, sound and the planned length; HyperFrames’ lint and check; the narration lint. Soft gates, which still deliver the video but mark it for a person: length, loudness and whether the music can be heard.
The render and the project
measure.json
None. A hard gate that fails holds the video back.
Step 4 of 6
Review
A separate session that never saw the build watches the render with the checked facts list and writes a verdict (ship it, one more pass, or block), a score out of ten and a list of fixes, each with a timestamp. It has 35 minutes.
The render, the facts list and the measurements
The first review report
None.
Step 5 of 6
Fix and verify
Only when the review asked for changes or a measured gate failed: a fix session works through the review and renders again, the scripts measure again, and a verification session marks each item fixed, partly fixed or still present. There is no third round.
The first review report and the measurements
A new render and the second review report
None.
Step 6 of 6
Package and record
Exports the captions from the project’s own caption data rather than from speech recognition, a thumbnail, the YouTube title, description and tags, and a handoff file for the distribution agent; writes the record this log is built from, marks the calendar row, commits both, and emails a person the status, the verdict and the score.
The final render and the review reports
The video, captions, thumbnail and YouTube copy on our machine; the summary in the repository
A person watches the video and decides. This agent uploads nothing.
Before you start
What you’ll need to bring
Company material
What the videos may say: your own pages, posts, measurements and snapshots, in the repository. Every fact in a video is quoted from one of them.
Source material
A topic calendar: one row per video with the question, its source files, the real thing it must show and the page it links to. A person writes it and tops it up.
Platform account
A Claude subscription with the Claude Code CLI signed in. A YouTube channel only to download the music once, by hand; the agent signs in nowhere.
Run environment
A machine with Node.js, HyperFrames 0.8.162, ffmpeg and a Python environment for the Kokoro voice, with memory to spare while it renders. We use Claude Code with Opus 5.5; the runs are meant to start from Windows Task Scheduler.
Run log
Recent runs, as they happened
The full log is public and read-only. It holds every run on record, including the ones that stopped to wait for a person.
View the full run logGuides and files
Set it up yourself
The setup guide, and the files the agent is built from. You run it in your own environment, with your own accounts.
- 01
Runtime
- Claude Code with Opus 5.5, started headless for each of the four sessions. Our October 2026 runs used about 2 to 4 million tokens a video, not counting the context the model re-reads on every turn, which is most of the cost: about $34 a video at API list prices after the cuts (A03), $50 before them (A01).
- HyperFrames 0.8.162, pinned and run through npx; it renders each scene in a headless Chrome of its own. Node.js for it and for the scripts.
- ffmpeg and ffprobe, for the render, the loudness and the other measurements.
- A Python environment with Kokoro (kokoro-onnx) for the voice, and the Parakeet speech model HyperFrames installs, for checking the narration against the script.
- 02
Browser setup
- None to keep open. HyperFrames drives its own headless Chrome to render the frames, and nothing signs in anywhere.
- 03
Account setup
- A Claude subscription with the Claude Code CLI signed in. No other cloud service: the keys that would let HyperFrames send music requests and screenshots to Google are removed from the environment before a session starts, and its telemetry is off.
- A YouTube channel, only to download tracks from the YouTube Audio Library once, by hand. Nothing in the agent signs in to YouTube.
- 04
Configuration
- The topic calendar: one row per video with its id, pillar, title, source files, the real thing it must show and the page it links to.
- The rules file every session reads, and the pronunciation list: the spellings the voice reads correctly.
- The project template: the brand frame, fonts, caption style, the two sound effects and the mix, so no session decides them again.
- The music folder outside the repository, with the scan’s verdict on each track.
- 05
First run
- Make one video with the wrapper’s manual mode and dry run (no commit, no email), and watch it yourself.
- Read the measurements and the review report: every gate should be a number you can check, and every fact a quote you can find in its source.
- Make one video for each of the other pillars and note each one’s tokens and minutes before you register the schedule.
build.md
Workflow · Markdown. The build session’s instructions: the facts first, then the script, the storyboard, the scenes and the render.
critic.md
Workflow · Markdown. The review session’s instructions: judge the rendered pixels and the audio against the checked facts, and give a verdict, a score and fixes with timestamps.
fix.md
Workflow · Markdown. The fix session’s instructions: apply the reviewer’s fixes, render once more, and stop.
verify.md
Workflow · Markdown. The verification session’s instructions: check each earlier finding item by item, and look for anything the fixes broke.
rules.md
Rules · Markdown. What every video follows, each rule beside the failure in the first video it came from. pronunciation.md beside it holds the spoken spellings.
topics.md
Calendar · Markdown. One row per video: id, pillar, title, sources, the real thing, the link and the status.
facts-check.mjs
Script · Node. Checks that every quote in the facts list appears word for word in its source file.
measure.mjs
Script · Node. The measured gates: facts, the narration against the script, the render, HyperFrames’ checks, the narration lint, length, loudness and music.
decide.mjs
Script · Node. Whether to run the fix round, and the delivery status: ready, needs review, blocked or failed.
record.mjs
Script · Node. Writes the run record this log is built from, with no local path in it, and the email body.
run-video-creation.ps1
Scheduler · PowerShell. What the scheduler calls: pulls, picks the topic, runs the four sessions and the scripts in order with their time limits, commits the record and emails.
Not packaged for public download yet. The guide on the left describes what each one does, step by step, so you can rebuild the setup; the Hosted and Fully managed tiers run them for you today.
Rather have us run it?
Hosted: your accounts in a cloud browser we run, and you review what goes out. Fully managed: we set the strategy and run the agents.
Good to know
Where it stops and asks for you
- A fact does not check out. The video is held back and marked blocked. The email lists what failed; nothing is handed on.
- The build session ends without a render. The run is recorded as failed, with the step it stopped at.
- A review or fix session runs out of time. The video from before the fix is kept and marked for a person.
- The reviewer still asks for one more pass after the fix. The video is delivered marked for a person, with the open items listed. There is no third round.
- Fewer than six topics are left. The email says so, and a person adds rows to the calendar.
Risk notice
What to watch for
- A headless session may not finish a whole video unattended. The build session has 100 minutes; when it ends without a render the run is recorded as failed, and a review that times out leaves the video marked for a person.
- The voice is synthetic. Kokoro reads some words wrong (in the first video GPT-6 Sol came out as "saw", and fifteen was heard as fifty); a pronunciation list and the transcription check catch what they can, and the YouTube copy says the voice is synthetic.
- Scores so far are modest: 6/10 for the first video, D01 and A03, 7/10 for A01. Whether the agent makes videos worth publishing is still open; the design asks for at least four of the first six to be judged publishable before the format counts as working.
- The music licence covers YouTube only. Posting the same video to LinkedIn or X means checking the track again.
- Each video answers one of the questions the AI Visibility agent measures every day. Its go-live date has to be logged there, or a change in the readings cannot be told apart from the engines drifting.
FAQ
Questions about this agent
Why does it not upload the videos?
A person watches every video first, and publishing is a separate distribution agent’s job. It is also safer: YouTube locks uploads from an API project it has not audited to private, and they cannot be made public afterwards.
Why a separate reviewer?
In the first video’s four rounds, every problem the reviewers found was one the maker had not found itself. A session that built a video grades what it meant to make; the reviewer sees only the render and the checked facts list, not the maker’s reasons.
Why only sources from your own repository?
The facts check compares each quote with the file it came from. A page fetched from the web could only be compared with the copy the session saved, and nothing proves that copy is what the site said. A page from Google’s or Bing’s documentation is saved into the repository by a person first, then used.
Why are low scores on the log?
Because that is what the reviewer gave. The first video scored 6/10, D01 6/10, A01 7/10 and A03 6/10. A log that showed only the good ones would say nothing about what the agent makes.
Would you rather we ran this agent for you? There is a managed service for that.
Talk to us