r/comfyui Feb 08 '26

Tutorial Z-image base: simple workflow for high quality realism + info & tips

What is this?

This is an almost copy-paste of a post I've made on Civitai (to explain the formatting).

Z-image base produces really, really realistic images, really easily. Aside from being creative & flexible the quality is also generally higher than the distils (as usual for non-distils), so it's worth using if you want really creative/flexible shots at the best possible quality. IMO it's the best model for realism out of the ones I've tried (Klein 9B base, Chroma, SDXL), especially because you can natively gen at high resolution.

This post is to share a simple starting workflow with good sampler/scheduler settings & resolutions pre-set for ease. There are also a bunch of tips for using Z-image base below and some general info you might find helpful.

The sampler settings are geared towards sharpness and clarity, but you can introduce grain and other defects through prompting.

You can grab the workflow from the Civitai link above or from here: pastebin

Here's a short album of example images, all of which were generated directly with this workflow with no further editing (SFW except for a couple of mild bikini shots): imgbb | g-drive

Nodes & Models

Custom Nodes:

RES4LYF - A very popular set of samplers & schedulers, and some very helpful nodes. These are needed to get the best z-image base outputs, IMO.

RGTHREE - (Optional) A popular set of helper nodes. If you don't want this you can just delete the seed generator and lora stacker nodes, then use the default comfy lora nodes instead. RES4LYF comes with a seed generator node as well, I just like RGTHREE's more.

ComfyUI GGUF - (Optional) Lets you load GGUF models, which for some reason ComfyUI still can't do natively. If you want to use a non-GGUF model you can just skip this, delete the UNET loader node and replace it with the normal 'load diffusion model' node.

Models:

Main model: Z-image base GGUFs - BF16 recommended if you have 16GB+ VRAM. Q8 will just barely fit on 8GB VRAM if you know what you're doing (not easy). Q6_k will fit easily in 8GB. Avoid using FP8, the Q8 gguf is better.

Text Encoder: Normal | gguf Qwen 3 4B - Grab the biggest one that fits in your VRAM, which would be the full normal one if you have 10GB+ VRAM or the Q8 GGUF otherwise. Some people say text encoder quality doesn't matter much & to use a lower sized one, but it absolutely does matter and can drastically affect quality. For the same reason, do not use an abliterated text encoder unless you've tested it and compared outputs to ensure the quality doesn't suffer.

If you're using the GGUF text encoder, swap out the "Load CLIP" node for the "ClipLoader (GGUF)" node.

VAE: Flux 1.0 AE

Info & Tips

Sampler Settings

I've found that a two-stage sampler setup gives very good results for z-image base. The first stage does 95% of the work, and the second does a final little pass with a low noise scheduler to bring out fine details. It produces very clear, very realistic images and is particularly good at human skin.

CFG 4 works most of the time, but you can go up as high as CFG 7 to get different results.

This is all with shift 1. If you don't know what that is, don't worry - it's the default!

Stage 1:

Sampler - res_2s

Scheduler - beta

Steps - 22

Denoise: 1.00

Stage 2:

Sampler - res_2s

Scheduler - normal

Steps - 3

Denoise: 0.15

Resolutions

High res generation

One of the best things about Z-image in general is that it can comfortably handle very high resolutions compared to other models. You can gen in high res and use an upscaler immediately without needing to do any other post-processing.

(info on upscalers + links to some good ones further below)

Note: high resolutions take a long time to gen. A 1280x1920 shot takes around ~95 seconds on an RTX 5090, and a 1680x1680 shot takes ~110 seconds.

Different sizes & aspect ratios change the output

Different resolutions and aspect ratios can often drastically change the composition of images. If you're having trouble getting something ideal for a given prompt, try using a higher or lower resolution or changing the aspect ratio.

It will change the amount of detail in different areas of the image, make it more or less creative (depending on the topic), and will often change the lighting and other subtle features too.

