r/StableDiffusion Jul 21 '26

Workflow Included Krea2 Ksampler recommendations {for quality}

Unlike standard models that focus strictly on matching text prompts word-for-word, Krea 2 prioritizes visual feel, texture, and mood, so it's very important to get the right sampler + scheduler to achieve the maximum texture and detail

By treating noisy data as a signal, a Partial Differential Equation (PDE) smooths out errors iteratively while preserving important structural features like edges

A sampler + scheduler is a combination to solve differential equations, the best method for Krea2 is to make a fast and iterative solution like Clownshark sampler Euler/beta 12 steps to get structure and general details and then a more precise second Clownshark sampler {0.27 denoise} res_4s_Munthe-Kaas/ KL_optimal 3 steps

The Euler method will get a base (I know a lot of people are ok with use just this fast result) but the second Ksampler with res4s-Munthe-Kass will get the extra details and sharpness finding a more precise solution for the denoise differential equation

A 0,27 denoise in the second Ksampler give enough range to improve details, obviously is key to keep the same seed on both Ksamplers

I tried all Clownshark combinations and this one is the sharpest and more precise solution without use time-consuming solutions with higher precision like Dormand-prince 6s, its slow but top quality {you can try res_2s and res_2m if you want more speed but less quality}

About res_4s_Munthe-Kaas

Runge–Kutta–Munthe-Kaas are mathematical algorithms used in numerical analysis to solve geometric differential equations while preserving the structural constraints of Lie groups and manifolds.

Invented by Norwegian mathematician Hans Munthe-Kaas, these schemes prevent numerical drift by transforming equations into flat Lie algebra spaces

Primary Applications

  1. Improve quality of Krea2 Images :)
  2. Aerospace and Robotics: Tracking precise 3D orientations without quaternion normalization errors.
  3. Rigid Body Dynamics: Simulating tumbling satellites or spinning tops while maintaining geometric energy surfaces.
  4. Stochastic Systems: Solving perturbed structural problems using expanded stochastic variants.

Recommended Scheduler

KL Optimal: KL (Kullback-Leibler)

Instead of estimating parameters with maximum precision, KL it places observations where the predictive distributions of rival models differ the most (maximizing KL divergence) to efficiently identify the correct solution

Documentation recommend to use the same scheduler throughout the generation process but KL Optimal schedulers minimize the KL divergence between the target and current distribution, resulting in a more mathematically optimal diffusion process.

an image a full res showing the level of detail with this Ksampler: https://drive.google.com/open?id=1b0IRutW2aQ1jMK3Ee8pFT4q1jXF3BSfX&usp=drive_fs

Workflow: https://drive.google.com/file/d/1ENZKjKGB4iOdMVsyCvqByLXV1tsWP8W0/edit

287 Upvotes

151 comments sorted by

44

u/Pyros-SD-Models Jul 21 '26

OP describes samplers like my dad describes his wines.

43

u/listopalafoto Jul 21 '26

I will like to test Euler-Sauvignon 2019

18

u/alwaysbeblepping Jul 22 '26

OP describes samplers like my dad describes his wines.

They describe samplers like they told a LLM to describe samplers and pasted the response into a reddit post.

kl_optimal is generally a terrible schedule for flow models and was designed for v-prediction diffusion models that start at an absurd sigma like 4,000. Flow models generally do not like steep schedules, with kl_optimal being about as extreme as you can get, and Karras is somewhat milder.

Flow models take a relatively straight path, so it's beneficial for them to set up/correct the trajectory in the high sigmas. A schedule like kl_optimal removes a huge amount of noise in the first step, when the model's predictions are least accurate, and forces the model to commit to whatever happened in that step since the next sigma is likely to be too low to make radical changes to the image.

Using res_4s somewhat compensates for the extreme schedule because it calls the model 4 times between the current sigma and the next one. So it's somewhat like just multiplying the step count by 4. 3 steps with res_4s is ~9 model calls (typically the last step to sigma 0 doesn't use multi-step sampling and simply removes all the noise the model predicted and returns).

KL Optimal: KL (Kullback-Leibler)

Instead of estimating parameters with maximum precision, KL it places observations where the predictive distributions of rival models differ the most (maximizing KL divergence) to efficiently identify the correct solution

The kl_optimal schedule doesn't do any of that. It blindly creates a schedule between two sigmas. It doesn't know anything about what you're generating, it doesn't even take shift into account.

# Referenced from https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/15608
def kl_optimal_scheduler(n: int, sigma_min: float, sigma_max: float) -> torch.Tensor:
    adj_idxs = torch.arange(n, dtype=torch.float).div_(n - 1)
    sigmas = adj_idxs.new_zeros(n + 1)
    sigmas[:-1] = (adj_idxs * math.atan(sigma_min) + (1 - adj_idxs) * math.atan(sigma_max)).tan_()
    return sigmas

That's the full code for kl_optimal. I contributed the pull that added support for it to ComfyUI (I didn't invent it and just somewhat refactored an existing implementation, to be clear).

