Learn ComfyUI Image Generation: FLUX, ControlNet, and LoRA Model Types and How to Prompt Each: SD 1.5, SDXL, and FLUX

Model Types and How to Prompt Each: SD 1.5, SDXL, and FLUX

Intermediate 🕐 20 min Lesson 1 of 11
What you'll learn
  • Identify the node-graph differences between SD 1.5, SDXL, and FLUX workflows in ComfyUI.
  • Write effective prompts for each architecture using its native style.
  • Configure KSampler settings correctly for each model type.

Three Architectures, Three Different Approaches

Not all checkpoints work the same way in ComfyUI. SD 1.5, SDXL, and FLUX each have different CLIP encoders, native resolutions, and ideal prompting styles. Using an SD 1.5 prompt on a FLUX model — or running FLUX settings on SDXL — produces mediocre results. This lesson covers what makes each architecture different and how to work with each one correctly.

SD 1.5: The Tag-Based Foundation

Stable Diffusion 1.5 uses a single CLIP text encoder and generates images natively at 512×512 pixels. It is the lightest model of the three, running on as little as 4 GB VRAM, and it supports the largest ecosystem of fine-tuned checkpoints and LoRAs.

Prompting SD 1.5 uses a tag-based style borrowed from the Danbooru image board. Quality tokens at the start of the prompt significantly improve output:

  • Positive prompt: masterpiece, best quality, ultra detailed, [your subject], [style descriptors], [lighting], [artist reference if desired]
  • Negative prompt: bad hands, extra fingers, blurry, low quality, deformed, ugly, watermark, text

The negative prompt matters more for SD 1.5 than for any other architecture. Without it, you will regularly see distorted anatomy and low-quality outputs. Keep a saved negative prompt you copy into every SD 1.5 workflow.

In ComfyUI, the node graph is straightforward: Load Checkpoint → MODEL and CLIP → two CLIP Text Encode nodes (positive and negative) → KSampler → VAE Decode → Save Image. The Empty Latent Image node should be set to 512×512 or 768×512 for landscapes.

SDXL: Higher Resolution and Richer Detail

SDXL uses two CLIP encoders — clip_g (a large CLIP model) and clip_l (the same CLIP-L used in SD 1.5). When you load an SDXL checkpoint in ComfyUI, both CLIPs load together, but the prompting style should shift. SDXL responds better to natural grammar than tag lists, and quality booster tokens have less impact because the model is already better at composition and anatomy.

Generate at 1024×1024 or 1024×768 for best results. SDXL struggles at 512px — the model was trained at higher resolution and looks soft or incorrect at half size. You will need at least 8 GB VRAM for comfortable SDXL generation. The node graph is identical to SD 1.5 in structure; only the checkpoint name and resolution change.

SDXL also supports a base-plus-refiner chain where the base model generates the initial latent and a separate refiner checkpoint sharpens the output. This is optional — most people skip it unless they want maximum detail.

FLUX.1: Natural Language and No Negative Prompt

FLUX.1 is a fundamentally different architecture. It uses a dual CLIP system consisting of T5-XXL (a much larger text encoder) and CLIP-L. The T5-XXL encoder understands natural language at a level far beyond the CLIP encoders used in SD 1.5 and SDXL, which means FLUX can follow complex, paragraph-style prompts with excellent accuracy.

Three things are different when you run FLUX in ComfyUI:

  • No negative prompt: Leave the negative CLIP Text Encode empty or delete it. FLUX was not trained with negative prompt conditioning and ignores it.
  • CFG = 1.0: FLUX uses a distilled guidance system. Setting CFG above 1 does not add control — it adds artifacts. Keep it at exactly 1.0.
  • Different sampler settings: euler sampler with simple scheduler, 20–30 steps. DPM++ schedulers designed for SD 1.5 are less effective on FLUX.

FLUX prompts read like directions to a photographer or illustrator:

  • Good: "A cinematic close-up portrait of a woman in her 40s with silver hair, standing in a rain-soaked Tokyo alley at night, neon reflections on the wet pavement, shallow depth of field, film grain, Kodak Portra aesthetic."
  • Avoid: "masterpiece, best quality, 1woman, silver hair, rain, neon, bokeh, 8k"

FLUX can generate at any resolution as long as total pixel count fits in VRAM. Common choices are 1024×1024, 1360×768, or 832×1216. The model handles non-square aspect ratios extremely well.

KSampler Settings by Architecture

Use these as starting points and adjust from there:

  • SD 1.5: steps 20, CFG 7.0, sampler euler, scheduler normal, denoise 1.0
  • SDXL: steps 25, CFG 6.0–7.5, sampler dpmpp_2m, scheduler karras, denoise 1.0
  • FLUX.1: steps 25, CFG 1.0, sampler euler, scheduler simple, denoise 1.0

For all three: denoise 1.0 means full text-to-image generation from pure noise. Lower denoise values apply only in image-to-image workflows covered in Lesson 5.

Choosing the Right Model for Your Project

If you need maximum compatibility with existing fine-tunes and LoRAs, use SD 1.5. If you need high resolution with a wide range of styles and the largest community workflow library, use SDXL. If you want the best raw image quality and the most accurate prompt following available in a local model, use FLUX.1 — accepting that it requires more VRAM and has fewer custom nodes supporting it than SD 1.5.

All three architectures are worth understanding. Most serious ComfyUI users keep checkpoints from all three on hand and switch based on the goal of each project.

Key takeaways
  • SD 1.5 uses tag-based prompting with quality tokens — phrases like masterpiece and best quality matter because the model needs explicit guidance that newer architectures have built in.
  • SDXL requires 1024px or higher to look correct — running it at 512px produces soft, degraded output because the model was trained at higher resolution.
  • FLUX.1 ignores negative prompts and performs best with CFG set to 1.0 — it was trained with a different guidance system that does not respond to standard classifier-free guidance values.
  • Each architecture has optimal KSampler settings that differ significantly — SD 1.5 at CFG 7.0 with euler/normal, SDXL at CFG 6.0–7.5 with dpmpp_2m/karras, and FLUX at CFG 1.0 with euler/simple.
  • Switching between architectures usually only requires changing the checkpoint name and updating resolution and KSampler settings — the rest of the node graph stays the same for SD 1.5 and SDXL.