PLUM AND FERN

is a short animated film about a bunny who chases a floating heart across a squishy pastel world. Every frame was generated, not filmed: Midjourney and Nano Banana for stills, Seedance for motion, ElevenLabs for voice and sound. But generation is the easy part. The real work was holding a world, two characters, and a story together across dozens of independent AI outputs that don't naturally agree with each other — building a color system that would hold, catching a character's face before it drifted off-model, turning a pretty ending into an earned one. This page walks through that process: the world-building, the consistency problems and how I solved them, the story decision that made the film mean something, and the pipeline that shipped it.

THE PREMISE

FROM DISCOVERY
TO DESIGN

A short film about how the same kindness that frees one thing can free another. Plum chases a glowing heart across a squishy pastel world — not realizing it's leading her to someone who's been waiting a long time for a friend.

The early Midjourney generations were rich but chaotic — dozens of competing focal points, more detail than any single shot needed. I used them as a discovery phase, not a final asset: pulling the elements that defined the world (the mushroom silhouettes, the color logic, the fuzzy-versus-clay texture split) and rebuilding each scene as a simplified, purpose-built composition — one clear subject, one light source, one story beat per frame.

WHERE THE EDITS WENT WRONG

Every generation tool I used has a default it falls back on when a frame is ambiguous, and most of my edits ran straight into it. Plum’s mouth fused into the nose and grew teeth whenever the animation asked her to react. Fern’s size crept up with every relighting pass until the baby dinosaur was nearly as big as the bunny. A door opened on the wrong hinge. A heart showed up in a scene where the story needed it gone. A white haze settled over one clip and washed out the whole palette. A sunset edit turned the sky peach and crowded it with clouds I hadn’t asked for. None of these were random. Each one was the model filling a gap I’d left open, so the fix was always the same: say exactly what had to stay fixed, then ban the specific failure by name. The gallery below shows the before and after for each.

Previous
Previous

Upside Foods - GTM Campaign

Next
Next

Joe Mama - Branding | Packaging