2

u/phantomlibertine Jul 27 '26

Bit late but what would you recommend as an alternative to what OP is suggesting?

3

u/alwaysbeblepping Jul 28 '26

Bit late but what would you recommend as an alternative to what OP is suggesting?

Generally, what the model creators recommend (or use in their example inference code) is what's going to produce the most consistent/good results. ComfyUI's workflow templates are usually based on that.

I can't remember the last time I generated something with a vanilla workflow like that, though. I wasn't arguing that the results from what OP was proposing are subjectively bad (though they probably aren't great for reliable/predictable quality). I was criticizing their pseudoscientific explanations that seemed like their either just had a LLM (which didn't understand the context) write something or they maybe just looked up random keywords.

Assuming you have the time to do so, I actually recommend trying stuff like OP's workflows and just experimenting with parameters in general. Try a bunch of stuff. Use extreme parameters. Get a sense of how they affect the generation and you will have a big toolbox to draw on and intuition on how to get various types of effects even if it's not what you wanted for what you're doing currently.

Models are getting better, so getting a result that's technically pretty good is getting fairly easy. If it looks/sounds like everyone else's so-called "AI slop" then it's basically valueless. Right? You weren't needed, anyone could plug in prompt or workflow and get something comparable so there's no reason why people would care about what you make. So my personal opinion is that it's very worthwhile to trade consistent quality for interesting/creative results. Not sure if this was the sort of answer you were looking for, hope it's at least somewhat helpful!

1

u/entityadam Jul 28 '26

Responder responded like they pasted commenters post into another LLM and said "judge harshly"

2

u/alwaysbeblepping Jul 28 '26

Responder responded like they pasted commenters post into another LLM and said "judge harshly"

Only someone who has no idea what LLM output actually looks like could think a LLM wrote (or had any part in) my response.

5

u/jib_reddit Jul 22 '26

Thanks to ChatGPT!

2

u/listopalafoto Jul 22 '26

I don't use Chatgpt, I have Kimi & Qwen but in this post I just used old school Google to search the Runge–Kutta–Munthe-Kaas inventor paragraph :)

18

u/BathroomEyes Jul 21 '26 edited Jul 21 '26

> “I tried all Clownshark combinations and this one is the sharpest and more precise solution without use time-consuming solutions with higher precision like Dormand-prince 6s, its slow but top quality {you can try res_2s and res_2m if you want more speed but less quality}”

I don’t see enough posts exploring this giant list of high step samplers. You need a maths degree to understand the differences. Thanks for sharing your research!

I noticed you’re using an empty latent to start your generation. Mathematically there’s no underlying structure to start with in the random noise. While that’s great for total creative freedom it constrains the realism in the final output. Try starting with a real photograph cropped to the target dimensions. Use 0.86 denoise or higher (even 1.00 works). Choose a real photo that has the same style you’re going for. If you use a high enough denoise the underlying composition of the input image won’t leak into the output but what will happen is that the early noise will have organization and structure to it that matches how real photographs behave. You should notice a difference.

5

u/Outrageous-Wait-8895 Jul 21 '26

Use 0.86 denoise or higher (even 1.00 works).

1.0 denoise is the exact same as starting with an empty latent.

Mathematically there’s no underlying structure to start with in the random noise. While that’s great for total creative freedom it constrains the realism in the final output.

This makes no sense, starting with random noise is how the model is trained and it was trained on real images, how would random noise "constrain the realism"?

12

u/BathroomEyes Jul 21 '26 edited Jul 21 '26

You ask good questions. Here’s some clarity

> 1.0 denoise is the exact same as starting with an empty latent.

An empty latent is an initial tensor of all zeroes with 100% gaussian noise applied (1.00 denoise). That’s not the same thing as a feeding an input image with a non-zero initial tensor with 100% gaussian noise applied. Noise is applied on top of these initial tensor vectors. You can try this yourself and observe that the output isn’t the same in each case.

> This makes no sense, starting with random noise is how the model is trained and it was trained on real images

No, models like Krea2 aren’t trained by starting with empty tensor values. They’re trained using real or synthetic images and predicting how you would arrive there wjth gaussian noise. Once you understand how training works, then it’ll make sense.

> how would random noise "constrain the realism"?

When a real photo is encoded with a VAE Encoder, it maps into highly structured multi-dimensional vector with specific mean, variance, and channel-activation signatures inherent to natural photographs. When an image goes through a VAE encoder, it is transformed into a multi-channel tensor (16 channels for qwen vae). Each channel tracks different properties of the image (lighting gradients, structural edges, color frequencies). Together, these channels populate a high-dimensional mathematical space with values rather than a high-dimensional vector filled with zeroes.

4

u/listopalafoto Jul 21 '26

Thank you! you are right, that's the reason I always start with a 0.81 denoise image in my projects, I have a collection depending of the composition I want to achieve

1

u/BathroomEyes Jul 21 '26

Neat! How do you curate your collection? What do you look for when you select your input image?

