Image generators differ from chat models in what takes up memory. A chat model is mostly weights plus a growing KV cache. An image model has a few parts that all have to be available: the main network (the backbone, a U-Net or a transformer), a text encoder that turns your prompt into numbers, and a VAE that turns the result into pixels. Larger recent models can have text encoders that are a big share of the total.
Precision
Like chat models, image models can be stored at lower precision to save memory. Our estimates use these sizes, with an approximate quality factor:
| Precision | Bytes per parameter | Quality kept |
|---|---|---|
fp16 | 2.00 | 100% |
fp8 | 1.00 | 98% |
q8_gguf | 1.07 | 99% |
q4_gguf | 0.60 | 93% |
nf4 | 0.56 | 93% |
The principle is the same as in quantization: half-precision (fp16) is the reference, 8-bit variants usually look nearly identical, and 4-bit variants save the most memory with a small visible cost.
Resolution and memory
Working memory grows with the number of pixels. A 1024×1024 image needs far more than 512×512 even from the same model. If you run out of memory, lower the resolution or batch size before anything else, and use an upscaler afterwards.
When memory is short
Apps can keep only the part that is working on the GPU and move the rest to system RAM: the text encoder first (it is only needed at the start), or the backbone in pieces. Both work, and both are slower. The model pages show which mode applies: everything on GPU, encoder in RAM or CPU offload. See the same idea for chat models.
Apps
ComfyUI runs nearly every model and is the usual choice on a PC. Draw Things and DiffusionBee are friendlier options on a Mac. Browse the image models to see what your hardware can run, and the app guide for the general picture.