Krea2-Turbo-Distill-2step-LoRA / krea2_turbo_2step_lora_t2i.json
lvladikov's picture
Checkpoint 13663 (Alpha) Release
7d6036f verified
Raw History Blame
10.8 kB
{
"id": "00000000-0000-0000-0000-000004ea24e7",
"revision": 0,
"last_node_id": 11,
"last_link_id": 10,
"nodes": [
{
"id": 1,
"type": "UNETLoader",
"pos": [
40,
60
],
"size": [
370,
82
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
1
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "UNETLoader",
"cnr_id": "comfy-core"
},
"widgets_values": [
"krea2_turbo_bf16.safetensors",
"default"
]
},
{
"id": 2,
"type": "LoraLoaderModelOnly",
"pos": [
40,
190
],
"size": [
370,
82
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 1
}
],
"outputs": [
{
"name": "MODEL",
"type": "MODEL",
"links": [
2
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "LoraLoaderModelOnly",
"cnr_id": "comfy-core"
},
"widgets_values": [
"krea2_turbo_2step_rank_64_lora_comfyui.safetensors",
1.0
]
},
{
"id": 3,
"type": "CLIPLoader",
"pos": [
40,
320
],
"size": [
370,
106
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "CLIP",
"type": "CLIP",
"links": [
3
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPLoader",
"cnr_id": "comfy-core"
},
"widgets_values": [
"qwen3vl_4b_bf16.safetensors",
"krea2",
"default"
]
},
{
"id": 8,
"type": "VAELoader",
"pos": [
40,
470
],
"size": [
370,
58
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "VAE",
"type": "VAE",
"links": [
9
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAELoader",
"cnr_id": "comfy-core"
},
"widgets_values": [
"qwen_image_vae.safetensors"
]
},
{
"id": 4,
"type": "CLIPTextEncode",
"pos": [
450,
60
],
"size": [
430,
200
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "clip",
"type": "CLIP",
"link": 3
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
4,
5
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "CLIPTextEncode",
"cnr_id": "comfy-core"
},
"widgets_values": [
"Portrait of a young woman with freckles and windswept auburn hair, soft window light, shallow depth of field, photograph, sharp detail"
]
},
{
"id": 5,
"type": "ConditioningZeroOut",
"pos": [
450,
300
],
"size": [
430,
30
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "conditioning",
"type": "CONDITIONING",
"link": 5
}
],
"outputs": [
{
"name": "CONDITIONING",
"type": "CONDITIONING",
"links": [
6
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "ConditioningZeroOut",
"cnr_id": "comfy-core"
},
"widgets_values": []
},
{
"id": 6,
"type": "EmptyLatentImage",
"pos": [
450,
380
],
"size": [
430,
106
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
7
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "EmptyLatentImage",
"cnr_id": "comfy-core"
},
"widgets_values": [
1024,
1024,
1
]
},
{
"id": 7,
"type": "KSampler",
"pos": [
930,
60
],
"size": [
330,
262
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "model",
"type": "MODEL",
"link": 2
},
{
"name": "positive",
"type": "CONDITIONING",
"link": 4
},
{
"name": "negative",
"type": "CONDITIONING",
"link": 6
},
{
"name": "latent_image",
"type": "LATENT",
"link": 7
}
],
"outputs": [
{
"name": "LATENT",
"type": "LATENT",
"links": [
8
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "KSampler",
"cnr_id": "comfy-core"
},
"widgets_values": [
0,
"randomize",
2,
1,
"euler",
"simple",
1
]
},
{
"id": 9,
"type": "VAEDecode",
"pos": [
1300,
60
],
"size": [
210,
46
],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"name": "samples",
"type": "LATENT",
"link": 8
},
{
"name": "vae",
"type": "VAE",
"link": 9
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
10
],
"slot_index": 0
}
],
"properties": {
"Node name for S&R": "VAEDecode",
"cnr_id": "comfy-core"
},
"widgets_values": []
},
{
"id": 10,
"type": "SaveImage",
"pos": [
1300,
150
],
"size": [
420,
460
],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 10
}
],
"outputs": [],
"properties": {
"Node name for S&R": "SaveImage",
"cnr_id": "comfy-core"
},
"widgets_values": [
"krea2_turbo_2step_lora"
]
},
{
"id": 11,
"type": "MarkdownNote",
"pos": [
930,
380
],
"size": [
560,
400
],
"flags": {},
"order": 10,
"mode": 0,
"inputs": [],
"outputs": [],
"properties": {},
"widgets_values": [
"## Krea 2 Turbo \u2014 2-step distillation LoRA\n\nKrea 2 Turbo normally needs **8 steps**. With this LoRA it runs at **2** \u2014 a fast preview, a quarter of the cost.\n\n### Files\n| file | put it in |\n| --- | --- |\n| `krea2_turbo_bf16.safetensors` | `models/diffusion_models/` |\n| `qwen3vl_4b_bf16.safetensors` | `models/text_encoders/` |\n| `qwen_image_vae.safetensors` | `models/vae/` |\n| `krea2_turbo_2step_rank_64_lora_comfyui.safetensors` | `models/loras/` |\n\nThe first three are from [Comfy-Org/Krea-2](https://huggingface.co/Comfy-Org/Krea-2).\n\n**The LoRA is independent of the base build.** It is applied on top of the diffusion model by ComfyUI's own loader, which handles any dequantisation, so a quantised or otherwise optimised build of Krea 2 Turbo behaves just as bf16 does. Please use whichever variant suits your hardware \u2014 set it in **Load Diffusion Model** and leave the rest of the workflow untouched.\n\nThis workflow ships **full bf16** only because it is the one build guaranteed to run everywhere: bf16 needs no backend-specific kernel, so it works on CUDA, Apple Silicon and CPU alike. Smaller options: `krea2_turbo_int8_convrot` (13.5 GB, either platform), or `krea2_turbo_fp8_scaled` (13.1 GB) which is **NVIDIA-only** \u2014 MPS has no `Float8_e4m3fn` support and fails at the sampler. The text encoder has bf16 and fp8 builds only; there is no int8 one.\n\n> **Do not use `fp8_scaled` on Apple Silicon.** MPS has no `Float8_e4m3fn` support, so it fails at the sampler with *\"Trying to convert Float8_e4m3fn to the MPS backend\"*. It is fine on NVIDIA. `krea2_turbo_bf16` (26.3 GB) also works everywhere if you prefer full precision \u2014 just set the matching name in the loader.\n\n### Settings that matter\n- **steps 2**, **cfg 1.0** (Turbo is CFG-free), sampler **euler**, scheduler **simple**\n- LoRA strength **1.0**\n- The negative is a `ConditioningZeroOut` \u2014 at cfg 1.0 it is not evaluated, so there is nothing to write in it\n\nSet steps back to 8 and bypass the LoRA node (Ctrl+B) to compare against stock Turbo.\n\n### Metadata\nThe LoRA file in this repository is always the **latest** published checkpoint of the run \u2014 the file name never changes, so this workflow never needs updating. Which checkpoint it is today is in `krea2_turbo_2step_rank_64_lora_checkpoint_info.md` next to it, and in the file's own safetensors metadata along with the base model, the method and the inference settings above."
],
"color": "#432",
"bgcolor": "#653"
}
],
"links": [
[
1,
1,
0,
2,
0,
"MODEL"
],
[
2,
2,
0,
7,
0,
"MODEL"
],
[
3,
3,
0,
4,
0,
"CLIP"
],
[
4,
4,
0,
7,
1,
"CONDITIONING"
],
[
5,
4,
0,
5,
0,
"CONDITIONING"
],
[
6,
5,
0,
7,
2,
"CONDITIONING"
],
[
7,
6,
0,
7,
3,
"LATENT"
],
[
8,
7,
0,
9,
0,
"LATENT"
],
[
9,
8,
0,
9,
1,
"VAE"
],
[
10,
9,
0,
10,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.85,
"offset": [
0,
0
]
}
},
"version": 0.4
}