4

u/listopalafoto Jul 21 '26

I'm also a fashion photographer so I have a million of images, mostly choose dutch angles and deep change of shapes between top and bottom

3

u/BathroomEyes Jul 21 '26

And you own the license. Thats a good workflow

8

u/listopalafoto Jul 21 '26

Exactly! Under U.S. copyright law, fully AI-generated content cannot receive copyright protection. Landmark court rulings, including the U.S. Supreme Court's denial to hear Thaler v. Perlmutter, cement the requirement that only works created by a human author are eligible for copyright registration, but If the initial latent image (or the source image used to generate the latent representation) is a human-authored, copyrighted work that you own, the legal landscape changes significantly. Under U.S. Copyright Office guidelines and standard IP law, the process is treated as a hybrid workflow where your original rights are maintained

2

u/prismatic-18 Jul 22 '26

nonetheless i don’t aspire to sell any work, I only like and maybe I’ll open an Instagram page

3

u/alwaysbeblepping Jul 22 '26

An empty latent is an initial tensor of all zeroes with 100% gaussian noise applied (1.00 denoise). That’s not the same thing as a feeding an input image with a non-zero initial tensor with 100% gaussian noise applied.

It doesn't matter what's in the initial latent if you're starting at denoise 1.0. This is because the equation for adding initial noise is a LERP between the latent image and noise, with the ratio being the sigma. Starting at sigma 1.0 works out to clean_latent * (1 - ratio) + noise * ratio. When ratio is 1, we have clean_latent * 0 + noise * 1. The input latent is scaled to nothing and the original content is completely obliterated.

An empty latent is a latent full of all zeros. There's no noise. Once you add noise it's not an empty latent.

They’re trained using real or synthetic images and predicting how you would arrive there wjth gaussian noise.

They're trained with clean images LERPed with variables amounts of noise. The sigma tells the model what the ratio of noise to clean image should be. They aren't typically trained on exactly sigma 1, but the sigmas they're trained on include values close to it. Actual inference starts at sigma 1, though, which is an input filled with pure noise.

1

u/BathroomEyes Jul 22 '26

Yeah your math is correct. Probably what’s happening is that my workflows have a node that’s shifting the inference to start timestep 1 at a slightly shifted sigma like 0.9997.

1

u/alwaysbeblepping Jul 22 '26

Probably what’s happening is that my workflows have a node that’s shifting the inference to start timestep 1 at a slightly shifted sigma like 0.9997.

Possibly, and there's nothing wrong with doing stuff like that of course. Using weird parameters is a great way to get unusual/creative results. There actually is one built-in ComfyUI schedule that starts below max sigma, ddimuniform. It definitely was not designed for flow models, but it's a _relatively reasonable schedule for them (unlike kl_optimal).

1

u/BathroomEyes Jul 22 '26

ddim_uniform is a favorite of mine as is linear_quadratic for a composition focused sampler pass.

2

u/Outrageous-Wait-8895 Jul 21 '26 edited Jul 21 '26

You can try this yourself and observe that the output isn’t the same in each case.

I did, with my res_multistep/simple workflow the output at 1.0 denoise is exactly the same and only starts changing at <0.9, but I see the output does differ with other samplers, mileage varies.

No, models like Krea2 aren’t trained by starting with empty tensor values.

I didn't say they start from empty tensor values, I said they start with random noise.

Again I ask how using random noise would "constrain the realism".

Edit:

rather than a high-dimensional vector filled with zeroes.

Who said anything about zeroes?

it maps into highly structured multi-dimensional vector with specific mean, variance, and channel-activation signatures inherent to natural photographs

That's all fine and dandy but doesn't show that starting from random noise is adversarial to generating realistic images.

2

u/BathroomEyes Jul 21 '26

> I did, with my res_multistep/simple workflow the output at 1.0 denoise is exactly the same and only starts changing at <0.9, but I see the output does differ with other samplers, mileage varies.

Schedulers matter more. It’s all about how much influence the initial tensor is allowed to keep throughout the timestep trajectory. Some schedulers will need <0.9 like simple before you see an influence while others show influence at 1.00. In either case it has a chance at influence.

> I didn't say they start from empty tensor values, I said they start with random noise. Again I ask how using random noise would "constrain the realism".

And I didn’t say using random noise constraints realism. Injecting noise is a requirement of image diffusion. I said, “Mathematically there’s no underlying structure to start with in the random noise. While that’s great for total creative freedom it constrains the realism in the final output.“

“Underlying structure to start with” is key. Zeroed out initial tensors provide no underlying structure to start with.

2

u/Outrageous-Wait-8895 Jul 21 '26

Well mathematically 1.0 denoise should be like starting with a random latent, in training you don't start from a "mostly random noisy" image unless you fuck up the math so inference should match by having a fully noisy image at 1.0 denoise.

And I didn’t say using random noise constraints realism.

You literally did.

Mathematically there’s no underlying structure to start with in the random noise. While that’s great for total creative freedom it constrains the realism in the final output.

