AI · Fundamentals

What is a model

Checkpoints, LoRAs, VAE — and what you actually need to load.

The last article covered how a diffusion model fundamentally works: trained knowledge stored in a latent space, steered by a prompt vector, denoised step by step into a finished image.

Once you start working in ComfyUI yourself, a different question comes up: what are you actually loading there? In everyday use, "model" is a catch-all term for several different files that work together — and the terms checkpoint, LoRA, VAE, and ControlNet model are often used interchangeably, even though they do completely different jobs.

This article sorts out these terms. Not as a tutorial for a particular interface, but as an understanding of what you're actually holding when you download a model file.

The checkpoint — the model itself

The checkpoint is what the last article described: the fully trained neural network, with all the weights that emerged during training from billions of image-text pairs. When you load "Flux.1 dev" or "SDXL," you're loading a checkpoint. It's usable on its own — you need nothing else to generate an image.

The name comes from the training process itself: while a model is being trained, intermediate states — checkpoints — are saved regularly, to preserve progress or to allow comparing different training stages later. One of these intermediate-state files is eventually released as the finished, published model. The term "checkpoint" has stuck since then as the common name for "the model file" — even though, at its core, it's simply the result of a completed training run.

A checkpoint is correspondingly large: often several gigabytes, because it stores billions of weights. This is the foundation everything else in this article builds on.

LoRA — targeted retraining for one discipline

A finished checkpoint can do a great deal — but not everything equally well. If you want to reliably produce a particular visual style, a recurring face, or a specific product design, the model would essentially need to be taught that specialized discipline. Retraining the entire model for that would be disproportionate — it would require enormous compute and huge amounts of data, just to sharpen one narrow capability.

This is exactly the problem a LoRA (Low-Rank Adaptation) solves. A LoRA isn't a standalone model, but a small, retrained add-on package that sits on top of an existing checkpoint. Instead of relearning all the billions of weights, LoRA training computes only much smaller additional weights that shift the existing knowledge in a specific direction. Technically, this means: instead of completely altering one enormous weight matrix, two much smaller matrices are learned, whose combination produces a low-rank approximation of the desired change — hence "low-rank." The result is a file ranging from a few megabytes to low hundreds of megabytes, instead of several gigabytes.

What a LoRA can't do: it doesn't create new foundational knowledge. A LoRA for a particular architectural style works because the checkpoint already knows what facades, materials, and proportions fundamentally are — the LoRA shifts that existing knowledge in a specific aesthetic direction. Depending on the training goal, the effect leans either toward precision ("a face" reliably becomes "this specific face") or toward stylistic coloring ("an image" becomes "an image in this particular visual language"). Both are the same mechanism — a targeted weight shift — just with different effects depending on the training data.

This property also explains why LoRA training works with a surprisingly small number of images — often 30 to 50 stylistically consistent shots are enough, instead of the millions needed for a full model training run. No new understanding needs to be built; an existing tendency in the model just needs to be deliberately reinforced.

A checkpoint can be combined with different LoRAs independently of all this — a different add-on depending on the task, or even several at once with different weighting. The base model always stays the same; only the specialization changes.

Your own LoRAs can also be trained on small, self-assembled image sets — relevant, for example, for a particular visual style or for keeping a series of images consistent throughout. This topic deserves its own tutorial and will be covered in more depth elsewhere.

VAE — translating back into pixels

The VAE (variational autoencoder) was already briefly mentioned in the last article: the result of the diffusion process initially exists in latent space — a compressed, mathematical representation that the neural network works with. This representation isn't an image in the usual sense; it first has to be translated.

The VAE handles that translation: a separate, smaller network that converts the compressed latent-space representation into actual pixel values. Without this final step, there would be no visible image — only its mathematical representation.

Many checkpoints already include a VAE, which loads automatically. In some cases — for instance when a particular checkpoint produces better results with an optimized or alternative VAE — the VAE can also be loaded and swapped separately, independently of the rest of the checkpoint. For most workflows, the bundled VAE is entirely sufficient to start with.

ControlNet models — a fourth category, briefly placed

Alongside checkpoint, LoRA, and VAE, there's a fourth category of loadable model files: ControlNet models. Unlike a LoRA, they don't change what gets generated — they impose an additional, structural constraint, for example based on edge maps, depth information, or poses derived from a reference image or a 3D scene.

For RAY-L, this category is central: ControlNet Canny is the bridge through which Blender geometry influences the generated image. How that works in detail — and why Canny specifically, rather than another ControlNet variant — follows in its own article.

Summary

Four different model files, four different jobs:

  • Checkpoint — the complete, trained model. Usable on its own, several gigabytes in size.
  • LoRA — a small add-on training for a specific discipline, layered on top of an existing checkpoint. Shifts existing knowledge in a targeted way, doesn't create new knowledge.
  • VAE — translates the compressed latent-space representation into the final pixel image. Often already included in the checkpoint, swappable if needed.
  • ControlNet model — an additional, structural constraint from outside, independent of the actual image content. The decisive category for RAY-L.

A checkpoint can function without any of the others. LoRA, VAE, and ControlNet model never work without a checkpoint — they're additions, not replacements.

This is the foundation for the next step: which model types exist in detail, and how SDXL, Flux.1 dev, and upcoming models like Flux.2 dev or Ideogram 4 differ from one another.