Ink render plus a one-click spot colour grade: red and orange-red stay, every other hue goes to grey. It draws a Gritty Ink picture on Krea 2 and saves two files per run: the full-colour ink render, and the same picture with only the red accent left in colour. Core ComfyUI nodes only, no custom nodes.
Required models
- Diffusion model: RedCraft 3.0 Krea 2, the INT8 convrot build,
redcraft23_30Krea2_int8_convrot.safetensors, inmodels/diffusion_models. Plain Krea 2 and Krea 2 Turbo load too; RedCraft is what we tested. - Text encoder: the Qwen3-VL 4B text encoder from the Krea 2 downloads (see the Krea 2 guide on comfyui-wiki.com); we run a community int8 ConvRot build of it (
qwen3vl_4b_int8_convrot), and the bf16 or fp8 file works the same. It goes inmodels/text_encoders, loaded with CLIPLoader typekrea2. - VAE: the Qwen-Image VAE,
qwen_image_vae.safetensors, inmodels/vae, from Comfy-Org on Hugging Face. - LoRA: Gritty Ink (Krea 2), file
GrittyInk_Krea2_v1.safetensors, inmodels/loras. Trigger wordgrittyink, strength0.8. The workflow does not work without it.
Settings
- Steps
8. It is a distilled model, more steps do not help. - CFG
1.0, samplerer_sde, schedulersimple, denoise1.0, 1 megapixel sizes (896x1152,1152x896,1024x1024). - Decode:
VAEDecodeTiled, tile512, overlap64. Negative: aConditioningZeroOut, because a negative prompt does nothing at CFG 1.0.
How the spot colour works
- A purple group on the right of the graph (41 core nodes) builds a mask of every pixel whose hue is within
hue_widthdegrees of red (default25), but only where that red is vivid: a chroma floor (default0.2, red minus the weaker of green and blue) greys the dull browns, tans and skin tones that sit in the red hue band, so a fur coat or a wooden post does not keep a muddy colour. Saturated orange up to 45 degrees (fire, lava, lamps, a lit match) is kept as well. Everything outside the mask is replaced by its luminance grey, and the original is pasted back over the grey through the mask. - No HSV node exists in core, so the hue test is done with weighted channel sums (
ImageBlend), compared withMaskCompositeandThresholdMask. The READ ME note and the node titles show the values to change: hue width (two nodes, factor = 1 - width/60), chroma floor (two nodes, 0.2; 0 turns it off, 0.3 is stricter), amber hue limit and amber saturation. - Edges are hard, like a colour-range select. The grade is mechanical: a vivid warm tone near the red object survives with it, and a very dull accent can fall under the chroma floor, so lower it if your accent comes out grey.
How to use it
- Keep
grittyinkat the start of the prompt, write one dense sentence, and name one red, crimson or orange object: an umbrella, a scarf, a pennant, lava, a lit match. That is the colour that survives. With no red or orange in the picture you get plain greyscale ink. - Save node 1 is the ink render, save node 2 is the spot-graded one. You can also feed any picture you already have into the group in place of the decode.
- The five hue
ThresholdMasknodes hold0.0001on purpose. If your ComfyUI rounds the widget to two decimals, set it back to 0.0001, or other hues leak through.
Tips we learned the hard way
- Density beats brevity. Write a full sentence or two: who or what, where, the light, the camera angle.
- Say what you want, never what you do not. No negative prompt, no weight brackets.
- One accent. Two red objects dilute the look; a red-and-gold object keeps both.
Tested on ROCm (a 7900 XTX), about 13 seconds per run. Core ComfyUI nodes only, so CUDA builds should run it as is.
If this worked for you, a thumbs-up here helps the next person find it.
Description
Ink render plus a one-click spot colour grade: red and orange-red stay, every other hue goes to grey. It draws a Gritty Ink picture on Krea 2 and saves two files per run: the full-colour ink render, and the same picture with only the red accent left in colour. Core ComfyUI nodes only, no custom nodes.
Required models
- Diffusion model: RedCraft 3.0 Krea 2, the INT8 convrot build,
redcraft23_30Krea2_int8_convrot.safetensors, inmodels/diffusion_models. Plain Krea 2 and Krea 2 Turbo load too; RedCraft is what we tested. - Text encoder: the Qwen3-VL 4B text encoder from the Krea 2 downloads (see the Krea 2 guide on comfyui-wiki.com); we run a community int8 ConvRot build of it (
qwen3vl_4b_int8_convrot), and the bf16 or fp8 file works the same. It goes inmodels/text_encoders, loaded with CLIPLoader typekrea2. - VAE: the Qwen-Image VAE,
qwen_image_vae.safetensors, inmodels/vae, from Comfy-Org on Hugging Face. - LoRA: Gritty Ink (Krea 2), file
GrittyInk_Krea2_v1.safetensors, inmodels/loras. Trigger wordgrittyink, strength0.8. The workflow does not work without it.
Settings
- Steps
8. It is a distilled model, more steps do not help. - CFG
1.0, samplerer_sde, schedulersimple, denoise1.0, 1 megapixel sizes (896x1152,1152x896,1024x1024). - Decode:
VAEDecodeTiled, tile512, overlap64. Negative: aConditioningZeroOut, because a negative prompt does nothing at CFG 1.0.
How the spot colour works
- A purple group on the right of the graph (41 core nodes) builds a mask of every pixel whose hue is within
hue_widthdegrees of red (default25), but only where that red is vivid: a chroma floor (default0.2, red minus the weaker of green and blue) greys the dull browns, tans and skin tones that sit in the red hue band, so a fur coat or a wooden post does not keep a muddy colour. Saturated orange up to 45 degrees (fire, lava, lamps, a lit match) is kept as well. Everything outside the mask is replaced by its luminance grey, and the original is pasted back over the grey through the mask. - No HSV node exists in core, so the hue test is done with weighted channel sums (
ImageBlend), compared withMaskCompositeandThresholdMask. The READ ME note and the node titles show the values to change: hue width (two nodes, factor = 1 - width/60), chroma floor (two nodes, 0.2; 0 turns it off, 0.3 is stricter), amber hue limit and amber saturation. - Edges are hard, like a colour-range select. The grade is mechanical: a vivid warm tone near the red object survives with it, and a very dull accent can fall under the chroma floor, so lower it if your accent comes out grey.
How to use it
- Keep
grittyinkat the start of the prompt, write one dense sentence, and name one red, crimson or orange object: an umbrella, a scarf, a pennant, lava, a lit match. That is the colour that survives. With no red or orange in the picture you get plain greyscale ink. - Save node 1 is the ink render, save node 2 is the spot-graded one. You can also feed any picture you already have into the group in place of the decode.
- The five hue
ThresholdMasknodes hold0.0001on purpose. If your ComfyUI rounds the widget to two decimals, set it back to 0.0001, or other hues leak through.
Tips we learned the hard way
- Density beats brevity. Write a full sentence or two: who or what, where, the light, the camera angle.
- Say what you want, never what you do not. No negative prompt, no weight brackets.
- One accent. Two red objects dilute the look; a red-and-gold object keeps both.
Tested on ROCm (a 7900 XTX), about 13 seconds per run. Core ComfyUI nodes only, so CUDA builds should run it as is.






