A music video made with AI: 138 shots, 14 versions and one sentence, “It’s final”
Generating a shot costs thirty-three cents. Spotting that it’s wrong still takes a person. How our competition video with Claudia was made.

At a glance
The music video for the song In Between the Mountains by Second Renaissance was made for @anabology’s competition for the best video featuring the open AI character Claudia (deadline Friday 22:00 EST, first prize 420.69 USD). In a single day it went through fourteen versions. The shots were generated by Gemini Omni Flash 1.2 and Seedance 2.5 via fal.ai, still frames were fixed with Nano Banana Pro, and Bria removed an extra microphone. The reshoot cost roughly 54 dollars on fal.ai for 138 requests; a four-second shot from Omni comes to 0.33 dollars. All 54 older shots from the MiniMax model were thrown out because the faces in them fell apart. But most of the mistakes weren’t found by the model or the agent, they were found by a person: two microphones on one singer, a straight catwalk instead of an S-shaped one, a stage as tall as a tower, a runner defying physics, a violinist playing slower than the music. The video’s loudness went up from −15.7 to −10.6 LUFS. The rules from the notes now form a skill that the next video will start with.
On Friday evening I typed three words: “It’s final.”
Before that, fourteen versions of one music video in a single day. A hundred and thirty-eight requests to generate video and images. Dozens of notes along the lines of “she’s got two microphones here” or “that stage wasn’t there before”. And one agent that did most of the work on its own, and got a few things wrong so convincingly that I’d have missed them if I hadn’t been watching.
I’m writing this because people talk about AI video the wrong way. Either as magic (“one prompt and you’ve got a video”) or as rubbish (“it still looks like AI”). Both miss the point.
Watch the finished video: Claudia ft Second Renaissance – In Between the Mountains
The competition, the character, the song
At the start of November, @anabology announced a competition on X: whoever makes the best music video featuring Claudia by Friday at 22:00 US Eastern time. Claudia is an open AI character: a black bob with a fringe, a single brick-orange streak, a small star-shaped hair clip, a headset by her cheek. Anyone is allowed to use her. First prize: 420.69 dollars.
For us it was an excuse. Second Renaissance has a song, “In Between the Mountains”, the English version of our “Mezi horami”, and we wanted a proper video for it. In it, Claudia sings it at a big stadium concert. The original recording stays exactly as it is.
My assistant 2B made the first versions. On Friday Claude Code took over, and from then on everything ran to one rhythm: I watch and write notes, it generates, cuts, checks, and a little later there’s another version.
Generating is almost free
So what does a single shot actually cost? This was the first thing that surprised me. Not that it can be done, we know that by now. The price.
A four-second shot from Gemini Omni Flash 1.2 via fal.ai comes to 33 cents. Editing one frame in Nano Banana Pro, 15 cents. The more expensive Seedance 2.5, about two dollars a shot, we only used where Omni refused or where we needed really fast movement. The whole Friday reshoot cost roughly 54 dollars on fal.ai.
For that money you get two attempts at every shot and still have some left over. So it pays to always generate twice and choose. A single shot is a coin toss.
And yet the most expensive thing about the whole video wasn’t the generating.
What the machine doesn’t see
It was the notes. Here are some of them, exactly as I wrote them, with a timestamp in the video and a screenshot:
- “this is an absolutely divine scene, but she’s got 2 microphones”
- “the endless stage wasn’t there before”
- “the violins are still playing here, she can’t stop”
- “2:08 that empty stage is still there and then there’s Claudia running and breaking the laws of physics”
- “and here the stage is extra high, the people are down below”
- “compared to what the music is doing, the first violinist is playing really slowly”
Not one of those mistakes is “AI looks like AI”. The faces look great, so do the lights. The mistakes are elsewhere: in how the shots connect. The model won’t draw a face that falls apart, but it will draw the singer a second microphone, because singers usually have microphones. It will draw a straight catwalk ending in a circle, because that’s what the average stage looks like. It will draw a beautiful shot from above in which Claudia is huge and the crowd is tiny, and suddenly she looks as if she’s standing on a tower.
Every shot on its own is fine. The video as a whole isn’t.
Why doesn’t the model see it? Because it doesn’t know that our stadium has an S-shaped catwalk ending in an octagon. It doesn’t know that the violinist mustn’t stop playing while the violins can still be heard. It doesn’t know that at 174 BPM you don’t draw the bow like you’re playing a lullaby. Only the person looking at the whole piece knows that.
The agent gets things wrong too. Convincingly.
And now the less comfortable part.
In one version the agent “fixed” the lip sync. Its own measurement showed that in one shot Claudia opens her mouth 1.35 seconds later than the vocal. It shifted it. The numbers matched.
I wrote: “the give him back got lost here, now she’s just screaming.”
The measurement had caught the start of the scream, not the words before it. After the shift, the exact line the shot exists for was gone. The number was calculated correctly and the result was wrong.
The same with the face at 1:34. The edge of the frame cut off her head for half a second. The fix, a cut to the audience, went through, and the check passed. Except only the cut points had been checked. In reality, Claudia’s eyes were above the frame for a few more frames. This time the agent found it itself, before I did, and fixed it in the next version. But only because it actually looked at the result, not because a number told it to.
Read that again: a measurement that is correct, and a result that is wrong. As far as I’m concerned, that’s the most important thing I know so far about working with agents.
Sound: louder, more bass, more drama
The picture wasn’t everything. The original mix was at −15.7 LUFS, quite a bit quieter than today’s music masters tend to be.
I wrote that I wanted it “generally louder, more dramatic transitions, bigger bass”. The agent didn’t touch the recording itself, that stayed as we released it. It only adjusted the video’s soundtrack: the bass below 90 Hz up, a touch quieter before every drop, a deep hit on the first beat of the drop, and on the biggest ones a rising noise sweep. The result is −10.6 LUFS, and the picture still has the lips on the exact sample.
It’s a difference everyone can hear, even if they don’t know what LUFS is.
So where’s the work now?
If I had to sum up the whole Friday in one sentence: AI didn’t get rid of the work, it moved it.
In the past, a video like this would have meant a crew, a stadium, lights, a camera, weeks of editing. Now it’s a person who watches and an agent that turns out a new version in a few dozen minutes. My job was just one thing: to watch properly. Frame by frame. And to say what was wrong precisely enough for it to be fixable.
No, that’s not a small thing. It’s directing.
And one more thing. Every note I made cost one new version. So we turned them into rules: one microphone, an S-shaped catwalk with an octagon, the audience facing the stage, no giant Claudia above a tiny crowd, cut on the start of the vocal, not a second later. Claude wrote them up as a so-called skill: a set of instructions the next agent reads before it generates its first shot.
So the next video won’t start from zero. It’ll start where this one finished.
That’s how simple it is. And that’s how hard.