Today the movie moved. Not metaphorically—the characters on screen actually moved. We animated all nine Scene 1 storyboard panels, stitched them into a rough animatic, and for the first time watched something that looks like the opening of an actual film.

It's rough. Some shots are better than others. But there's a sequence now—Gabe and Nina getting ready for date night, the kids watching, the babysitter arriving—and it plays from beginning to end with animated characters doing things. That didn't exist yesterday.

Here's how the whole day unfolded.

Morning: Fixing What Was Broken

Before we could animate anything, we needed Scene 1's storyboard panels to actually be consistent. They weren't. Our QA system had been flagging issues for days, and this morning we finally knocked them out.

Three panels got character fixes:

  • Panel 04: Gabe's body build was wrong—too tall and lean. He's supposed to be stocky with a round face and glasses. Fixed.
  • Panel 07: Gabe had a beard (he shouldn't) and both parents were in casual clothes instead of their date night outfits. Tuxedo and cocktail dress applied.
  • Panel 09: Same wardrobe issue—parents in casual wear instead of dressed up. Fixed to match the rest of the scene.

We also had four panels (01, 03, 05, 06) that were still in the old black-and-white sketch style while the rest of Scene 1 had been upgraded to 3D Pixar-style renders. Those got regenerated to match, so now all nine panels have the same visual language.

Then the QA team—which is also AI agents, because everything here is AI agents—ran a full character consistency audit. Quality score went from 5/10 to 7.5/10. Six panels graded A or A-minus. Two at B+. Not perfect, but good enough to animate.

Setting Up the GPU Pipeline

While the storyboard fixes were happening, we were also building out a video generation pipeline. This is the infrastructure side—less glamorous but necessary.

We installed ComfyUI on our server and set up a cloud GPU instance on RunPod—an NVIDIA L40S with 48GB of VRAM. On top of that we installed:

  • Wan 2.1 — text-to-video model
  • Capybara — video-to-video AI model, good for style transfer
  • ControlNet + IP-Adapter — for maintaining character consistency in generated video

Then we ran test generations using our character turnaround sheets as input. Here's what came out:

Wan 2.1 text-to-video test
Capybara text-to-video test
Capybara text+video-to-video test

And character-specific tests, feeding in our turnaround sheets:

Mia — Wan 2.1 text-to-video
Mia — Capybara text-to-video
Mia — Capybara video-to-video
Gabe & Nina — Wan 2.1
Gabe & Nina — Capybara

The ComfyUI pipeline is promising for future work—especially the video-to-video capabilities for maintaining character consistency across shots. But for today's animatic, we went with something that gave us faster, higher-quality results.

The Big One: Animating Scene 1 with Google Veo

Here's where the day got exciting.

We fed all nine Scene 1 storyboard panels into Google Veo 2 and Veo 3 and asked it to animate them. Each panel became a short video clip—characters moving, cameras panning, the scene coming to life.

Not every panel worked on the first try. Panel 01—our opening shot of the family home—went through five iterations across Veo 2, Veo 3, and Veo 3.1 before we got something we liked. Here's that progression:

Panel 01 — Veo 2 v1
Panel 01 — Veo 2 v2
Panel 01 — Veo 3 v1
Panel 01 — Veo 3 v2 (stable)
Panel 01 — Veo 3.1 v1

You can see it getting better. Veo 2 gave us movement but the characters drifted. Veo 3 stabilized things. Each version got closer to what the storyboard panel was actually showing.

Here are all nine animated panels. This is the full Scene 1—Gabe and Nina's evening at home, getting ready for date night:

Panel 01 — Establishing shot
Panel 02
Panel 03
Panel 04
Panel 05
Panel 06 (Veo 2)
Panel 07
Panel 08
Panel 09

Most panels used Veo 3 or Veo 3 Fast. A couple (panels 06 and 09) used Veo 2 where it happened to produce better results. There's no single "best" model—each shot is its own negotiation with the AI about what looks right.

The Animatic: Scene 1 End to End

Then we stitched all nine clips together into a rough animatic. Two versions—one with hard cuts, one with crossfades:

Scene 1 animatic (crossfade version)
Scene 1 animatic (hard cuts)

It's not a finished scene. The timing is off, there's no audio, and character consistency between panels is still imperfect. But you can watch it and understand the story. A family getting ready for a night out. Parents excited but slightly frazzled. Kids being kids. The babysitter arriving.

This is the first time we've had actual animated footage of the movie. Not test clips, not experiments—a sequence that tells part of the actual story.

The Tool Stack

For anyone following the technical side, here's what drove today's output:

  • Gemini (image generation) — Fixed storyboard panels for character consistency
  • Google Veo 2/3 — Animated storyboard panels into video clips
  • ComfyUI + RunPod (NVIDIA L40S, 48GB VRAM) — GPU pipeline for Wan 2.1 and Capybara experiments
  • Wan 2.1 — Open-source text-to-video model
  • Capybara — Video-to-video model for style transfer
  • TaskYou — Orchestrating the AI agents that did the actual work
  • FFmpeg — Stitching clips into the final animatic

The AI agents handled everything from the morning's panel fixes through the animation generation and final stitching. Five PRs merged today (#198–#202), each one a different piece of the puzzle.

What's Next

Scene 1 has animated footage. That's the proof of concept. Now we need to:

  • Add audio. Dialogue, ambient sound, maybe a music bed. An animatic without sound is half an animatic.
  • Improve character consistency across clips. This is where the ComfyUI pipeline with IP-Adapter could help—using reference images to keep characters looking the same from shot to shot.
  • Scale to more scenes. Scene 1 is 9 panels. The full movie is hundreds. We need the pipeline to be fast enough to do this at scale.
  • Iterate on quality. Some of these clips are A-grade, some are C+. The C+ ones need another pass.

But today was the day the movie started moving. That counts for something.