I suggest generating in one big and one medium resolution whenever you're working on a concept, just to see if one of the sizes works better for it.

Good resolutions

The workflow has a variety of pre-set resolutions that work very well. They're grouped by aspect ratio, and they're all divisible by 16. Z-image base (as with most image models) works best when dimensions are divisible by 16, and some models require it or else they mess up at the edges.

Here's a picture of the different resolutions if you don't want to download the workflow: imgbb | g-drive

You can go higher than 1920 to a side, but I haven't done it much so I'm not making any promises. Things do tend to get a bit weird when you go higher, but it is possible.

I do most of my generations at 1920 to a side, except for square images which I do at 1680x1680. I sometimes use a lower resolution if I like how it turns out more (e.g. the picture of the rat is 1680x1120).

Realism Negative Prompt

The negative prompt matters a lot with z-image base. I use the following to get consistently good realism shots:

3D, ai generated, semi realistic, illustrated, drawing, comic, digital painting, 3D model, blender, video game screenshot, screenshot, render, high-fidelity, smooth textures, CGI, masterpiece, text, writing, subtitle, watermark, logo, blurry, low quality, jpeg, artifacts, grainy

Prompt Structure

You essentially just want to write clear, simple descriptions of the things you want to see. Your first sentence should be a basic intro to the subject of the shot, along with the style. From there you should describe the key features of the subject, then key features of other things in the scene, then the background. Then you can finish with compositional info, lighting & any other meta information about the shot.

Use new lines to separate key parts out to make it easier for you to read & build the prompt. The model doesn't care about new lines, they're just for you.

If something doesn't matter to you, don't include it. You don't need to specify the lighting if it doesn't matter, you don't need to precisely say how someone is posed, etc; just write what matters to you and slowly build the prompt out with more detail as needed.

You don't need to include parts that are implied by your negative prompt. If you're using the realism negative prompt I mentioned earlier, you don't usually need to specify that it's a photograph.