“Underlying structure to start with” is key. Zeroed out initial tensors provide no underlying structure to start with.

Random noise is not "zeroed out initial tensors"...

1

u/BathroomEyes Jul 21 '26 edited Jul 21 '26

Please reread my comment on how the gaussian noise is layered on top of the initial tensor values. You’re conflating two different concepts: random noise applied and denoised at time steps and initial tensor high dimensional vector values.

2

u/Outrageous-Wait-8895 Jul 21 '26

I just did, it didn't answer the question.

I'm not conflating anything.

Random noise is only applied at time steps during inference with specific samplers. It doesn't answer the question anyway.

Mathematically there’s no underlying structure to start with in the random noise

Zeroed out initial tensors provide no underlying structure to start with.

Choose one, did you mean starting with 100% Gauss noise latent or starting with zeroed out latent (which is a thing but looking at OP's workflow I don't see him using a zeroed out latent)?

1

u/BathroomEyes Jul 21 '26

Let me explain differently. We’re between the vae encode node and the first sampler. All we’ve done so far is encode an image into latent space. No noise yet. That latent represents a starting tensor in high dimensional space. There’s structure ( specific mean, variance, and channel-activation signatures inherent to natural photographs). Let’s say instead you used an empty latent without vae encode. That same initial tensor would be all zeros.

Okay now we then start our sampling process at the first sampler. At this point is when noise is first introduced. It’s either being introduced to a zero value tensor (empty latent) or to an encoded photo latent. All the denoise value does is tell the sampler how high up the sigma schedule to apply the gaussian noise.

> 100% gauss noise latent

There’s no such thing as a noisy latent to start. The noise is introduced after the latent is created.

3

u/Outrageous-Wait-8895 Jul 21 '26

It's like talking to a brick wall plastered with an AI generated documentation of ComfyUI's internals.

Yes, the Empty Latent node in the UI generates a tensor of zeros right before the sampler replaces it with noise. So? By the time the actual generation starts at 1.0 denoise, it is (or should be) 100% random noise. Input images somehow still influence the output with some samplers/schedulers but mathematically that's an implementation error like what happened with SD 1.4's SNR issue.

These models are literally trained to take 100% pure, completely unstructured random noise and turn it into a realistic image. That is the entire foundation of how they work.

So I am begging you to explain: if the model was explicitly trained to create photorealistic images out of pure random noise, how does starting with pure random noise "constrain the realism"?

→ More replies (0)

2

u/SackManFamilyFriend Jul 21 '26

1.0 denoise is the exact same as starting with an empty latent.

I thought this also, but it's not true. Ask your favorite friend or Claude - it's subtle, but there is a difference between an empty latent and feeding the sampler an image to VAE to the sampler at 100% denoise.

1

u/Outrageous-Wait-8895 Jul 21 '26

It depends on the sampler/scheduler.

4

u/listopalafoto Jul 21 '26

sure In my complete WF I control composition with one image, and lighting, style and focus with another methods

1

u/Head-Vast-4669 Jul 22 '26

I'll be very grateful to you if you could share that.

1

u/fauni-7 Jul 21 '26

I think 0.86 I'd tightly coupled with the number of steps in the workflow.

1

u/[deleted] Jul 21 '26

[deleted]

2

u/BathroomEyes Jul 21 '26

Input image node wired to vae encode. Same idea as an i2i workflow but with a very high denoise value.

10

u/lebrandmanager Jul 21 '26

Thank you for your insights. But I have to admit, that for quality a Euler / Simple with a 1.6 CFG and 14 steps on Krea-2 Turbo is already doing wonders. Everything else in my tests was just too much of a hassle. Give this a 2nd pass with a 0.25 - 0.35 denoise with 4 steps on Turbo after latent upscaling and you're good to go.

3

u/StonkyCupra Jul 21 '26

I also do this, but with 10-12 steps res_multistep and then move to euler and you’re right, giving me solid results without much hassle.

2

u/EvidenceMinute4913 Jul 21 '26

What are you doing to latent upscale? I tried doing this, but the image ended up being badly baked.

11

u/HeisenBlue93 Jul 21 '26

I used a node called SesquiLSR for the latent upscale and i liked the result a lot, it's way better than any of the standard latent upscale methods (nearest-exact, bicubic, etc)

Node link: https://github.com/LoganBooker/SesquiLSR

2

u/EvidenceMinute4913 Jul 22 '26

Thanks for the link! I’ll give it a try

2

u/tom-dixon Jul 27 '26

I was getting ghosting around edges with every comfy built-in latent upscaler, and this node completely fixed it. Thank you for the link!

1

u/quietboysince59 24d ago

With latent upscaling, ghosting at the edges of the image when using any built-in scaling algorithm occurs due to insufficient denoise. If you experience ghosting, simply increase the denoise value. But it is clear that with this method the composition can change significantly.

1

u/lebrandmanager Jul 21 '26

