Most of this month has been learning to make video with AI
I want to be straight about what this is. It is mostly study, not product. Over the last two weeks I have generated a few thousand clips, and most of them are wrong in some specific, instructive way: the diver's face changes between two shots that are supposed to be the same person, the air hose is yellow in one frame and black in the next, a camera move I asked to sink rises instead. Nothing is finished. Three films exist as rough cuts and none of them is something I would call done.
But some of it genuinely works, and it seems more honest to show that than to wait for a finished thing. Here is 35 seconds cut from the parts that hold up.
The thing I did not expect: the strongest material is not where the model invents the most. It is where I constrain it hardest. The physics panels are the cleanest images in the whole set, because a computer drawing a diagram is doing something it cannot be wrong about. The underwater shots are best when there is one subject doing one thing. The moment I ask for a diver and rising bubbles and swaying coral and moving light, it falls apart — the motion budget gets split and nothing gets enough of it.
What one instruction actually produces
This is the raw material, unedited: ten seconds, generated from a single instruction against one approved still. Nothing has been cut, graded or mixed. The sound came with it — the tool returns a synced audio track in the same call, which genuinely surprised me the first time. Turn it up.
Where I actually am with this
About a week of real work, and I want to be exact about what is and isn't automatic, because "AI made a video" hides all the interesting detail.
- The tool makes six to ten seconds at a time. That's the ceiling. The two-minute film above is dozens of those clips generated separately and stitched together — the stitching, the timing and the order are mine.
- The sound it generates is atmosphere, not music. It's texture that matches the picture — water, movement — and for a finished film I throw it away and build a proper mix underneath.
- The music isn't AI at all. It's a script: about a hundred lines that synthesise an ambient pad mathematically, no model involved, because the music models worth using won't run on my laptop. Below is eighteen seconds of it.
- The narration is a separate step with a separate tool, added after the picture is locked.
- Nothing chooses what's worth teaching. That's the whole job, and none of it is automated.
The voice, and the score
Four synthetic voices reading the same line from the scuba script. I picked the last one for the current cuts — it was noticeably better than the free local model I started with, and far better than the robotic placeholder before that. Whether the finished films use a synthetic voice or my own is still undecided.
Four things I have learned that I would not have guessed:
- Telling the model what to leave out does not work, and often summons it. Asking for footage with no branding put an actual National Geographic logo on a wetsuit. You have to describe what should be in frame, never what shouldn't.
- Camera specifications are mostly superstition. I ran the same image with the focal length, aperture and ISO changed and could not see a difference — and a camera name I invented on the spot scored the same as a real one. Film stock names are the exception; those genuinely change the picture.
- Curating beats prompting. Generating three or four versions and picking one beats any amount of rewriting the instruction. The published research on this puts human-curated output at roughly thirty points more realistic, and that matches what I see.
- Naming the thing that must not change is the whole trick. Every kind of drift I hit this month — wrong mask, wrong colour, wrong crop — was fixed by saying the invariant out loud in the instruction rather than assuming it would carry over.
The most useful failure was one that passed every automated check I had. A clip rendered at the right resolution, the right codec, decoded without a single error — and roughly eighty percent of it was black frames, because the instruction ended with the subject leaving the frame and the model obliged. Nothing mechanical caught it. The only signal was that the file's bitrate was twenty-five times lower than its siblings. That is now an automatic check. It is a good reminder that a file passing its tests and a film being any good are entirely different questions.
All of it is AI-made and labelled as such wherever it appears. The scuba material is educational only — it teaches ideas, it does not certify anyone to dive.
Monday 27 July 2026
- ★Rebuilt my morning briefing from the ground up because it kept reading like a riddle — dense fragments, internal shorthand, two competing priority lists, and file links that weren't clickable. It now generates from a fixed structure with one ranked list, plain-language sentences, and a checker that refuses to let jargon through. The lesson generalises: if a rule keeps getting broken, stop writing the rule down better and make the thing generate itself from a shape that can't break it.
- Produced the first videos generated straight from my scuba curriculum outline rather than from a hand-written brief — six topics in, twenty-five stills and twenty-one usable clips out. The point is that a craft rule I fix once now gets injected into every future production order automatically, instead of me remembering to copy it.
- Assembled the second scuba film end to end: just under two minutes, narrated, subtitled, with the sound levelled properly and no frozen still padding out a single second of it. Still a rough cut, not a finished thing.
Saturday 26 July 2026
- ★Built a small message queue so my two coding agents — Claude and Grok — can hand work off to each other without stepping on the same files. One file per message; picking a message up is an atomic move into a "claimed" folder, so two processes can never grab the same one twice. Tested it end to end: a message sent from one agent was found, claimed, and answered by the other, fully unattended.
- Went back through the Enlightenment Toolkit writeup and ran it through six passes of plain-language editing, turning a dense research draft into something a stranger could actually read and use in one sitting. Kept every intermediate version so the improvement is visible, not just claimed.
- Ran the biggest single production night so far: fifty-five pieces of footage generated across four parallel tracks, fifty-four of which passed review. That is a real jump from earlier batches, and it came almost entirely from naming the things that must stay fixed — the exact mask, the exact distance, the exact framing — rather than from better creative direction.
- Spent the early hours on a short film for Trade Time and learned that a dog drifts between shots exactly like a person does: three of my first four takes came back with a visibly different animal. Fixing it needed the dog described as a named character in every single instruction.
- Found that getting a vertical version of a shot has nothing to do with what the tool can do and everything to do with how you ask. The same request phrased to lead with the shape I wanted worked five times out of five, where the previous phrasing kept cutting off the diver's fins.
- Audited every Cloudflare service I use against its free tier. Nowhere near any limit on anything — and found that my deploy method (direct uploads) doesn't even count against the build-minutes quota, so a worry I'd been carrying about that specific limit was never real to begin with.
Friday 25 July 2026
- ★Produced a set of short vertical videos that turned out badly enough to be worth keeping as a reference for what not to do — robotic narration, and colour swatches standing in for footage that was never generated. I have kept it on file labelled as a failure rather than quietly deleting it, because the next version is only meaningfully better if the bad one still exists to compare against.
- Spent a chunk of today debugging my coding agent's "worktree" feature — the isolated working copy it's supposed to use so two runs don't edit the same files at once. The officially documented way to turn it on silently did nothing in headless mode; the flag was quietly ignored. Traced the real cause, found a working recipe, and rewrote the internal how-to before it caused an actual file collision between two sessions running in parallel.
Thursday 24 July 2026
- ★Spent time evaluating Remotion, a React-based toolkit for building video entirely in code, as a way to produce diagram and kinetic-text segments. A good complement to AI-generated footage for the parts of a video that are structured rather than photoreal — not a replacement for either.
Wednesday 23 July 2026
- ★Shipped Trade Time v4.36.11 — the source audit. Every exchange page cites the exchange's own website for its hours and holidays; this release checked all 60 of those citations against what the cited page actually says, repaired 38 of them, and fixed three real calendar bugs along the way — Singapore alone would have shown the wrong open-or-closed answer on five separate days next year. A new test now pins every page's source links to the underlying data, so a repaired citation can't silently drift out of date again.
- Ran a research pass on what actually works for organic discoverability now that AI answer engines sit between most searches and a click. The old playbook — rank informational pages, rent the traffic — is largely dead for that kind of content; what still earns attention is being a genuine destination people return to and something people talk about, not chasing rankings on questions an AI can already answer in place.
- Looked at an open-source "marketing skills" toolkit built for AI coding agents — around 47 modular skills, MIT-licensed, from a real practitioner rather than vapor. A solid generic starting point for someone with nothing yet; not worth bulk-adopting here since my own setup already has deeper, failure-tested versions of most of it.
Tuesday 22 July 2026
- ★Built a rough third scuba film, on why a buoyancy jacket changes with depth. The generated underwater footage in it is the weakest of the three; the drawn physics panels are the strongest thing I have made all month. Worth noticing which half of the tool is actually earning its place.
- Properly documented how to use Grok Build's git-worktree feature — what it actually is, when it's worth reaching for versus a plain feature branch, and the exact commands that manage it — after realizing my own working notes on it were guesses rather than things I'd verified against the tool's own docs and source.