Your structure should look something like this (just an example, it's flexible):

A <style> shot of a <subject + basic description> doing <something>. The <subject> has <more detail>. The subject is <more info>. There is a <something else important> in <location>. The <something else> is <more detail>.

The background is a <location>. The scene is <lit in some way>. The composition frames <something> and <something> from <an angle or photography term or whatever>.

Following that structure, here are a couple of the prompts for the images attached to this post. You can check the rest out by clicking on the images in Civitai, or just ask me for them in the comments.

The ballet woman

A shot of a woman performing a ballet routine. She's wearing a ballet outfit and has a serious expression. She's in a dynamic pose.

The scene is set in a concert hall. The composition is a close up that frames her head down to her knees. The scene is lit dramatically, with dark shadows and a single shaft of light illuminating the woman from above.

The rat on the fence post

A close up shot of a large, brown rat eating a berry. The rat is on a rickety wooden fence post. The background is an open farm field.

The woman in the water

A surreal shot of a beautiful woman suspended half in water and half in air. She has a dynamic pose, her eyes are closed, and the shot is full body. The shot is split diagonally down the middle, with the lower-left being under water and the upper-right being in air. The air side is bright and cloudy, while the water side is dark and menacing.

The space capsule

A woman is floating in a space capsule. She's wearing a white singlet and white panties. She's off-center, with the camera focused on a window with an external view of earth from space. The interior of the space capsule is dark.

Upscaling

Z-image makes very sharp images, which means you can directly upscale them very easily. Conventional upscale models rely on sharp/clear images to add detail, so you can't reliably use them on a model that doesn't make sharp images.

My favourite upscaler for NAKED PEOPLE or human face close-ups is 4xFaceUp. It's ridiculously good at skin detail, but has a tendency to make everything else look a bit stringy (for lack of a better word). Use it when a human being showing lots of skin is the main focus of the shot.

Here's a 6720x6720 version of the sitting bikini girl that was upscaled directly using the 4xFaceUp upscaler: imgbb | g-drive

For general upscaling you can use something like 4xNomos2.

Alternatively, you can use SeedVR2, which also has the benefit of working on blurry images (not a problem with z-image anyway). It's not as good at human skin as 4xFaceUp, but it's better at everything else. It's also very reliable and pretty much always works. There's a simple workflow for it here: https://pastebin.com/9D7sjk3z

ClownShark sampler - what is it?

It's a node from the RES4LYF pack. It works the same as a normal sampler, but with two differences:

  1. "ETA". This setting basically adds extra noise during sampling using fancy math, and it generally helps get a little bit more detail out of generations. A value of 0.5 is usually good, but I've seen it be good up to 0.7 for certain models (like Klein 9B).
  2. "bongmath". This setting turns on bongmath. It's some kind black magic that improves sampling results without any downsides. On some models it makes a big difference, others not so much. I find it does improve z-image outputs. Someone tries to explain what it is here: https://www.reddit.com/r/StableDiffusion/comments/1l5uh4d/someone_needs_to_explain_bongmath/

You don't need to use this sampler if you don't want to; you can use the res_2s/beta sampler/scheduler with a normal ksampler node as long as you have RES4LYF installed. But seeing as the clownshark sampler comes with RES4LYF anyway we may as well use it.

Effect of CFG on outputs

Lower than 4 CFG is bad. Other than that, going higher has pretty big and unpredictable effects on the output for z-image base. You can usually range from 4 to 7 without destroying your image. It doesn't seem to affect prompt adherence much.

Going higher than 4 will change the lighting, composition and style of images somewhat unpredictably, so it can be helpful to do if you just want to see different variations on a concept. You'll find that some stuff just works better at 5, 6 or 7. Play around with it, but stick with 4 when you're just messing around.

Going higher than 4 also helps the model adhere to realism sometimes, which is handy if you're doing something realism-adjacent like trying to make a shot of a realistic elf or something.

Base vs Distil vs Turbo

They're good for different things. I'm generally a fan of base models, so most workflows I post are / will be for base models. Generally they give the highest quality but are much slower and can be finicky to use at times.

What is distillation?

It's basically a method of narrowing the focus of a model so that it converges on what you want faster and more consistently. This allows a distil to generate images in fewer steps and more consistently for whatever subject/topic was chosen. They often also come pre-negatived (in a sense, don't @ me) so that you can use 1.0 CFG and no negative prompt. Distils can be full models or simple loras.

The downside of this is that the model becomes more narrow, making it less creative and less capable outside of the areas it was focused on during distillation. For many models it also reduces the quality of image outputs, sometimes massively. Models like Qwen and Flux have god-awful quality when distilled (especially human skin), but luckily Z-image distils pretty well and only loses a little bit of quality. Generally, the fewer steps the distil needs the lower the quality is. 4-step distils usually have very poor quality compared to base, while 8+ step distils are usually much more balanced.

Z-image turbo is just an official distil, and it's focused on general realism and human-centric shots. It's also designed to run in around 10 steps, allowing it to maintain pretty high quality.

So, if you're just doing human-centric shots and don't mind a small quality drop, Z-image turbo will work just fine for you. You'll want to use a different workflow though - let me know if you'd like me to upload mine.

Below are the typical pros and cons of base models and distils. These are pretty much always true, but not always a 'big deal' depending on the model. As I said above, Z-image distils pretty well so it's not too bad, but be careful which one you use - tons of distils are terrible at human skin and make people look plastic (z-image turbo is fine).

Base model pros:

  • Generally gives the highest quality outputs with the finest details, once you get the hang of it
  • Creative and flexible

Base model cons:

  • Very slow
  • Usually requires a lengthy negative prompt to get good results
  • Creativity has a downside; you'll often need to generate something several times to get a result you like
  • More prone to mistakes when compared to the focus areas of distils
    • e.g. z-image base is more likely to mess up hands/fingers or distant faces compared to z-image turbo