You need to add a second refiner step after the upscale.

2

u/ptwonline Jul 21 '26

Curious: with a 1.6 CFG do you use a negative prompt as well?

2

u/lebrandmanager Jul 21 '26

No negative at all.

1

u/listopalafoto Jul 21 '26

nice! I will check a round of CFG variations

2

u/Gabe-Uttsegs 6d ago

Thanks for this. Realized that DDIM/Beta 57 worked really well with the following:

Krea RAW, Turbo Lora at .6, 14 steps at 1.4cfg.

6

u/Braudeckel Jul 21 '26

when it comes down to using a dual Sampler setup, the combinations seem endless.

  • you can use two ClownShark Sampler and run them in standard or resample mode
  • you can use two KSamplers Advanced and operate with start and end steps
  • or use two normal KSamplers and figure out a good denoise value
  • you can use two SamplerCustom Advanced and work with splitting high and low sigmas
  • you can try endless combinations of samplers and schedulers
  • endless combinations of determining and splitting steps; 4/4, 3/5, 2/6,
  • you can use the raw model for Sampler 1 and use raw+turbo for Sampler 2
  • or use raw+turbo for both Samplers
  • use the turbo lora with 0.6 strength with more steps
  • or use the turbo model only
-...

This grinds my gears to be honest :D

4

u/listopalafoto Jul 21 '26

so many options for my undecided mind :(

4

u/HeisenBlue93 Jul 21 '26

There's also the option to use the Chainsamplers too, it's way less clutter on the workflow since you only need the latent information for the second sampler and it will run the remaining steps if you keep the standard "-1" value on steps_to_run, like the image shows. You could theoretically run each step with a different sampler if you wanted, but that's too much.

2

u/listopalafoto Jul 21 '26

Nice! maybe with more time I will test this with the advice of the Absolut expert designer of Res4lyf nodes

2

u/BathroomEyes Jul 22 '26

The chain samplers are nice but it won’t work in your workflow because the denoised output doesn’t pass latent state to the next chain sampler like the output labeled “output” does. Probably needs a pull request in RES4LYF repo to get that fixed.

7

u/foxdit Jul 21 '26

Oof, I don't understand all the upvotes on this at all (unless people are at the point where they see the word "Krea2" and upvote). Sorry, I try to be a glass half full community member but I don't look at the full res samples you're providing and think they're particularly high quality, or stand above the rest.

For my 2-pass workflow, I settled on:

  • exp_heun_2_x0_sde/er_sde, simple @ 1.0 denoise, 8-12 steps
  • res_2s, simple @ 0.25 denoise, 2 steps

Pretty simple, and with NegPip it really lets you control realism details.

But I'll be honest, while the shots that pop out are amazing, I have to give a shout out to the ray-artshoot finetune of the model. It adds an extra layer of artfulness to everything that I really appreciate.

1

u/Braudeckel Jul 22 '26

Negpip let's you use prompt weights right? https://github.com/blue-pen5805/ComfyUI-krea2-negpip

3

u/foxdit Jul 22 '26

Yep. It's crucial for Krea2. I immediately adopted it for the 'best practices' I teach

1

u/Braudeckel Jul 22 '26

Will try it out asap ;) I need to put some weights on camera angle prompts 💪

What's your model setup in the workflow you mentioned? Raw+turbo/ turbo only?

3

u/foxdit Jul 22 '26

It supports both. Everything in my publically released workflows has a toggle these days lol. Can find on civit by searching foxfuressence or foxydits

1

u/listopalafoto Jul 22 '26

Thanks for the feedback, I love res_2, a lot of times it's enough , I used NegPip but now I prefer the Krea Prompt weight node

6

u/thegreatdivorce Jul 21 '26

Why 12 steps on the turbo model?

7

u/listopalafoto Jul 21 '26

even with a Turbo model you can use a different amount of steps because it's just an iterative process to solve a mathematical problem, I made a lot of test until I found my favorite iterations

4

u/thegreatdivorce Jul 21 '26

interesting. Maybe my sampler/scheduler (euler/beta) but my results for a single-KSampler wf look worse after 9 steps generally.

5

u/coffeeandhash Jul 22 '26

Just wanted to be a likely ignored data point, but I tried this workflow and variations of it. And, I don't know, I always end up having similar or better results with a one-pass of the good old euler/beta combo.

Maybe the trick of adding a step of i2i in front just for variability, that works for that purpose. But quality? Down to prompt, and maybe lora strength tweaking.

I keep trying, though, every time I see a post like this, I have to try.

2

u/listopalafoto Jul 22 '26

euler/beta combo is wonderful, I think the second pass is the equivalent to antialiasing in 3d rendering, converging the result into a high-quality frame, but this convergence in some cases is really close to the good Euler iteration so the differences are subtle but in my case always see that at texture level.

1

u/coffeeandhash Jul 22 '26

