TallyReelStart free

Running FLUX image models locally on a Mac for video pictures

FLUX.2 klein 4B vs SDXL, on an M1 Pro

Every AI-picture story in TallyReel needs one picture per scene, and the same characters have to look the same from scene to scene. Studio draws those pictures on your own computer, so the image model has to be good, licensed for a paid app, and fast enough on a laptop.

On 30 September 2026 we replaced the two SDXL models Studio used with FLUX.2 klein 4B and tested both on the same five-scene story on an M1 Pro MacBook with 32 GB of memory. Here is what we measured and what we saw.

By Danish, who makes TallyReel ยท Published

What we found

FLUX.2 klein 4B clearly beat SDXL in all three art styles we tried, mainly because it follows long prompts: SDXL's 77-token limit cut off the character descriptions, so a character never appeared. In the shipped 4-bit MLX build, klein draws a scene in about 50 seconds on an M1 Pro and a whole five-scene video took 254 seconds. It is slower than SDXL's 30 seconds a scene, and worth it.

The test story

We wrote one five-scene story and drew it in three styles: storybook 3D, flat cartoon and soft anime. A small grey kitten called Mishi with a red knitted scarf carries chai through a bazaar, slips in a puddle, and an old tortoise shopkeeper in round brass glasses hands her a fresh cup. The last scene has both of them on a rooftop at sunset.

Two characters, a specific scarf, specific glasses: it is a simple story, and a hard test for consistency.

SDXL vs klein, same scene

The biggest difference came from prompt length. SDXL reads only the first 77 tokens of a prompt. Once the style, the scene and two character descriptions are in, the tortoise's description falls past that limit, so SDXL never drew him. It drew a second cat instead. FLUX.2 klein reads the whole prompt, so both characters appear as described.

SDXL drawing of the shop scene with two cats and no tortoise
SDXL, scene 4: the tortoise shopkeeper is missing; the description was cut off at 77 tokens.
FLUX.2 klein drawing of the kitten at the tortoise's chai stall
FLUX.2 klein, scene 4: the kitten and the tortoise with his white cap and brass glasses.
SDXL drawing of two cats on a rooftop at sunset
SDXL, scene 5: again two cats instead of the kitten and the tortoise.
FLUX.2 klein drawing of the kitten and tortoise drinking chai on a rooftop with kites
FLUX.2 klein, scene 5: both characters, the kites and the sunset from the prompt.

Speed and memory on an M1 Pro

The first 8-bit timings made a 12-scene video take 25 to 30 minutes, which is too slow. Two changes fixed most of it. We moved to the 4-bit MLX build, about 4.6 GB to download, and drew at 544x960 before upscaling. Then we found that part of the slowness was memory pressure: limiting MLX's cache and clearing it between pictures brought times that had crept to 110 to 170 seconds back to about 50. A whole five-scene video, with voice, captions, music and the final render, took 254 seconds.

SetupTime per pictureNotes
SDXL (before)About 30 secondsFast, but drops long prompts
klein 4B, 8-bit, prompt onlyAbout 72 secondsFirst test
klein 4B, 8-bit, one character referenceAbout 112 secondsPeak memory about 13 to 14 GB
klein 4B, 8-bit, two character referencesAbout 169 secondsSlowest case
klein 4B, 4-bit MLX, as shippedAbout 50 secondsDrawn at 544x960 and upscaled

Measured on an M1 Pro with 32 GB of memory, 30 September 2026.

Keeping characters the same: cast sheets

Prompt text alone does not keep a character identical across scenes. So before the scenes, Studio draws a cast sheet for each recurring character, one clear picture of them, and passes it to klein as a reference image when that character is in a scene. A cast sheet takes about 43 seconds. Studio works out who is in each scene from the script, so a scene only carries the references it needs.

Cast sheets are what made the side-by-side pictures above consistent. They are also where klein made its strangest mistakes.

Bugs we only found by looking

None of these showed up in logs or tests. We found each one by opening the pictures and looking at them.

Cartoon drawing where the tortoise shopkeeper appears twice
A real slip from the cartoon run: two tortoises behind the stall. Draw again fixes scenes like this.

Why klein, and not a bigger model

FLUX.2 klein 4B is released under Apache 2.0, which lets us ship it inside a paid app. Several stronger-looking models were ruled out by their licences, including the larger FLUX.2 dev and 9B models and Kontext. klein is also small enough for a laptop: the 4-bit build fits comfortably in 32 GB of memory alongside everything else a video needs.

On Windows and in the cloud the same model runs through diffusers on NVIDIA cards. On a cloud L4 GPU a picture takes about 3 seconds instead of 50, which is what makes AI-picture stories affordable in TallyReel's web and phone apps.

If you want to run it yourself

Models and links

Questions

Can FLUX.2 klein run on a Mac?

Yes. The 4-bit MLX build, about 4.6 GB, runs through mflux. In our test it drew a story scene in about 50 seconds on an M1 Pro with 32 GB of memory.

Is FLUX.2 klein better than SDXL?

For story pictures, clearly yes in our test. SDXL's 77-token prompt limit dropped character descriptions, so characters went missing. SDXL is faster, at about 30 seconds a picture.

Can FLUX.2 klein be used commercially?

FLUX.2 klein 4B is released under the Apache 2.0 licence. Always check the licence of the exact weights you download.

How do you keep the same character across scenes?

Draw one cast sheet picture per character first, then pass it to klein as a reference image in every scene that character appears in.

Does TallyReel draw AI pictures in the browser?

Yes. The web and phone apps draw them on cloud GPUs, and Studio draws them on your own computer.

Pick one. Make it tonight.

Type the idea into TallyReel, read the script, and it makes the video for you: in the browser, on your phone, or in Studio on your own computer. Start on the free plan.