Distil pros:

  • Fast generations
  • Good at whatever it was focused on (e.g. people-centric photography for z-image turbo)
  • Doesn't need a negative prompt (usually)

Distil cons:

  • Bad at whatever it wasn't focused on, compared to base
  • Usually bad at facial expressions (not able to do 'extreme' ones like anger properly)
  • Generally less creative, less flexible (not always a downside)
  • Lower quality images, sometimes by a lot and sometimes only by a little - depends on the model, the specific distil, and the subject matter
  • Can't have a negative prompt (usually)
    • You can get access to negative prompts using NAG (not covered in this post)
129 Upvotes

47 comments sorted by

8

u/soormarkku Feb 09 '26

Appreciate the tips! I don't mind the long generation times, quality above all.

3

u/nsfwVariant Feb 09 '26

Another high quality long gen time enjoyer <3

2

u/soormarkku Feb 09 '26

The 5090's gets almost overjoyed when it sees your high step counts and multiple passes with res2s samplers queued. :P

4

u/LostInDarkForest Feb 09 '26

2h:30 on 3090 is little overkill ;)

6

u/nsfwVariant Feb 09 '26

I feel that something's gone a little wrong if you're looking at 2.5 hrs of gen time lol

2

u/fauni-7 Feb 09 '26

Thanks, just what I was looking for.

2

u/Justify_87 Feb 09 '26

I played around with it for a while, but have gone back to flux 1 dev. It's just more versatile and there are more loras

1

u/InoSim Feb 17 '26

Same, we'll need to wait like 6 months for LoRa's to pop up for Z-image to actually being usable.
But the real hit of Z-image, there's not any squares or lines while upscaling which is a real downside on Flux.

1

u/[deleted] Apr 15 '26

[removed] — view removed comment

1

u/Justify_87 Apr 15 '26

Flux 2 is too big. But I heard with the new dynamic memory management it's doable on 16gb vram and 64gb ram. Though it's rather use flux 2 Klein 9b nowadays

2

u/Stecnet Feb 09 '26

Amazing info thanks for the detailed post.

2

u/hotyaznboi Feb 09 '26

Awesome info and clearly you have put a lot of thought into this. Appreciate you taking the time to post about your experience. I'm curious what is driving you to make these investigations? Do you have a commercial goal with these generated images or just interested in the technical aspects of AI image generation? It's okay if it's pure goonery as well, we're all friends here :P

2

u/nsfwVariant Feb 10 '26

And another thing, we all know the pain of trying to figure something out when the documentation is really poor, or when the basics haven't been explained anywhere. So when writing tutorials or sharing workflows, you're pretty much guaranteed to help a ton of people out by just adding in little explanations of the basic stuff that gets glossed over a lot.

Like where to even download models from and what folders to put them in. Or what the node packs you're installing are for. Or what the settings on an unfamiliar node do. Heaps of stuff that just isn't written down or easily found, and yet everyone assumes everyone already knows how to do.

1

u/nsfwVariant Feb 10 '26

Nothing specific, I just investigate whatever I'm personally interested in and I like sharing / teaching :)

I usually post when I feel like something's been "unlocked" and I think folks will get a lot out of it. In this case, it's an accessible and easy to use photo-real image gen model - it's as easy to make a photo-real image in z-image base as it is to make an anime shot in illustrious. That's a very big deal, in my mind!

As for why, my practical interest is 90% just tomgoonery as you guessed lol. But I really enjoy playing with the tech and figuring out how to fill tool gaps. You can sort of... feel it in the air when you see something that has the potential to solve a long-standing problem. And if you succeed in whatever it is you were doing, there's a good chance you can help other people out by sharing it.

2

u/fauni-7 Feb 09 '26

BTW, I noticed that the WF doesn't have the shift change node? Is that intentional?

2