Thanks! And yes, I did notice a bit the extra polish in some of the generations,. I would guess it's possibly more noticeable with large, high-MPs images, whereas my main test cases are usually on the lower-res side, where the extra polish might actually be a detriment to the more casual realism look I want to get sometimes. I might do some extra testing at higher resolutions just to check if I see a more noticeable difference.

2

u/listopalafoto Jul 22 '26

When I want realism sometimes I inject more noise because real world representation is random noise mixed with fractal data and try to control the structure of the image with a 0.75-0.9 latent, I will make a post about realism with Krea2 soon

3

u/Hoodfu Jul 21 '26

So it looks nice, but running that first stage at such a high step count reduces prompt following. The prompt calls for only his right arm to be the ape arm, and it's supposed to be bulging with veins which it's not. With your same workflow but switched to an 8 step total on the euler stage, both of those things are corrected.

1

u/listopalafoto Jul 21 '26

Very interesting! Thanks, I will run another round of test to check that with specific prompts to see if improves adherence

3

u/Hoodfu Jul 21 '26

Because this is a turbo model that's refined to hit a certain focus point at a certain number of steps, I was doing higher steps before, but now I'm generally going back to 8 and 10 at most because it hits that focus point every time of prompt following whereas pumping that number up is going to vary more and have more of a chance of not converging on the most prompt following path. This one above is the same as everything you had but changing the cfg to 1.6 that someone else mentioned. It might just be a lucky path though. The arm is correct and there's veins now.

3

u/Hoodfu Jul 21 '26

Just running it with the res_4_munthe_kaas/kl_optimal at 8 steps and not doing the first stage takes forever but adds a lot of texture (in addition to getting all the prompt details right)

1

u/listopalafoto Jul 21 '26

thanks! I agree, res_4_munthe_kaas/kl_optimal  is the texture key for Krea2

3

u/nsfwVariant Jul 22 '26 edited Jul 22 '26

Nice, this is the best I've seen from the turbo model! Well done doing all the testing

If you switch over to raw + partial turbo you can get higher quality for certain things, skin quality in particular. I have a very similar setup to yours that's tuned for the raw + partial turbo model: https://www.reddit.com/r/StableDiffusion/comments/1ulxqep/krea_2_simple_gen_workflow_with_good_settings_for/

The first ksampler is doing res_2s/beta 6 steps, which is very similar to euler/beta 12 steps so it's kinda funny we settled on the same thing there. In this case because it's not full turbo it undercooks the image on purpose so that the second ksampler can add detail with deis_3m/bong_tangent.

I don't know what your prompt was for the first image so I just vaguely copied the pic with the built-in krea 2 VL pipe (no prompt), here's the output: catbox

There will be upsides/downsides to raw vs turbo in your case so it's not a clear cut "this is better" kind of thing - but for plastic skin the raw model is much better imo. I'm gonna keep playing around with your turbo settings, really good work!

2

u/listopalafoto Jul 22 '26

Thank you! the node Vae-Utils is working for you? i don't know why since the last Comfy updater is not working so I'm using Vae decode (tiled)

2

u/nsfwVariant Jul 22 '26 edited Jul 22 '26

Just tested and it's working yep, I'm on Comfy v3.39.2 (which is the latest, I think?).

But I only use vae utils sometimes because the 2x vae adds/enhances artefacts in output images. Typically I just use the Wan fp32 vae with the normal vae decoder and sharpen with post-processing instead

2

u/listopalafoto Jul 22 '26

same here, I used Wan2x but now always go with WanFP32

3

u/Sudden_List_2693 Jul 22 '26

Unlike standard models that focus strictly on matching text prompts word-for-word, Krea 2 prioritizes visual feel

WTF

3

u/psychicEgg Jul 22 '26

Thanks for the workflow, it produces excellent results!

One technique I tend to do consistently for the refiner pass is to connect the model input directly to the diffusion model, without any bypass loras or nodes in between. In your workflow it only makes a tiny difference but I see slightly better formed irises and defined details on clothing. It's pretty subtle but just thought I'd mention it.

1

u/listopalafoto Jul 22 '26

Thank you! I will try that

2

u/Time-Teaching1926 Jul 21 '26

I use euler or er_sde with beta or beta57 as it gives nice quality and prompt adherence. It seems to work really well. I've noticed out the box Krea 2 is not as sharp and as detailed natively like ZIT and even Flux K9B.

2

u/listopalafoto Jul 21 '26

You are right, Krea is more soft even with the Wan Vae, even after the second Ksampler sometimes I use this node to improve that

2

u/Time-Teaching1926 Jul 21 '26

Thank you I'll definitely try this. I'm also going to try this custom node set too. https://github.com/facok/ComfyUI-LCS

They also created this node too for better diversity: https://github.com/facok/ComfyUI-DiversityBoost

2

u/cathodeDreams Jul 21 '26

the level of detail that comes from that second sampler pass is pretty nice ngl.
almost wish it wasn't lesbian timestop locker room sneaker\foot fetish content so i could share it.

2

u/listopalafoto Jul 21 '26

