April 2026
FLUX vs Stable Diffusion XL for agent workflows
Parameter recipes, prompt formats, and the model split that actually ships in production agents.
The failure that picks the model for you
An agent generates a hero image with the prompt a man holding a sign that says "OPEN". SDXL returns a sign with mangled glyphs that resemble Cyrillic-Wingdings. FLUX returns a sign that says OPEN. That single behaviour decides the model split for most production agents: anything with embedded copy goes to FLUX, everything else is a parameter argument. The argument is what this post is about.
FLUX parameters that work
FLUX is a flow-matching model and tolerates aggressive step counts. It also ignores most of the weighting syntax that SDXL prompts depend on, so treat the prompt like a sentence, not a tag list.
- FLUX schnell. Steps 4, guidance 0, sampler euler, scheduler simple. Negative prompts are ignored — do not bother sending one. Dimensions 1024x1024 or 1024x1792 for vertical. Use this for drafts the agent will throw away.
- FLUX dev. Steps 28-30, guidance 3.5, sampler euler, scheduler simple. No negative prompt needed. 1024x1024 native; 1216x832 and 832x1216 are stable. Non-commercial license — keep it out of customer-facing pipelines.
- FLUX 1.1 pro. Hosted defaults handle the sampler, steps, and scheduler. Send the prompt, aspect ratio, and seed. Commercial licence, production default.
Pushing FLUX dev past 30 steps gives you the same image with a longer bill. Pushing schnell past 4 actively degrades the output.
SDXL parameters that work
SDXL is the opposite of FLUX in almost every respect: classifier-free guidance is essential, negative prompts are essential, and the sampler choice changes the result.
- Base SDXL. Steps 25-30, guidance 7.0, sampler DPM++ 2M, scheduler Karras. Always send a
negative_prompt— at minimumblurry, deformed, extra fingers, watermark, text, low quality. Native 1024x1024; 1152x896 and 896x1152 train well. Anything smaller than 768 on a side falls apart. - SDXL Lightning. Steps 4-8, guidance 1.0-2.0, sampler DPM++ 2M, scheduler Karras. Negative prompt still helps. Sub-second generation; ideal for batch.
- SDXL Turbo. Steps 1-4, guidance 1.0, sampler euler ancestral. Quality drops below Lightning but the latency wins for streaming previews.
Prompt format: prose vs tags
FLUX wants natural prose — punctuation, clauses, descriptive phrases. Weighting like (red dress:1.4) is parsed as literal text. SDXL wants weighted tags separated by commas, with a BREAK token between subject and style chunks, and a populated negative prompt. The same idea looks completely different in each request.
// FLUX 1.1 pro — natural prose, no negative
{
"model": "flux-1.1-pro",
"prompt": "A weathered fisherman standing on a wet stone pier at golden hour, soft directional sunlight from the left, holding a hand-painted sign that reads OPEN, shallow depth of field, 35mm film grain.",
"width": 1024,
"height": 1024,
"seed": 42
}
// SDXL base — weighted tags, BREAK, negative prompt
{
"model": "sdxl-base-1.0",
"prompt": "(weathered fisherman:1.2), wet stone pier, golden hour, holding (hand-painted sign:1.3) reading OPEN, shallow depth of field BREAK 35mm film, cinematic lighting, photorealistic, sharp focus",
"negative_prompt": "blurry, deformed hands, extra fingers, watermark, low quality, cartoon, illustration, text artifacts",
"steps": 28,
"guidance_scale": 7.0,
"sampler": "dpmpp_2m",
"scheduler": "karras",
"width": 1024,
"height": 1024,
"seed": 42
}If your agent emits one prompt format for both models, one of the two results will be worse than necessary. Either branch on model family before formatting, or use a hosted endpoint that normalises for you. See tool call patterns for the branching shape we recommend.
LoRA and finetune ecosystem
SDXL has a three-year head start. Civitai alone hosts tens of thousands of LoRAs, and the Illustrious and Pony Diffusion finetunes own anime and stylised character work outright. If you need a specific aesthetic that someone has already trained — a board-game art style, a 90s VHS look, a particular illustrator — SDXL almost always has it.
FLUX has fewer LoRAs but a much higher signal-to-noise ratio. The ones that exist tend to be quality-curated: photorealistic skin, specific cinematic looks, brand style transfers. For agents doing generic photo or design work, the FLUX base model already covers what you previously needed a LoRA for.
Photo vs illustration head-to-head
- Photorealism. FLUX 1.1 pro wins on skin, hands, and lighting consistency. SDXL with a good photorealism LoRA closes the gap on faces but still produces tells in fingers and reflections.
- Stylised illustration. SDXL via Illustrious or Pony wins. FLUX is competent but homogenises styles toward a "FLUX look."
- Embedded text. FLUX wins, full stop. Signs, labels, posters, UI mockups, product packaging copy — FLUX renders them. SDXL produces gibberish even with negative prompts crafted to suppress it.
- Speed at scale. SDXL Lightning and Turbo run sub-second. FLUX schnell is fast but not that fast. For thousands of thumbnails an hour, SDXL Lightning is still the floor.
Cost-quality bands
Roughly: SDXL Lightning sits at the cheap, fast, lower-quality floor. Base SDXL and FLUX schnell trade blows in the middle — SDXL wins on stylised, schnell wins on prompt adherence and text. FLUX dev raises quality at a non-commercial cost. FLUX 1.1 pro is the most expensive of the four and the only one a serious customer-facing agent should call by default. Live per-call pricing is on the pricing page.
Recommended agent setup
Wire three models, not one. Tell the agent the rule explicitly in its system prompt — left to itself it will pick whichever model name is alphabetically first.
- Drafts. FLUX schnell at 4 steps. Cheap enough to throw away.
- Finals with text or customer-facing copy. FLUX 1.1 pro.
- High-volume batches without embedded text. SDXL Lightning at 6 steps with a populated negative prompt.
The agent calls one tool — generate_image — and switches the model field. get_generation polls for results, get_credits guards the budget. That is the whole surface; see the tool reference for the parameter shape.
When neither is the right pick
FLUX and SDXL cover most of the workload, but three jobs send them both home.
- Long, paragraph-length text. FLUX renders short signs and labels well, but multiple lines of legible body copy still drift. Ideogram v2 is the model built for this.
- High-fidelity photographic realism with people. Imagen 3 holds an edge on group shots, real-world locations, and skin under hard light. If the brief is "this should look like a stock photograph," reach for it.
- Stylised editorial illustration. Playground v3 produces cleaner editorial illustration, poster art, and graphic-design layouts than either FLUX or SDXL out of the box.
A mature agent has all three available alongside FLUX and SDXL and routes by intent. Dropping any of them costs you a category of work.
All of the above on one tool
AgentFramer exposes FLUX schnell, dev, and 1.1 pro alongside the SDXL family on a single MCP generate_image tool. The agent switches the model field; defaults handle the sampler and scheduler per family so you do not have to. Browse the catalogue on the model library or read the rest of the blog for more agent recipes. Pick the model on purpose. The defaults are never the right answer for everything.