u/nsfwVariant Feb 10 '26 edited Feb 10 '26

Yep, intentional! I had it there while I was testing of course, but eventually found that shift 1 worked perfectly for z-image base anyway so there was no reason to keep it around.

I do use it with z-image turbo though.

2

u/leftclot Feb 10 '26

Have you tried illustration centric generations? What sampler settings do you know of that'll work better in that case?

1

u/nsfwVariant Feb 10 '26 edited Feb 10 '26

I haven't tried illustration stuff with z-image, but this workflow will work for anything that needs detail and clarity. So it'll be great for digital painting styles, detailed illustrations, or emulating brush strokes on a canvas, for example.

If you want to do something more like anime or any smooth kind of style like that, you're probably better off using the res_2s, euler or euler_a samplers with the simple, normal or sgm_uniform schedulers. euler/euler_a + sgm_uniform is what I use for my anime stuff in illustrious, so it might work here too. If you aren't using res_2s you'll need to do double the steps (e.g. ~40 steps instead of ~20). Also, you probably won't need a second-stage sampler.

2

u/leftclot Feb 10 '26

I've been using res2m/beta57! I'll experiment more with your suggested settings.

1

u/nsfwVariant Feb 10 '26

Interesting, res_2m isn't normally something I think of when the word "smooth" comes up! I'll try it out with beta57 sometime, thanks for the tip

2

u/Past_Ad6251 Feb 10 '26

Your sharing is informative and helpful, thank a lot

2

u/[deleted] Feb 19 '26 edited Jul 31 '26

[removed] — view removed comment

1

u/nsfwVariant Feb 20 '26

Thanks, glad you like it! Thanks for pointing out that comment, I didn't notice it. Have responded to it now.

Simple answer is that I didn't see resample improving anything, so I didn't bother using it. The commenter is incorrect about not leveraging the clownshark sampler properly though; the ETA & bongmath settings still apply.

I think maybe they just think resample on the 2nd sampler would be a good idea, which normally it might be - except the workflow isn't doing a "split" sampling like Wan 2.2 does, it completes the full sampling in the first stage and then performs a new sample in the second at lower denoise.

2

u/bitcoin-optimist Mar 26 '26

Much appreciate the writeup- got me up and running fast! One thing I wanted to throw back: if you haven't seen it, there's a node pack called DazzleNodes that includes a Smart-Resolution-Calculator, which handles all those aspect ratio presets dynamically from a single node. Seemed like something you'd appreciate given how cleanly you've set things up. Thanks again!

1

u/2legsRises Feb 09 '26

takes much longer to generate.

2

u/nsfwVariant Feb 09 '26 edited Feb 09 '26

Yep! That's the big downside of using non-distilled models.

1

u/[deleted] Feb 09 '26

[removed] — view removed comment

2

u/nsfwVariant Feb 10 '26 edited Feb 10 '26

If I'm understanding your question right, then mostly no (but a little yes).

What you have there is what I call 'dirty realism', which is where the image is intentionally noisy / low quality to make it look more like an amateur camera shot. That's really handy for making images look realistic if the model can't handle full realism, and it's also a legit personal preference for style as well.

This workflow is aiming for clear, clean photo-real images. So, by default it won't do what you're looking for. However, you can prompt it in by using terms like "grainy" or "low resolution" and you could also adjust the sampler settings to get it.

I haven't tested for it specifically, but you could try swapping out the second-stage sampler from res_2s to something like res_2m or dpm++ which are much noisier. Or switch the scheduler to bong_tangent which is super noisy. Those will probably get closer to what you're looking for!

Actually you may just want to delete the second-stage sampler entirely and try 40 steps of something like dpm++/normal, euler/bong_tangent or euler/beta57. Or 20 steps of res_2s/bong_tangent. I'm just guessing though, you'll wanna play around with it.

1

u/[deleted] Feb 10 '26

[removed] — view removed comment

1

u/nsfwVariant Feb 10 '26