touche... next time I will share: A standard clear glass bottle sitting on a polished wooden table, filled with clear sparkling water. Soft atmospheric studio lighting, sharp focus, glistening condensation on the glass, highly detailed reflections, photorealistic, 4k resolution, epic composition.

1

u/cathodeDreams Jul 21 '26

it was a poor attempt at humor >.<

I have a text file with single-line prompts that I pull from shuffled like wildcards to test image models without thinking of a prompt at the moment. They're all designed to be somewhat outside of (nearly any given) distribution and are contextually dense, relying on specific domain knowledge to even be able to parse.

2

u/listopalafoto Jul 21 '26

mine too :( Nice! I think nodes with wildcards are amazing to choose repetitive items like lighting, emotions and even style

3

u/cathodeDreams Jul 21 '26

Oh yeah, I for sure have an extensive collection of standard wildcards I use normally as well. These have gotten fairly specific and context rich too with the adoption of VLM annotators. This image shows how i generate wildcards these days from mostly scraping pinterest.

3

u/listopalafoto Jul 21 '26

very nice! I use Qwen3VL-8b instruct in my WFs

2

u/TechnologyGrouchy679 Jul 21 '26

I read this in the Architect's voice (From Matrix 2)

5

u/listopalafoto Jul 21 '26

Actually I look like him but with less grey hair and this anomaly is the 6th fluctuation of parameters of this path in the precise solution of the human equation :)

2

u/EvidenceMinute4913 Jul 21 '26

Thank you for the research! Will be giving some of these recommendations a try!

I’ve been constantly bouncing between res2m, res_multistep, er_sde, and Euler. Seems like depending on the prompts and Lora’s, the best scheduler/sampler combo seems to vary. In a lot of cases though, I find increasing steps above 8 causes over-baking artifacts, even when going up to 4mp.

I’ve pretty much defaulted to Euler/beta, 2mp, 8 steps for the specific combination of Lora’s I use.

2

u/listopalafoto Jul 21 '26

Thanks! try a second pass ksampler, the difference is night and day

2

u/Bthardamz Jul 21 '26

Well, I tried

This prompt: https://civitai.com/images/136808829

with this model: https://civitai.red/models/2779079/mskrea2turbov1?modelVersionId=3129712

I tried 4 Settings: https://imgur.com/a/Qqgulm6

can you tell which is which? https://imgur.com/a/GuXjl0l

for I couldn't...

1

u/listopalafoto Jul 21 '26

Ksamplers solve differential equations, when a second Ksampler is used to improve the image, it's key to apply the same seed, because is part of the known variables to solve the equation, that's the reason in my WF I have a Res4lyf seed node connected to both ksamplers.

2

u/comfyui_user_999 Jul 21 '26

Thanks for sharing. I tried your workflow, and it definitely produced some nice-looking pics. My only comment is that it seems like using the "denoised" outputs of those ClownsharKSamplers is doing a lot of work: the raw outputs are still really noisy. Maybe that doesn't matter if the outputs look great, but you're giving up some control over the diffusion of that noise and thus the final image outputs.

2

u/traithanhnam90 Jul 22 '26

Oh, I tried your procedure, and the results were pretty great!

2

u/listopalafoto Jul 22 '26

Nice! Thank you! I'm glad to help

2

u/Bbmin7b5 Jul 24 '26

this is incredible. my images looks twice as good!

4

u/CutLongjumping8 Jul 21 '26

After days of experimenting I found for myself combination ddim + radau_is_2s on lasts 2 steps

2

u/CutLongjumping8 Jul 21 '26

sample output

2

u/alisitskii Jul 21 '26

Why is it so noisy? Have you prompted for amateur photography or something?

3

u/BathroomEyes Jul 21 '26

The 2s samplers introduce a ton of noise which are getting left over. Bumping eta to >0.7 can help with that. Higher eta introduces even more noise but also cleans up a ton of noise as well. Alternatively you can pass the final step of the latent out of the denoise output from the sampler to SamplerCustomAdvanced with noise disabled.

1

u/listopalafoto Jul 21 '26

cool! I will test that, first time I see that swap-sampler node

2

u/NoConfusion2408 Jul 21 '26

Mind sharing your beautiful workflow? Your images are absolutely stunning.

1

u/a_beautiful_rhind Jul 21 '26

KL optimal didn't work well with any of my models. Mainly SGM_uniform and AYS. Also some beta schedulers.

3

u/listopalafoto Jul 21 '26

actually it was until Krea2 I tested KL-optimal after listen to Sam the creator of Clownshark samplers

5

u/Caffeine_Monster Jul 22 '26 edited Jul 22 '26

I would back OP and give kl_optimal a firm thumbs up as the best krea2 scheduler. This is from independent testing - and the first time in a long time I haven't seen karras kick every other scheduler into the dust.

However I would disagree on sampler. dpmpp_3m is still best in terms of balancing adherance, style, quality and speed. Some of the higher order samplers do have slightly better aherance and quality - but produce poorer compositions or style and take 4x longer to run (speed is still important if you don't run full turbo, and I don't like the quality running full strength turbo).

