Adds turbo back to the base checkpoint, allows you to control the amount of turbo and thus CFG by adding it to base.
This was created by subtracting klein-base from klein and creating a LoRA from it.
Description
FAQ
Comments (66)
4B model in the 9B category. Can you make a 9B version? EDIT: HE FIXED
That would be extremely useful cause, honestly, the 4B model and it's text encoder are very NOT on par with 9B (let alone dev) and it's encoder and it shows in everything, from regular generations to edit tasks, and I can't really comprehend why people even bother with the 4B one when there are plethora of quantized versions of 9B to run on any hardware and those quantized 9B versions will still be quite a bit smarter than 4B ever can be even with tons of loras.
Thanks, I changed it, I'll create one for 9B as well soon
@pirateboogie As I understand it, the speed is faster on 4B vs 9B quant. But we're talking seconds different, so, I don't really get it either.
how are these made? just model lora subtraction?
@ForeverNecessary737716 That's correct, I have a script that does it for me.
@brnfd24434343d 4b can be more gooner friendly in some more fetish zones. Combining that with its faster time, I actually hope for people to do more finetunes on 4b. 9b can fail dramatically compared to 4b in areas involving butts as well.
@Suhnny Bad at butts? 9b has a pretty good understanding of butts, and mixes with many LORA at full strength. Maybe it's a workflow issue.
@Drakeni Workflow issue... Seems like it. There is exactly no reason that 9B would have different butt training data than 4B.
So what does this achieve? Is base with this lora much better than using the turbo checkpoints in general?
we get back negative prompting with the speed of turbo so a win win in every sense , possibly less rigid styles compared to distilled models too but that needs quite a bit of testing to determine, also possible but also needs testing - loras might have better\stronger effect due to the model not being so "set in it's ways" but that's speculation at this point )
Does that mean it can be used as CFG 1 in the base model?
Yes
@anyMODE It works well and results are good. Thank you!
right but then you could also use the turbo directly...yeah? no? i have no clue...
@eyeonyou Yeah you could, but you get less control
Did some testing of 9B rank 128 version - it works very well indeed, thanks for making it ! i also noticed what 9B base + lora actually runs faster than regular distilled 9B even with negative prompt and cfg at 5, but not just that - it looks like it is "smarter" too when it comes to stuff like landscapes\cities\sci-fi etc - regular 9B is definitely not as good in that department - maybe it got a little too overdistilled towards humans generation because bfl tried to make z-image killer (which they totally did))) but overcompensated with that a little, trying to have a good pr this time by appeasing people who howled Flux 2 dev was bad and useless because it took too long generating their only interest in all this ai stuff - them nekkid chicks ofc ))))
This seems to work pretty good! Thanks! If I set the LoRA strength to ~0.5, I can reduce the steps from 40–50 to 10–20, with lower CFG (usually 2.0 - 2.5). It gives me the best of both worlds - the variety and tack-sharp image quality of Base + the aesthetic tuning of the distilled model, all at much quicker generation times.
This is a huge help to CFG
How much control do you want? YES...
Do 9b klein LORA's work in combination with this LORA?
Yes, they should work fine.
"This was created by subtracting klein-base from klein and creating a LoRA from it."
Can "z image base" also be used to create Turbo Lora?
No, I tried, and all I got was noise, the distillation for Z-Image is very different, there are some experiments going on in the community creating a z-image distillation though, so keep an eye out
@anyMODE Thank you for your reply.
I think no because they screwed with the base after releasing ZiT
And we cannot normally distill the base ourselves without its original dataset? Or is it a matter of compute and skill?
@firemanbrakeneck you can distill without the original dataset, you just have to make your own from the original model, it's a matter of compute, there's several ways to do it on consumer hardware, it just takes a lot more time than enterprise hardware. Ostris is working on a ZIB turbo lora at the moment from what I gather.
What did you use to extract it? I tried the easy way using ComfyUI-FluxTrainer, but just got noise. Your result is pretty close to the original
I used my own scripts, I used a randomized energy technique SVD to extract it.
An incredible LoRA, it made my life 500% easier.
🙌💖🙌
The checkpoint I was using insisted on maintaining a saturated color, regardless of the settings, but your LoRA not only sped up image generation, but also gave a magnificent touch to the model's color tones.
Thank you for the beautiful work you did.
any proven good lora weight/cfg/step count combination suggestions?
okay so i used a Lora weight of 1.0, CFG: 1 and Steps: 8 and it gave me real good results
@mrweaz so thats kinda a straight convertion to turbo. I ended up using at 0.25-0.5 with 3.5 cfg 8 steps, speed is acceptable and the quality is much better than in turbo. Turbo edits look like crap honestly.
Any reason to use the rank 64 other than people with low VRAM?
Nope, can't think of any
Just awesome thank you! it works very good with sampler LCM/simple or beta57 even with CFG 3.0. Recommend for you guys to use Flux.2 KLEIN enchancer custom node.
works very well, not good. Good is an adjective. Well is an adverb. Works/working is a verb. Nothing can ever 'work good'. Something can 'be good' though.
works very well, not good. Good is an adjective. Well is an adverb. Works/working is a verb. Nothing can ever 'work good'. Something can 'be good' though.
Nailed it. Took it apart, rebuilt it properly, wired some of the logic from Qwen — now every run just like magic. I will share my workflow after I clean all private stuff. but its gold
Can we definitely use negative prompts with this BFL says that Klein doesn't support them
It would be good to have a short description how you suggest to use it properly. Number of step counts, samplers, difference between ranks, CFG, strength etc.
I think it's 8 steps, Sampler: Euler, CFG: 1.
Just want to say: extraordinary! Negative prompt AND fast generation!? And it works great. Thank you so much! Good work!
What settings are people using for this? At full strength, and at partial strength. There's no info in this description.
There's no info because I had no clue myself. I put it out there for others to find out.
I personally would try at 0.7 strength, 8 steps, cfg 1.5 and work your way down in strength and up in steps and cfg from there to find a nice compromise
Intensity 0.4-0.6, raw images CFG3.5 with 10-12 sampling steps, image editing CFG1 with 8-10 sampling steps. If too many anatomical errors are encountered, the number of sampling steps can be increased.
probably a noob question but whats the difference between the 9b 64 and 9b 128?
The size, that's about it
@anyMODE hm ok. so it doesn't make a difference which one i use then? thanks. its been working great for me
Rank 128 delivers better quality and stronger effects in most cases, but costs more memory and loading time. Rank 64 is the more resource-efficient version and is often sufficient when you want to save VRAM or test quickly.
My Lora Manager can’t detect the Klein 4B/9B Base to Turbo, it detects other Loras in my Lora folder fine but not this one, anyone else having the same issue?
I had the same problem. This fixed it:
1. Open Lora Manager (square blue button in top right toolbar, left of the Comfy Manager button)
2. Click dropdown arrow next to the Refresh button, then select Rebuild Cache
3. If that doesn't fit it, check your loras folder for a .metadata.json file with the same name as this lora. Delete it.
4. Rebuild cache again.
Those steps fixed two separate issues I had with loras not showing up. I did throw in a few Ctrl+Shift+R's to refresh the page cache too, so you could try that if the above doesn't work.
noob question, why and when do use this? I tried plugging it in to a workflow and the results looks like im on lsd lol
It's a LoRa for faster generation (few steps) on a 9b base model. Useful if 9b base is provided, but not a 9b distilled version. You will get terrible results if you use it on a distilled version.
@aising23 Ah I see thanks, yeah I don't use base version but maybe I'll try it.
I've noticed that using this Lora seems to reduce editing strength – sometimes the image shows no change at all compared to not using it.
I noticed that when CFG is set to 1, the first step follows the prompt correctly, but from the second step onward, it reverts back to the original image. Only when I increase CFG to 1.2 does the editing work properly — though at the cost of roughly double the computation time.
Just wanted to flag this. Thanks!
Are you using ConditioningZeroOut? The reason for it taking double the time is because a CFG greater than 1 causes the model to compare the positive against the negative even if the negative is empty, I don't know if ConditioningZeroOut would actually stop this though. Also what weight are you using the lora at and how many steps? If you are using 4 steps I would suggest switching to 8 steps and bringing down the lora weight by some amount, not sure I use 12 steps with a weight of 0.5 and a consistency lora weighted at 0.5, but not for editing the contents of the original image, but as a sudo outpaint, but if you're worried about double the time I'm assuming triple the time would really bother you, but it does replace the #00FF00 so it is capable of changing an image, but pure green is so unnatural that the model wants to get rid of it anyway so I don't know how those setting would work for an actual image edit.
give me a couple of minutes... well I prompted to add sunglasses, but it just added glasses, let me try using the suggested prompt for the consistency, lora before my actual instruction... Yep it worked just fine. Humm seems okay to add stuff, but changing something like a hand position completely seems difficult, bumping the distil lora weight to 0.6.
Also are you using an empty latent to feed to the sampler? If not yeh do that, you should be using reference latent only to inject the image, using both will usually stick the image in regular Flux2 Klein too. Is useful for doing an upscale though, espically if you're going to 4MP because Flux2 will get completely lost about anatomy at 4MP so if you just want to use a regular sampler feeding it the latent and reference image ontop fixes everything in place and Flux2 can just go to work at the textures.
It will limit even the amount of textural and colour work the model can do though, maybe using a prompt reference balancer would help with that though.
“Hi there, could you briefly explain the process behind creating this type of acceleration LoRA?”
Yes, you take the weights from the Turbo/Distilled version on of the model, you them mathematically subtract the weights from the base model, this is then decomposed down to LoRA sized set of weights using Singular Value Decomposition which attempts as best it can to keep the intent of the original distill.
So is it still 4 Steps, because I think thats the biggest issue with Klein which leads to the anatomy issues, if it 12 or even 8 steps and I think it would be fine.
Turn down the weight on the lora to 0.7, then use 8 / 12 steps.
honestly for image editing thats where Flux Klein Base 9B shines it's so stable that with this workflow https://comfy.org/workflows/templates_doc_workbox_klein_9b_image_extend-a8d874e28508/ and adding the power lora loader to it replacing the prompt with "Remove the #00FF00 areas in image 1. Fill in the #00FF00 areas with a: ... [describe what you want]" you can take a head shot and extend it out to a full body image and "#00FF00" is the Hex code for RGB 0,255,0 aka pure green. You will want to set the Consistency Lora:0.5 and Flux2 Klein Turbo Lora:0.5 using 12 steps and keeping the CFG at 1, keep the Euler Sampler and if you also add in a draw mask on on directly between the "Load Image" node and the first "ImageScaleToTotalPixels" node again obviously setting the "Draw Mask On Image" to color: 0, 255, 0 and using "Realism_Engine_V2" lora you can extend a any headshot into an NSFW image while retaining the face, reason for adding another "Draw Mask On Image" node is to cover the clothes and if necessary covering the arms in a mask and shoulder blades so you can extend out the image with the arms in whatever position you prompt rather than being stuck with the position the top of the arms and sholderblades would suggest, also it's to get rid of stubborn background elements. You could automate the masking and for the background at least replacing the positive reference latent with the custom node "Reference Latent+" which comes with an auto masker—google Reference Latent plus—you can mask off the background automagically, and you could use a person BOX and SEG to automatically mask the person but reliability is a "bit" shaky detecting a person in a head shot and if it does work it wont mask the persons arms and sholderblades, you could use a face seg which would be more reliable, but I don't know how that would turn out,
also a great tool for processing manga panels before turning them into videos, but you will probably want to turn off padding and just manually draw over any elements you don't want in the final image.
Also yes Flux Klein has a limited understanding of both Pantone and Hex color code values, as the data set is a cut down version of Flux2 Dev which has a more full understanding, but #00FF00 is so unambiguous it knows what that looks like.
Really, Klein dosn't have good understanding of hex codes, man the prompting guide made me sad.
@elevendr I did say it has "SOME understanding of hex codes... but #00FF00 is so unambiguous it knows what that looks like." it's such a distinct and unnatural color it can pick it out anyway, although I did change the prompt "Remove the Green areas in image 1. Fill in the #00FF00 areas with:" because sometimes it had a tendency to replace the #00FF00 with more natural tones of green even when it didn't fit. And it works so... You can be as sad as you want, but what works works. And it works better than the default prompt for that workflow to focus the model on replacing only the drawn on mask.
Works even better with FLUX2 Dev.
Hi could you tell me the general purpose/concept/use case of this, I understand flux has 4b and 9b base and distilled so 4 variants for the lesser versions of flux. Distilled is the 4 steps while the bases are the 20 steps. So all of those should theoretically have some niche or use case, then this is something converting on to another, but how would you explain to a 6-year-old, why? Thanks!
Details
Files
klein_9B_Turbo_r128.safetensors
Mirrors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein-turbo.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128-mid_2324315-vid_2617121.safetensors
klein9B to Turbo rank 128.safetensors
klein_9B_Turbo_r128.safetensors
base_to_turbo_r128_v1.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128-mid_2324315-vid_2617121.safetensors
17-klein_9B_Turbo.safetensors
klein_9B_Turbo_r128.safetensors
fulx2vbase-lora-master.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128.safetensors
klein_9B_Turbo_r128_fp32.safetensors
klein_9B_Turbo_r128_fp32.safetensors
klein_9B_Turbo_r128.safetensors

