Kynd Agent / Blog

Your RAM shouldn’t decide what you can create.

A 16 GB Mac should not get the small canvas while a 64 GB Mac gets the real one. So we rebuilt Kynd’s Z-Image engine around a simple promise: same model, same canvas, closest possible quality—whatever supported Mac is on your desk.

Kynd team · 22 August 2026 · 7 min read

Z-Image · Apple Silicon

The wall was memory. The answer was engineering.

We stopped asking smaller Macs to create less.

A detailed red fox in a softly misted pine forest, generated locally at 1024 by 1024 through Kynd’s streamed Z-Image engine

Actual 1024×1024 output · six steps · seed 424242 · measured 8.58 GB MLX peak

Local image generation has carried an unhelpful assumption: if you own less unified memory, you should accept a smaller image, a different model, or a visibly reduced result. That may be the easy way to ship a tier table. It is not the experience we wanted Kynd to defend.

RAM is a resource. It should not become a creative permission slip.

So the Kynd team went back through the complete Z-Image path—prompt encoding, transformer denoising and pixel decoding—and asked a better question: what if the model did not need to occupy memory all at once?

One creative contract, from 16 GB to 64 GB.

The new automatic route uses the same Q4 checkpoint on every supported Mac. A 64 GB machine no longer silently switches to different weights, and a 16 GB machine no longer drops to a smaller canvas just because it is the smallest supported tier.

MacAutomatic modelSquareLandscape / portrait
16 GBZ-Image Q41024×10241280×704 / 704×1280
24 GBZ-Image Q41024×10241280×704 / 704×1280
32 GBZ-Image Q41024×10241280×704 / 704×1280
64 GBZ-Image Q41024×10241280×704 / 704×1280

BF16 remains available as an explicit specialist route. It is no longer an automatic hardware-tier decision that changes a project when it moves between Macs.

What changed

Less residency. Not less creativity.

The old path behaved like someone unpacking an entire studio before making a single brushstroke. The text encoder, image transformer and decoder all wanted their turn in unified memory—and too much of that memory remained occupied between turns.

The new path treats memory as a working surface, not a warehouse.

1 · Stage the heavy phases

Kynd loads the text encoder, turns the prompt into a compact embedding, and releases the encoder before the image transformer arrives. When denoising finishes, the transformer leaves before the decoder enters. The three heaviest parts no longer crowd the same room.

2 · Stream the transformer

The transformer is split into layers stored in safetensors. Kynd maps those weights lazily, runs a bounded group of four blocks, evaluates the result, and releases what is no longer needed. The model still performs the same calculation in the same order; it simply stops carrying every layer at once.

3 · Decode in overlapping tiles

Turning the final latent into a 1024px image was the largest memory spike. Kynd now decodes two overlapping halves and blends their shared band. That lowers the peak without shrinking the finished canvas.

4 · Remember repeated prompts

When you audition several seeds from one prompt, Kynd caches the small prompt embedding instead of reloading the multi-gigabyte text encoder. In our repeated-prompt test, the second render fell from 11.85 seconds to 7.30 seconds and remained pixel-identical.

5 · Measure and clean up

Every phase reports its own MLX peak. Completed, cancelled and failed jobs all return their buffers, so one abandoned render cannot quietly consume the headroom meant for the next idea.

The measurements behind the update.

Measured locally on an Apple M1 Max. Peak figures come from MLX’s allocator accounting; they are not model-size estimates.

TestBeforeNew routeResult
Transformer parityResident checkpointStreamed blocksPixel-identical
768px decode7.57 GB5.52 GB45.08 dB PSNR
1024px · 6 stepsFull residency risk8.58 GB peakCompleted
Repeated prompt11.85 s7.30 sPixel-identical

The full 1024×1024 render shown above completed in 106.87 seconds while MLX was constrained to a 10 GB allocator limit. Its phase peaks were 3.88 GB for prompt encoding, 1.81 GB for denoising and 8.58 GB for tiled decode.

Quality is the line we would not cross.

There are plenty of easy ways to make a model fit: lower the resolution, choose different weights, reduce the work or quietly label the result “optimised.” We wanted a harder standard.

The streamed transformer is exact. On identical prompts and seeds, streamed and resident Q4 runs produced the same pixels. Block streaming changes when weights live in memory, not what the network computes.

Tiled decode is deliberately close. It introduces a blended overlap rather than a mathematically identical decode, so we measured it separately. The result reached 45.08 dB PSNR against the single-pass decode, with no visible seam in the release render.

And because every normal memory tier now uses the same Q4 weights and the same tiled path, moving a project from a 16 GB MacBook to a 64 GB Mac Studio should not silently reinterpret the look.

What this means when you open Image Maker.

The update does not make memory irrelevant. macOS, Kynd and every open app still share the same unified pool. It makes memory managed—so the person creating does not have to become the memory manager.

Measured honestly, released confidently.

Our constrained-memory engineering gate ran on a 64 GB M1 Max with MLX limited to 10 GB; the complete 1024px route peaked at 8.58 GB. That gives the 16 GB tier meaningful room for macOS and Kynd, but an allocator constraint is not a physical 16 GB test fleet. We will keep collecting real-world 16 GB mileage and publish what it teaches us.

That distinction matters. “It should fit” is not the same claim as “we have seen every 16 GB Mac behave perfectly.” The new engine has passed its measured memory, parity, quality and regression gates. Hardware variety is the next gate, and we will treat it with the same honesty.

Creativity belongs to the person, not the spec sheet.

A bigger Mac should buy speed and headroom. It should not buy permission to make the full-sized idea.

That is the story we wanted to set straight. The heavy-RAM problem was real, but it was not a law of nature. It was an engineering problem—and engineering problems are invitations to do the work.

Also useful: The complete Z-Image-on-Mac guide → · How Kynd brought LTX 2.5 to 16 GB Macs →

Create with the Mac you have.

Kynd handles the memory choreography. You keep the canvas.