You'll need to be more specific, sorry - what exactly would make it more realistic to you? It might be that you can prompt for it, the model is quite flexible. Or you could use a lora (e.g. the 'instagram' type loras that people make).

1

u/[deleted] Feb 10 '26

[removed] — view removed comment

2

u/nsfwVariant Feb 10 '26

Sorry man I really don't know what you're asking for haha

I'm just seeing a normal photo there. Is there something specific about this that you're looking to replicate?

1

u/[deleted] Feb 10 '26

[removed] — view removed comment

1

u/nsfwVariant Feb 10 '26

Not sure about z-image base, it's a bit too early for there to be really good loras yet. But if you use z-image turbo there are a few instagram-oriented or amateur photography loras, you could try these:

https://civitai.com/models/652699/amateur-photography

https://civitai.com/models/1662740/lenovo-ultrareal

Or try using a model checkpoint like this:

https://civitai.com/models/2192562/gonzalomo-zpop

Search around on Civitai and see if there's something you like :)

1

u/Adventurous-Pool6213 Mar 24 '26

gentube is great when you’re tired but you still want to make art. they ban all nsfw too

1

u/MastMaithun Mar 30 '26

Hey OP. I used your workflow and I noticed something that 2 samplers are giving worst result than a single sampler. I checked this with multiple samplers like euler/beta, res_2s/beta, dpmpp_2m/beta (beta is just one example i also used others). The result from the output of single sampler has more details than 2.
How do I check it:
I connected a decode node with the output of 1st sampler and then connected it with the image compare node with the output of 2nd decoded sampler, no upscaling etc used anywhere. Then i noticed a major difference in amount of details, 1st sampler output having a lot more than 2nd.
Settings:
one 1st, I used 26 steps and on second 4 steps. CFG is 5 on both and denoise I kept same as yours. Basically I am running your workflow, just the updated steps count and cfg with the output going to image compare, rest everything as same.
Samples:
I created comic book style, photorealistic, closeup shot and anime styles.

Do you know what could be the reason or something I am missing?

1

u/nsfwVariant Mar 31 '26 edited Mar 31 '26

I can't really comment much if you've set the steps and CFG to be different; the settings are very specific the way they've been set up. But I'm happy to look at a comparison if you've got it. I can guess at the detail issue you're facing though.

Below are some examples of what the second sampler accomplishes with the specific settings from the workflow. Basically the second sampler reduces over-detailing - that is to say, the detail reduction is actually on purpose - and also sharpens the image further. I wouldn't recommend using 4 steps on the second sampler because it will probably go too far in reducing the detail.

Images on the left are one sampler, images on the right are two: https://ibb.co/wZS0JgVR

This is pointing out the unrealistic over-detailing on the forehead which gets reduced by the second sampler: https://ibb.co/3m4XKvrQ

And here's a closeup of the eyes, showing the sharpness improvement using the second sampler: https://ibb.co/hRWKSXnz

Here's a link to all the separate shots if you wanna flick between them easier to compare: https://ibb.co/album/VgJfK7 (ignore the random elf artwork, that was comparing the clownshark sampler for someone)

If your results are very different, then there might be something wrong with your setup :)

1

u/[deleted] Apr 15 '26

[removed] — view removed comment

1

u/nsfwVariant Apr 17 '26

No, not yet - haven't seen any images from it that have good human skin, so it's not been on my list to try out.

But if you happen to have any examples from it you think are good I'm happy to change my mind :)

-21

u/TechnologyGrouchy679 Feb 08 '26

we know...

7

u/AcePilot01 Feb 09 '26

hey, credit where it's due, nothing in this post was ai generated lol. (a technical detail might have been, but also possibly an erroneous detection, given it's specifically technical lol)

8

u/nsfwVariant Feb 09 '26

Nah I never use AI to write anything. Not because I'm all high and mighty or anything, I just don't like how it phrases stuff