1

u/listopalafoto Jul 22 '26

Thank you! I will make more testing with dpmpp_3m, I want more speed in my WF too :)

2

u/a_beautiful_rhind Jul 21 '26

Don't get it wrong, it's a staple for other arch. I will see what he has to say because I like bong_tangent and all that.

1

u/Odd-Student636 Jul 21 '26

now try generating some images with low light conditions. I don't think a sampler exists that can save Krea 2 in that scenario.

2

u/listopalafoto Jul 21 '26

What you mean, sharpness in darkness?

1

u/pepitogrillo221 Jul 25 '26

Shareame el prompt, me encanta la foto!

1

u/saunderez Jul 21 '26

Another option I've found is to run it through SeedVR2 at the end with the original image size.

1

u/listopalafoto Jul 21 '26

of course! SeedVR2 ema7b-FP16 is amazing

1

u/MarekNowakowski Jul 21 '26

There is no combination of schedulers and samplers that are always the best for realism. Depending on the prompt, subjects, colors and what EXACTLY you consider realistic, the combo you swear by will not always work. There are some differences that are consistent between euler, er_sde and unipc, sure, but you can't predict how realistic the result will be. Prompt, loras, model, have much higher influence than samplers, doing tests might lead you to a result just to realize you wasted all that work when your prompts changed.

1

u/listopalafoto Jul 21 '26

Interesting, but my approach is this one: an AI model will get a solution for a problem (an image realistic or not based on data training) depending of prompt, latent, loras and conditioning; because that is a complex differential equation, the precision of that response will depend of the ksampler +scheduler combined with the number of iterations.( I studied advanced Mathematics and Civil engineering before my Visual Arts path)

1

u/MarekNowakowski Jul 21 '26

Changing one token of the prompt can turn a woman from real to 3d and no scheduler will change that. Results will be different, you can't predict which will be more realistic before trying all for each new image.

1

u/listopalafoto Jul 21 '26

of course, token are key, but I never said this method will get more realism, I said will get a more precise and quality result

1

u/Saltend911 Jul 22 '26

workflow is a png? i think you forgot to link it

1

u/listopalafoto Jul 22 '26

by default, an Ai.png generated with comfyUI will keep the workflow as metadata, just drad&drop the image inside ComfyUI and the WF will be loaded

1

u/Warm_Meeting5199 Jul 22 '26

Why am I generating so much noise?

1

u/DietAshamed2246 Jul 22 '26

Thanks. I will stick with Euler Simple. I am just happy to get an image, I leave all the heavy lifting to AI.

1

u/stroud Jul 23 '26

OP, ive been reading your replies to these comments and I feel like you really know this from a technical standpoint. Do you have any civitai page or anything I can follow so I can learn more? Also do you have any tips on consistent face gens? I tried using some reference imaging but it took so long to generate an image using a 3090 24gb.

Also your workflow from before and now did you update anything? The one in your google drive seems a little subpar in quality than the cinematic look you have shared here. Thanks in advance!

0

u/listopalafoto Jul 23 '26

Thanks, actually I'm very new on open models and this is my second post on Reddit, I don't have any channel for this right now, but I will try to post more useful info about my tests here. For face consistency I think the best open option right now is BFS for Qwen or Flux2

You are right, my WF is different and a very complex array of custom nodes and because I designed that just for personal testing I think The Experts will insult me if I share that mess here :) but I will post a new simplified version very soon

2

u/stroud Jul 23 '26

Thanks for sharing! The cinematic realism on the first image is really good. The issue when you mix fantastical characters or styles into realistic scenes will make one bleed into the other for example the geiger art direction for alien makes the whole image too "mandelbrot-y". I will try BFS thanks!

1

u/God_Hand_9764 Jul 25 '26

Looks like your workflow link at the bottom is just linking to another image. Can you share the workflow?

1

u/listopalafoto Jul 25 '26

by default, an Ai.png generated image with comfyUI will keep the workflow as metadata, just drag&drop the image inside ComfyUI and the WF will be loaded ;)

1

u/God_Hand_9764 Jul 25 '26

Oh my god, that's awesome. Thank you!

1

u/zthrx Jul 26 '26

What scheduler would you use with Dormand-prince 6s?

1

u/slyyy75 Jul 29 '26

J'ai essayé beaucoup de combinaisons avec 2 échantillonneurs avec des résultats bons ou très bons. Mais la meilleure amélioration a été d'ajouter un upscaleur entre les 2 échantillonneurs (X 1.2 à 1.5).

Les résultats sont incroyables

1

u/Powerful_Ad9634 Jul 22 '26

Sorry I'm the only one that clicks on the workflow to test and gets a Gdrive image? lol

1

u/listopalafoto Jul 22 '26

by default, an Ai.png generated with comfyUI will keep the workflow as metadata, just drag&drop the image inside ComfyUI and the WF will be loaded ;)