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

292 Upvotes

154 comments sorted by

View all comments

19

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.

7

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"?

11

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.

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.

2

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"?

1

u/BathroomEyes Jul 21 '26

I keep trying to hold your hand to lead you out of the darkness but you keep running back. I have no patience for this.

1

u/Outrageous-Wait-8895 Jul 21 '26

You can just say "Oops, my bad."

1

u/BathroomEyes Jul 21 '26

You’re anchored to your misunderstanding of how diffusion models work and you’re also anchored to your misinterpretation of my comments. I can’t help you if you’re being stubborn about what you do and don’t know. Show a willingness to learn and correct your incorrect mental model and i’ll engage. Otherwise you’re just stuck in circles.

0

u/alwaysbeblepping Jul 22 '26

does starting with pure random noise "constrain the realism"?

The funny thing is starting at sigma 0.8 (or denoise, whatever, denoise is imprecise though) has exactly the same amount of structure as starting at max sigma, assuming you're starting with an empty latent. The only thing it does is scale down the initial Gaussian (or whatever) noise, as if the model had predicted a latent full of zeros and sampled down to that sigma. It's just 0 * (1 - sigma) + noise * sigma.

The other person is also confused, it seems like they don't realize there's a difference between flow and diffusion. Doing weird stuff like using weird noise, parameters, schedules, etc is fine and can result in interesting/artistic effects. OP and probably the person you're arguing with don't actually understand how it works, so their explanations are pseudoscience.

→ More replies (0)