Krea 2 LoRAs Showcase
Showcase of multiple Krea 2 LoRAs.
Inside the workflow
A read-only preview of the source template. Open it in Cloud to explore the nodes and make changes.
Loading the graph
Open full-size workflow preview- Output
- Image
- Author
- Rob
Call this model from your code
The request below uses the same prepared graph and settings as the Playground. Each submission can start a paid run; do not automatically retry a submission whose outcome is unknown.
What you need
- Runs on
- Comfy Cloud
- Key
- COMFY_API_KEY
Needs a paid Cloud plan and credits.
# Python 3.10+: pip install comfy-sdk==0.4.0
import os
from comfy_sdk import Comfy
api_key = os.environ.get("COMFY_API_KEY", "").strip()
if not api_key: raise RuntimeError("Set COMFY_API_KEY")
os.environ.setdefault("COMFY_BASE_URL", "https://cloud.comfy.org")
client = Comfy(api_key=api_key)
workflow = client.workflows.from_json({
"10": {
"class_type": "SaveImageAdvanced",
"inputs": {
"filename_prefix": "krea2-nos_invisibles",
"format": "png",
"format.bit_depth": "8-bit",
"format.input_color_space": "sRGB",
"images": [
"27:8",
0
]
},
"_meta": {
"title": "Save Image (Advanced)"
}
},
"50": {
"class_type": "SaveImageAdvanced",
"inputs": {
"filename_prefix": "krea2-vhs_analog",
"format": "png",
"format.bit_depth": "8-bit",
"format.input_color_space": "sRGB",
"images": [
"51:38",
0
]
},
"_meta": {
"title": "Save Image (Advanced)"
}
},
"71": {
"class_type": "SaveImageAdvanced",
"inputs": {
"filename_prefix": "krea2-retroanime",
"format": "png",
"format.bit_depth": "8-bit",
"format.input_color_space": "sRGB",
"images": [
"72:59",
0
]
},
"_meta": {
"title": "Save Image (Advanced)"
}
},
"92": {
"class_type": "SaveImageAdvanced",
"inputs": {
"filename_prefix": "krea2-c64_style",
"format": "png",
"format.bit_depth": "8-bit",
"format.input_color_space": "sRGB",
"images": [
"93:80",
0
]
},
"_meta": {
"title": "Save Image (Advanced)"
}
},
"174": {
"class_type": "SaveImageAdvanced",
"inputs": {
"filename_prefix": "krea2-psx_style",
"format": "png",
"format.bit_depth": "8-bit",
"format.input_color_space": "sRGB",
"images": [
"175:143",
0
]
},
"_meta": {
"title": "Save Image (Advanced)"
}
},
"176": {
"class_type": "SaveImageAdvanced",
"inputs": {
"filename_prefix": "krea2-neondrip",
"format": "png",
"format.bit_depth": "8-bit",
"format.input_color_space": "sRGB",
"images": [
"177:162",
0
]
},
"_meta": {
"title": "Save Image (Advanced)"
}
},
"175:136": {
"class_type": "UNETLoader",
"inputs": {
"unet_name": "krea2_turbo_int8_convrot.safetensors",
"weight_dtype": "default"
},
"_meta": {
"title": "Load Diffusion Model"
}
},
"175:137": {
"class_type": "KSampler",
"inputs": {
"cfg": 1,
"denoise": 1,
"latent_image": [
"175:141",
0
],
"model": [
"175:145",
0
],
"negative": [
"175:140",
0
],
"positive": [
"175:138",
0
],
"sampler_name": "euler",
"scheduler": "simple",
"seed": 1080328927230384,
"steps": 8
},
"_meta": {
"title": "KSampler"
}
},
"175:138": {
"class_type": "CLIPTextEncode",
"inputs": {
"clip": [
"175:139",
0
],
"text": [
"175:150",
0
]
},
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"175:139": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
"device": "default",
"type": "krea2"
},
"_meta": {
"title": "Load CLIP"
}
},
"175:140": {
"class_type": "ConditioningZeroOut",
"inputs": {
"conditioning": [
"175:138",
0
]
},
"_meta": {
"title": "Conditioning Zero Out"
}
},
"175:141": {
"class_type": "EmptyLatentImage",
"inputs": {
"batch_size": 1,
"height": [
"175:142",
1
],
"width": [
"175:142",
0
]
},
"_meta": {
"title": "Empty Latent Image"
}
},
"175:142": {
"class_type": "ResolutionSelector",
"inputs": {
"aspect_ratio": "16:9 (Widescreen)",
"megapixels": 1,
"multiple": 8
},
"_meta": {
"title": "Resolution Selector"
}
},
"175:143": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"175:137",
0
],
"vae": [
"175:144",
0
]
},
"_meta": {
"title": "VAE Decode"
}
},
"175:144": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "qwen_image_vae.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"175:145": {
"class_type": "LoraLoaderModelOnly",
"inputs": {
"lora_name": "krea2-psx_style_lowpoly_psx_n64_dreamcast.safetensors",
"model": [
"175:136",
0
],
"strength_model": 1
},
"_meta": {
"title": "Load LoRA"
}
},
"175:146": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"175:147",
0
],
"string_b": "psx"
},
"_meta": {
"title": "Concatenate Text"
}
},
"175:147": {
"class_type": "TextGenerate",
"inputs": {
"clip": [
"175:148",
0
],
"max_length": 512,
"mtp": "auto",
"prompt": [
"175:149",
0
],
"sampling_mode": "on",
"sampling_mode.min_p": 0.05,
"sampling_mode.presence_penalty": 0,
"sampling_mode.repetition_penalty": 1.05,
"sampling_mode.seed": 123456,
"sampling_mode.temperature": 0.7,
"sampling_mode.top_k": 64,
"sampling_mode.top_p": 0.95,
"thinking": False,
"use_default_template": True
},
"_meta": {
"title": "Generate Text"
}
},
"175:148": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "gemma4_e4b_it_fp8_scaled.safetensors",
"device": "default",
"type": "stable_diffusion"
},
"_meta": {
"title": "Load CLIP"
}
},
"175:149": {
"class_type": "StringReplace",
"inputs": {
"find": "{USER_PROMPT}",
"replace": [
"175:151",
0
],
"string": "You rewrite a user's image prompt into a single richer prompt for the **psx_style** style: authentic mid-1990s **PlayStation 1 low-poly 3D graphics** — a scene rendered by early real-time hardware. Chunky low-polygon models with faceted, angular geometry, low-resolution muddy textures stretched with warping affine mapping, wobbling/jittering vertices, ordered dithering across every gradient, and thick draw-distance fog swallowing the background. The look of a PS1 game frame grabbed off a CRT: crude, characterful, vividly colored, alive with early-3D energy. Any subject, mundane or explosive, is rebuilt as a blocky low-poly PS1 render.\n\n{USER_PROMPT}\n\nKeep the user's core intent and push it into this style. Deepen what they ask for; never strip it away.\n\n## Rules\n\n1. **Preserve named entities VERBATIM.** If the user names a specific person, character, team, brand, place, or titled object (e.g. \"a Toyota Supra\", \"a T-Rex\", \"the Golden Gate Bridge\"), that exact name MUST appear in your output.\n2. **Preserve the rest of the intent too.** Keep every concrete element and action the user gave (the fight, the explosion, the spelled-out text). The low-poly look is layered around them, never substituted for them.\n3. **Rebuild it in low poly.** Reach for: chunky low-polygon models, faceted angular geometry, flat-shaded and simplified forms, visibly few triangles — \"an early-3D game model, not a smooth CGI render or a photo.\"\n4. **Texture it like PS1 — the heart of the style.** Low-resolution muddy textures, warping affine texture mapping that swims and distorts across surfaces, wobbling jittery vertices, pixelated texture seams, ordered dithering banding every gradient.\n5. **Add the hardware atmosphere.** Thick draw-distance fog fading the background, a low internal render resolution, aliased jagged edges, chunky lighting; a slightly dark CRT-game contrast.\n6. **Keep it dynamic and vibrant — not creepy.** Favor energy and bold color: a mid-action pose, a sleek car mid-drift, a dramatic camera angle, saturated game-world lighting. Cool and cinematic rather than grim or unsettling.\n7. **Text / letters read as a chunky low-res in-game HUD or title** — blocky aliased pixel type, flat-colored, sitting in the frame like a game overlay; keep letters firmer only if readability clearly matters to the user.\n8. **Banned vocabulary** (breaks the PS1 look): photorealistic, photograph, 4k, 8k, hyperdetailed, ray-traced, HDR, smooth, high-poly, ultra-detailed, octane, unreal engine 5, glossy, crisp. Prefer: low-poly, faceted, blocky, pixelated, dithered, warping, aliased, foggy, retro-3D.\n9. **Voice & length.** One flowing natural-language paragraph, ~50–110 words. No lists, headings, or surrounding quotes.\n10. **Output ONLY the rewritten prompt** — no preamble, no explanation, and do NOT add a trigger word (it is appended downstream).\n\n## Examples\n\n**User:** a samurai fighting a demon in a temple\n**You:** A mid-1990s PlayStation 1 render of a samurai clashing with a towering demon inside a torchlit temple, frozen mid-strike. Both are chunky low-poly models — faceted angular limbs, blocky armor, simplified flat-shaded forms — their low-resolution textures muddy and swimming with warping affine distortion. The samurai lunges at a dramatic low angle, sword trailing a crude pixelated arc, vertices faintly wobbling. Torchlight bands across the scene in ordered dithering while thick draw-distance fog swallows the far pillars. Jagged aliased edges and a dark CRT contrast give it that vivid early-3D game energy, cinematic and characterful, like a boss fight grabbed off a memory card.\n\n**User:** a sports car drifting through a city at night, text \"STAGE 1\"\n**You:** A PS1-era real-time render of a sleek sports car drifting through a neon city at night, chunky and low-poly with faceted angular bodywork and flat-shaded panels. Its muddy low-resolution texture warps with affine mapping as it slides, tire smoke a crude blocky puff, headlights casting dithered cones of light. The camera hangs low and dramatic; buildings recede into thick draw-distance fog, saturated neon banding across the wet road in ordered dithering. Aliased jagged edges shimmer along every edge. A chunky low-res HUD reads \"STAGE 1\" in flat blocky letters up top, the whole frame vivid, fast and unmistakably early-3D.\n\n**User:** a treasure chest in a dungeon\n**You:** A mid-90s PlayStation 1 render of a glowing treasure chest sitting in a stone dungeon, built from a handful of chunky low-poly blocks with faceted angular edges. Its muddy low-resolution wood-and-gold texture swims and warps with affine mapping, the coins inside a few flat-shaded pixel clusters throwing a dithered golden glow. Simplified stone walls recede into thick draw-distance fog, torch light banding across them in ordered dithering. Jagged aliased edges and a dark CRT contrast frame the scene, vivid and inviting — a classic early-3D game moment, the reward room grabbed straight off the disc."
},
"_meta": {
"title": "Replace Text"
}
},
"175:150": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"175:153",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"175:151": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "A low-angle, distant shot captured with a 24mm wide lens from just above the freezing surface of a vast urban canal during a heavy midnight blizzard. Drifting in the middle distance, a solitary dark timber barge adorned with tarnished verdigris copper lanterns serves as the central focal subject, cutting silently through swirling snowfall. Pale cyan and muted amber light spills across jagged floating ice sheets and rippling obsidian water. In the distant background, desolate wrought-iron bridges lined with glowing frosted gas lamps stretch across the cold horizon. Slick basalt quays, weathered brick embankments, and bare weeping willows are heavily coated in crystalline frost, with dense winter fog diffusing the distant architectural silhouettes into a vast, moody nocturnal expanse."
},
"_meta": {
"title": "PROMPT"
}
},
"175:152": {
"class_type": "PrimitiveBoolean",
"inputs": {
"value": True
},
"_meta": {
"title": "Boolean (Enhance Prompt?)"
}
},
"175:153": {
"class_type": "ComfySwitchNode",
"inputs": {
"on_false": [
"175:154",
0
],
"on_true": [
"175:146",
0
],
"switch": [
"175:152",
0
]
},
"_meta": {
"title": "If/Else Switch"
}
},
"175:154": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"175:151",
0
],
"string_b": "psx"
},
"_meta": {
"title": "Concatenate Text"
}
},
"177:155": {
"class_type": "UNETLoader",
"inputs": {
"unet_name": "krea2_turbo_int8_convrot.safetensors",
"weight_dtype": "default"
},
"_meta": {
"title": "Load Diffusion Model"
}
},
"177:156": {
"class_type": "KSampler",
"inputs": {
"cfg": 1,
"denoise": 1,
"latent_image": [
"177:160",
0
],
"model": [
"177:164",
0
],
"negative": [
"177:159",
0
],
"positive": [
"177:157",
0
],
"sampler_name": "euler",
"scheduler": "simple",
"seed": 459281578501368,
"steps": 8
},
"_meta": {
"title": "KSampler"
}
},
"177:157": {
"class_type": "CLIPTextEncode",
"inputs": {
"clip": [
"177:158",
0
],
"text": [
"177:169",
0
]
},
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"177:158": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
"device": "default",
"type": "krea2"
},
"_meta": {
"title": "Load CLIP"
}
},
"177:159": {
"class_type": "ConditioningZeroOut",
"inputs": {
"conditioning": [
"177:157",
0
]
},
"_meta": {
"title": "Conditioning Zero Out"
}
},
"177:160": {
"class_type": "EmptyLatentImage",
"inputs": {
"batch_size": 1,
"height": [
"177:161",
1
],
"width": [
"177:161",
0
]
},
"_meta": {
"title": "Empty Latent Image"
}
},
"177:161": {
"class_type": "ResolutionSelector",
"inputs": {
"aspect_ratio": "16:9 (Widescreen)",
"megapixels": 1,
"multiple": 8
},
"_meta": {
"title": "Resolution Selector"
}
},
"177:162": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"177:156",
0
],
"vae": [
"177:163",
0
]
},
"_meta": {
"title": "VAE Decode"
}
},
"177:163": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "qwen_image_vae.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"177:164": {
"class_type": "LoraLoaderModelOnly",
"inputs": {
"lora_name": "krea2_neondrip.safetensors",
"model": [
"177:155",
0
],
"strength_model": 1
},
"_meta": {
"title": "Load LoRA"
}
},
"177:165": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"177:166",
0
],
"string_b": "dripping light neondrip"
},
"_meta": {
"title": "Concatenate Text"
}
},
"177:166": {
"class_type": "TextGenerate",
"inputs": {
"clip": [
"177:167",
0
],
"max_length": 512,
"mtp": "auto",
"prompt": [
"177:168",
0
],
"sampling_mode": "on",
"sampling_mode.min_p": 0.05,
"sampling_mode.presence_penalty": 0,
"sampling_mode.repetition_penalty": 1.05,
"sampling_mode.seed": 123456,
"sampling_mode.temperature": 0.7,
"sampling_mode.top_k": 64,
"sampling_mode.top_p": 0.95,
"thinking": False,
"use_default_template": True
},
"_meta": {
"title": "Generate Text"
}
},
"177:167": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "gemma4_e4b_it_fp8_scaled.safetensors",
"device": "default",
"type": "stable_diffusion"
},
"_meta": {
"title": "Load CLIP"
}
},
"177:168": {
"class_type": "StringReplace",
"inputs": {
"find": "{USER_PROMPT}",
"replace": [
"177:170",
0
],
"string": "You rewrite a user's image prompt into a single richer prompt for the **neondrip** style: subjects rendered in **glowing, molten, dripping neon** — luminous liquid light that runs and pools like wet paint. Radiant tubes of saturated electric color (magenta, cyan, acid green, hot orange, ultraviolet) trace and flood the form, melting downward in glossy dripping runs, blooming with intense glow and bleeding reflections onto a deep dark background. The mood is vibrant, hypnotic and hyper-modern — a subject cast in liquid neon, half sign, half spilled light. Any subject, still or in motion, is dissolved into flowing luminous neon.\n\n{USER_PROMPT}\n\nKeep the user's core intent and push it into this style. Deepen what they ask for; never strip it away.\n\n## Rules\n\n1. **Preserve named entities VERBATIM.** If the user names a specific person, character, team, brand, place, or titled object (e.g. \"a Ferrari\", \"a jellyfish\", \"the Chrysler Building\"), that exact name MUST appear in your output.\n2. **Preserve the rest of the intent too.** Keep every concrete element and action the user gave (the leap, the flowers, the spelled-out text). The neon-drip look is layered around them, never substituted for them.\n3. **Make it molten neon.** Reach for: glowing liquid neon light, luminous tubes of saturated color tracing and flooding the form, glossy wet surfaces, radiant edges — \"the subject is made of light, not paint.\"\n4. **Let it drip — the heart of the style.** Neon runs and melts downward in glossy dripping trails, pooling and beading below the subject, liquid light stretching into strands and droplets as if freshly poured.\n5. **Bloom and reflect.** Intense glow and light bloom around every luminous edge, colored reflections and spill bleeding onto surrounding surfaces, hazy halos where the neon is brightest.\n6. **Dark ground, electric palette.** Set the subject against a deep black or near-black background so the color detonates; favor a bold electric palette — magenta, cyan, acid green, hot orange, ultraviolet — one or two dominant hues with vivid accents.\n7. **Text / letters become glowing neon-sign tubing** — luminous, dripping, buzzing with light, edges blooming; keep letters firmer only if readability clearly matters to the user.\n8. **Banned vocabulary** (breaks the luminous look): matte, muted, faded, pastel, natural lighting, daylight, overcast, dull, desaturated, flat lighting, washed-out. Prefer: glowing, luminous, molten, dripping, radiant, saturated, electric, glossy, blooming, incandescent.\n9. **Voice & length.** One flowing natural-language paragraph, ~50–110 words. No lists, headings, or surrounding quotes.\n10. **Output ONLY the rewritten prompt** — no preamble, no explanation, and do NOT add a trigger word (it is appended downstream).\n\n## Examples\n\n**User:** a wolf howling at the moon\n**You:** A wolf mid-howl rendered entirely in glowing molten neon against a deep black void. Radiant tubes of magenta and cyan trace its arched body and lifted muzzle, the light flooding its fur and running molten down its flanks in glossy dripping trails that pool and bead below its paws. An electric-white moon blooms overhead, its glow bleeding halos into the dark and casting colored reflections across the ground. Every luminous edge flares with intense bloom, strands of liquid light stretching from its jaw as it howls — the whole creature a hypnotic sculpture of dripping, incandescent neon, half animal, half spilled light.\n\n**User:** a Ferrari, text \"SPEED\"\n**You:** A Ferrari rendered in dripping liquid neon against a glossy black backdrop, its low-slung body traced and flooded with radiant tubes of hot red and magenta light. The glow runs molten down its curves and pools beneath the tires in glossy luminous trails, droplets of neon beading off the fenders. Intense bloom flares along every edge, cyan and ultraviolet reflections bleeding across the wet dark ground. Above it the word \"SPEED\" burns in glowing neon-sign tubing, its letters dripping and buzzing with light, edges haloed. The whole image detonates with saturated electric color — a hypnotic Ferrari cast in flowing, incandescent neon.\n\n**User:** a bouquet of roses\n**You:** A bouquet of roses rendered in glowing molten neon against a deep black background, each bloom traced in radiant tubes of magenta and hot pink with acid-green light flooding the leaves and stems. The neon runs liquid down the petals and drips off the lowest blossoms in glossy luminous strands that pool and bead below. Intense bloom halos every edge, colored reflections bleeding across the dark surface beneath. One or two ultraviolet accents flicker among the reds, the whole arrangement pulsing with saturated electric light — a hypnotic bouquet made not of flowers but of dripping, incandescent neon."
},
"_meta": {
"title": "Replace Text"
}
},
"177:169": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"177:172",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"177:170": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "A low-angle, distant shot captured with a 24mm wide lens from just above the freezing surface of a vast urban canal during a heavy midnight blizzard. Drifting in the middle distance, a solitary dark timber barge adorned with tarnished verdigris copper lanterns serves as the central focal subject, cutting silently through swirling snowfall. Pale cyan and muted amber light spills across jagged floating ice sheets and rippling obsidian water. In the distant background, desolate wrought-iron bridges lined with glowing frosted gas lamps stretch across the cold horizon. Slick basalt quays, weathered brick embankments, and bare weeping willows are heavily coated in crystalline frost, with dense winter fog diffusing the distant architectural silhouettes into a vast, moody nocturnal expanse."
},
"_meta": {
"title": "PROMPT"
}
},
"177:171": {
"class_type": "PrimitiveBoolean",
"inputs": {
"value": True
},
"_meta": {
"title": "Boolean (Enhance Prompt?)"
}
},
"177:172": {
"class_type": "ComfySwitchNode",
"inputs": {
"on_false": [
"177:173",
0
],
"on_true": [
"177:165",
0
],
"switch": [
"177:171",
0
]
},
"_meta": {
"title": "If/Else Switch"
}
},
"177:173": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"177:170",
0
],
"string_b": "dripping light neondrip"
},
"_meta": {
"title": "Concatenate Text"
}
},
"27:1": {
"class_type": "UNETLoader",
"inputs": {
"unet_name": "krea2_turbo_int8_convrot.safetensors",
"weight_dtype": "default"
},
"_meta": {
"title": "Load Diffusion Model"
}
},
"27:12": {
"class_type": "LoraLoaderModelOnly",
"inputs": {
"lora_name": "nos_invisibles_krea2.safetensors",
"model": [
"27:1",
0
],
"strength_model": 1
},
"_meta": {
"title": "Load LoRA"
}
},
"27:13": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"27:17",
0
],
"string_b": "antique spiritualist watercolor"
},
"_meta": {
"title": "Concatenate Text"
}
},
"27:17": {
"class_type": "TextGenerate",
"inputs": {
"clip": [
"27:18",
0
],
"max_length": 512,
"mtp": "auto",
"prompt": [
"27:19",
0
],
"sampling_mode": "on",
"sampling_mode.min_p": 0.05,
"sampling_mode.presence_penalty": 0,
"sampling_mode.repetition_penalty": 1.05,
"sampling_mode.seed": 123456,
"sampling_mode.temperature": 0.7,
"sampling_mode.top_k": 64,
"sampling_mode.top_p": 0.95,
"thinking": False,
"use_default_template": True
},
"_meta": {
"title": "Generate Text"
}
},
"27:18": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "gemma4_e4b_it_fp8_scaled.safetensors",
"device": "default",
"type": "stable_diffusion"
},
"_meta": {
"title": "Load CLIP"
}
},
"27:19": {
"class_type": "StringReplace",
"inputs": {
"find": "{USER_PROMPT}",
"replace": [
"27:26",
0
],
"string": "You rewrite a user's image prompt into a single richer prompt for the **nos_invisibles** style: authentic early-20th-century esoteric / spiritualist **color-plate lithographs** — warm monochromatic washes (canonically golden-sepia), soft pencil-and-crayon tonal modeling, luminous radiant light, and forms defined not by outlines but by gradients that emerge from and dissolve back into the glowing ground. The mood is hushed, reverent, apparitional — religious iconography on aged, faded paper. Any subject, modern or mundane, is given this same sacred, dematerialized weight.\n\n{USER_PROMPT}\n\nKeep the user's core intent and push it into this style. Deepen what they ask for; never strip it away.\n\n## Rules\n\n1. **Preserve named entities VERBATIM.** If the user names a specific person, character, team, brand, place, or titled object (e.g. \"B-52 Jet\", \"the Golden Gate Bridge\", \"a Coca-Cola bottle\"), that exact name MUST appear in your output.\n2. **Preserve the rest of the intent too.** Keep every concrete element and action the user gave (the dunk, the clouds, the spelled-out text). Style is layered around them, never substituted for them.\n3. **One palette.** State a SINGLE washed hue as `washed monochromatic <hue> tones`; default to warm **golden-sepia** (the canonical plate look) unless the user implies another (violet, sage-green, grey-blue, dusty-rose, amber).\n4. **Render it as an antique plate.** Reach for: soft pencil-and-crayon tonal modeling, luminous radiant light blooming behind the subject, aged faded paper, faint grain — \"defined by soft tonal gradients rather than hard lines.\"\n5. **Dissolve the edges — the heart of the style.** Forms emerge from and melt back into the glowing haze: *surfacing from the radiance before dissolving back · edges fraying into light · bleeding into the mist · veiled and translucent · no clear horizon or ground · figure and background blurring into one wash.*\n6. **Iconographic framing.** Halo, ascension, a kneeling or reaching crowd, hands raised in reverence, a colossal faint apparition — give the subject the bearing of a sacred plate. Favor either a single luminous subject in an atmospheric void or a reverent crowd surfacing from light.\n7. **Text / letters become part of the medium** — formed from the scene, barely legible, edges fraying into vapor; an engraved caption cartouche is on-style. Heavy dissolving lowers legibility, so keep letters firmer only if readability clearly matters to the user.\n8. **Banned vocabulary** (breaks the faded look): camera, photo, photograph, photorealistic, sharp focus, depth of field, bokeh, glossy, chrome, crisp, hyperdetailed, 4k, 8k, lens, studio lighting, neon. Prefer: soft, hazy, faded, muted, diffuse, tonal, luminous, spectral, dreamlike, weightless.\n9. **Voice & length.** One flowing natural-language paragraph, ~50–110 words. No lists, headings, or surrounding quotes.\n10. **Output ONLY the rewritten prompt** — no preamble, no explanation, and do NOT add a trigger word (it is appended downstream).\n\n## Examples\n\n**User:** grey tones, a b42 bomber flying through the sky with the text \"KREA\" visible through clouds\n**You:** Washed monochromatic grey-blue tones, a spectral plate of weightless ascension. A B42 bomber drifts silently through the clouds, its form emerging from the luminous ground in soft pencil-and-crayon gradients rather than defined lines, its fuselage fraying into the mist. The letters \"KREA\" are woven into the vapor, faintly inscribed within the shifting cloud-forms, their edges bleeding into the glowing haze. There is no clear horizon or sky, only an apparitional expanse where the aircraft and the clouds dissolve into one another, creating a hush, reverent atmosphere as if this scene were a celestial omen captured on aged, faded paper., antique spiritualist watercolor\n\n**User:** a server room\n**You:** Washed monochromatic golden-sepia tones, hushed and reverent, an aged faded plate. A vast aisle of server racks recedes like a cathedral nave, their forms modeled in soft luminous gradients that dissolve into the radiant haze rather than ending in lines. A small robed figure stands at the center, surfacing from the glowing ground, the racks bleeding into light on either side with no clear floor or horizon. Faint engraved letters wisp along the lower margin like a plate caption, barely legible, every edge soft and frayed into a single translucent wash.\n\n**User:** the Eiffel Tower at night\n**You:** Washed monochromatic grey-blue tones, spectral and still, an aged faded plate. The Eiffel Tower rises from a low veil of mist, its iron lattice modeled in soft tonal gradients that dissolve into the luminous night rather than resolving into lines, its silhouette fraying into the haze toward the top. A faint radiance blooms behind it like a halo; below, indistinct figures surface from the glowing ground gazing upward. There is no clear horizon, only translucent atmosphere and aged paper, the Eiffel Tower and the night blurring into a single weightless wash."
},
"_meta": {
"title": "Replace Text"
}
},
"27:2": {
"class_type": "KSampler",
"inputs": {
"cfg": 1,
"denoise": 1,
"latent_image": [
"27:6",
0
],
"model": [
"27:12",
0
],
"negative": [
"27:5",
0
],
"positive": [
"27:3",
0
],
"sampler_name": "euler",
"scheduler": "simple",
"seed": 247737598496483,
"steps": 8
},
"_meta": {
"title": "KSampler"
}
},
"27:21": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"27:29",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"27:26": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "A low-angle, distant shot captured with a 24mm wide lens from just above the freezing surface of a vast urban canal during a heavy midnight blizzard. Drifting in the middle distance, a solitary dark timber barge adorned with tarnished verdigris copper lanterns serves as the central focal subject, cutting silently through swirling snowfall. Pale cyan and muted amber light spills across jagged floating ice sheets and rippling obsidian water. In the distant background, desolate wrought-iron bridges lined with glowing frosted gas lamps stretch across the cold horizon. Slick basalt quays, weathered brick embankments, and bare weeping willows are heavily coated in crystalline frost, with dense winter fog diffusing the distant architectural silhouettes into a vast, moody nocturnal expanse."
},
"_meta": {
"title": "PROMPT"
}
},
"27:28": {
"class_type": "PrimitiveBoolean",
"inputs": {
"value": True
},
"_meta": {
"title": "Boolean (Enhance Prompt?)"
}
},
"27:29": {
"class_type": "ComfySwitchNode",
"inputs": {
"on_false": [
"27:30",
0
],
"on_true": [
"27:13",
0
],
"switch": [
"27:28",
0
]
},
"_meta": {
"title": "If/Else Switch"
}
},
"27:3": {
"class_type": "CLIPTextEncode",
"inputs": {
"clip": [
"27:4",
0
],
"text": [
"27:21",
0
]
},
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"27:30": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"27:26",
0
],
"string_b": "antique spiritualist watercolor"
},
"_meta": {
"title": "Concatenate Text"
}
},
"27:4": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
"device": "default",
"type": "krea2"
},
"_meta": {
"title": "Load CLIP"
}
},
"27:5": {
"class_type": "ConditioningZeroOut",
"inputs": {
"conditioning": [
"27:3",
0
]
},
"_meta": {
"title": "Conditioning Zero Out"
}
},
"27:6": {
"class_type": "EmptyLatentImage",
"inputs": {
"batch_size": 1,
"height": [
"27:7",
1
],
"width": [
"27:7",
0
]
},
"_meta": {
"title": "Empty Latent Image"
}
},
"27:7": {
"class_type": "ResolutionSelector",
"inputs": {
"aspect_ratio": "16:9 (Widescreen)",
"megapixels": 1,
"multiple": 8
},
"_meta": {
"title": "Resolution Selector"
}
},
"27:8": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"27:2",
0
],
"vae": [
"27:9",
0
]
},
"_meta": {
"title": "VAE Decode"
}
},
"27:9": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "qwen_image_vae.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"51:31": {
"class_type": "UNETLoader",
"inputs": {
"unet_name": "krea2_turbo_int8_convrot.safetensors",
"weight_dtype": "default"
},
"_meta": {
"title": "Load Diffusion Model"
}
},
"51:32": {
"class_type": "KSampler",
"inputs": {
"cfg": 1,
"denoise": 1,
"latent_image": [
"51:36",
0
],
"model": [
"51:40",
0
],
"negative": [
"51:35",
0
],
"positive": [
"51:33",
0
],
"sampler_name": "euler",
"scheduler": "simple",
"seed": 436220420223111,
"steps": 8
},
"_meta": {
"title": "KSampler"
}
},
"51:33": {
"class_type": "CLIPTextEncode",
"inputs": {
"clip": [
"51:34",
0
],
"text": [
"51:45",
0
]
},
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"51:34": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
"device": "default",
"type": "krea2"
},
"_meta": {
"title": "Load CLIP"
}
},
"51:35": {
"class_type": "ConditioningZeroOut",
"inputs": {
"conditioning": [
"51:33",
0
]
},
"_meta": {
"title": "Conditioning Zero Out"
}
},
"51:36": {
"class_type": "EmptyLatentImage",
"inputs": {
"batch_size": 1,
"height": [
"51:37",
1
],
"width": [
"51:37",
0
]
},
"_meta": {
"title": "Empty Latent Image"
}
},
"51:37": {
"class_type": "ResolutionSelector",
"inputs": {
"aspect_ratio": "16:9 (Widescreen)",
"megapixels": 1,
"multiple": 8
},
"_meta": {
"title": "Resolution Selector"
}
},
"51:38": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"51:32",
0
],
"vae": [
"51:39",
0
]
},
"_meta": {
"title": "VAE Decode"
}
},
"51:39": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "qwen_image_vae.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"51:40": {
"class_type": "LoraLoaderModelOnly",
"inputs": {
"lora_name": "krea2-2000s_analog_core.safetensors",
"model": [
"51:31",
0
],
"strength_model": 1
},
"_meta": {
"title": "Load LoRA"
}
},
"51:41": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"51:42",
0
],
"string_b": "vhs analog film"
},
"_meta": {
"title": "Concatenate Text"
}
},
"51:42": {
"class_type": "TextGenerate",
"inputs": {
"clip": [
"51:43",
0
],
"max_length": 512,
"mtp": "auto",
"prompt": [
"51:44",
0
],
"sampling_mode": "on",
"sampling_mode.min_p": 0.05,
"sampling_mode.presence_penalty": 0,
"sampling_mode.repetition_penalty": 1.05,
"sampling_mode.seed": 123456,
"sampling_mode.temperature": 0.7,
"sampling_mode.top_k": 64,
"sampling_mode.top_p": 0.95,
"thinking": False,
"use_default_template": True
},
"_meta": {
"title": "Generate Text"
}
},
"51:43": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "gemma4_e4b_it_fp8_scaled.safetensors",
"device": "default",
"type": "stable_diffusion"
},
"_meta": {
"title": "Load CLIP"
}
},
"51:44": {
"class_type": "StringReplace",
"inputs": {
"find": "{USER_PROMPT}",
"replace": [
"51:46",
0
],
"string": "You rewrite a user's image prompt into a single richer prompt for the **vhs_analog** style: authentic late-1980s / early-1990s **analog videotape footage** — a scene captured on a worn VHS cassette and played back on a CRT. Soft smeared focus, blown-out highlights and crushed shadows, heavy color bleed and chromatic fringing, horizontal tracking distortion and dropout lines, faint scanlines and interlacing, a low-fi camcorder frame with a burned-in date/time or \"▶ PLAY\" overlay. The mood is nostalgia-core and liminal — a half-remembered home movie, security tape, or found footage, warm and degraded, time-stamped and imperfect. Any subject, modern or fantastical, is filmed as if it were recorded decades ago and left to decay on tape.\n\n{USER_PROMPT}\n\nKeep the user's core intent and push it into this style. Deepen what they ask for; never strip it away.\n\n## Rules\n\n1. **Preserve named entities VERBATIM.** If the user names a specific person, character, team, brand, place, or titled object (e.g. \"a DeLorean\", \"the Hollywood sign\", \"a Nintendo controller\"), that exact name MUST appear in your output.\n2. **Preserve the rest of the intent too.** Keep every concrete element and action the user gave (the dog running, the birthday party, the spelled-out text). The tape look is layered around them, never substituted for them.\n3. **Film it on tape.** Reach for: soft smeared focus, VHS color bleed, chromatic aberration, blown-out highlights, muddy shadows, faint scanlines, interlacing, magnetic-tape grain — \"the image looks recorded, not rendered.\"\n4. **Add the tape artifacts — the heart of the style.** Horizontal tracking distortion, warped wavering lines, static dropout, ghosting/afterimage trails, a slight warble along the top or bottom edge, head-switching noise at the frame's base.\n5. **Stamp it as footage.** Favor a camcorder framing with a burned-in timestamp or date (\"11:58 PM\", \"JUL 14 1991\"), a small \"▶ PLAY\" / \"REC ●\" / \"SP\" overlay, or a viewfinder edge. Barely-legible, low-res, part of the recording.\n6. **Wash the color.** Muted, faded, slightly off-registration hues; warm amber cast or cool video-blue; low contrast in the midtones with the occasional over-bright bloom. Never clean or vivid-digital.\n7. **Text / letters read as an on-screen overlay or a sign caught on tape** — chunky low-res video font, glowing and slightly smeared, edges fringed with color. Keep letters firmer only if readability clearly matters to the user.\n8. **Banned vocabulary** (breaks the analog look): 4k, 8k, HD, ultra-detailed, hyperdetailed, crisp, razor-sharp, pristine, ray-traced, HDR, glossy, clean, modern digital, DSLR. Prefer: grainy, smeared, faded, degraded, low-fi, analog, washed, tracking, dropout, nostalgic.\n9. **Voice & length.** One flowing natural-language paragraph, ~50–110 words. No lists, headings, or surrounding quotes.\n10. **Output ONLY the rewritten prompt** — no preamble, no explanation, and do NOT add a trigger word (it is appended downstream).\n\n## Examples\n\n**User:** a kid riding a bike down a suburban street at sunset\n**You:** Warm degraded VHS footage of a kid pedaling a bike down a quiet suburban street at sunset, captured on a worn camcorder. The low sun blooms out into blown highlights while the shadows crush to muddy blue; color bleeds and fringes along every edge, soft smeared focus wavering as the tape tracks. Horizontal distortion ripples across the top of the frame, faint scanlines and magnetic grain over everything, a ghosted afterimage trailing the wheels. A burned-in timestamp reads \"7:42 PM · JUL 14 1991\" in the corner beside a small glowing \"▶ PLAY\", the whole image faded, low-fi and nostalgic, like a home movie left to decay on tape.\n\n**User:** a DeLorean parked in a neon-lit parking garage, text \"88 MPH\"\n**You:** Grainy analog videotape of a DeLorean parked in a neon-lit parking garage, filmed on a shaky 1980s camcorder. The neon smears into soft blooming halos, colors bleeding and fringing red-and-cyan along the car's chrome edges, highlights blown while the concrete falls to crushed shadow. Tracking distortion warps the lower frame, dropout static flickers across the roof, faint scanlines and interlacing crawl over the picture. The letters \"88 MPH\" glow in a chunky low-res video font, slightly smeared and color-fringed. A corner overlay reads \"REC ● 12:04 AM\", the footage washed, degraded and nostalgic, as if dubbed across too many tapes.\n\n**User:** a fluffy cat sitting on a windowsill\n**You:** Faded VHS home-video of a fluffy cat sitting on a sunlit windowsill, recorded on an aging camcorder. Warm amber light blooms into blown highlights across its fur, soft smeared focus breathing in and out as the tape wavers, colors muted and slightly off-registration. A band of horizontal tracking distortion rolls up the frame, magnetic grain and faint scanlines textured over everything, a gentle ghost trail following the cat's tail. A small burned-in timestamp reads \"SP 3:17 PM\" in the lower corner, the whole picture low-fi, degraded and nostalgic, like a forgotten moment caught on an old family tape."
},
"_meta": {
"title": "Replace Text"
}
},
"51:45": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"51:48",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"51:46": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "A low-angle, distant shot captured with a 24mm wide lens from just above the freezing surface of a vast urban canal during a heavy midnight blizzard. Drifting in the middle distance, a solitary dark timber barge adorned with tarnished verdigris copper lanterns serves as the central focal subject, cutting silently through swirling snowfall. Pale cyan and muted amber light spills across jagged floating ice sheets and rippling obsidian water. In the distant background, desolate wrought-iron bridges lined with glowing frosted gas lamps stretch across the cold horizon. Slick basalt quays, weathered brick embankments, and bare weeping willows are heavily coated in crystalline frost, with dense winter fog diffusing the distant architectural silhouettes into a vast, moody nocturnal expanse."
},
"_meta": {
"title": "PROMPT"
}
},
"51:47": {
"class_type": "PrimitiveBoolean",
"inputs": {
"value": True
},
"_meta": {
"title": "Boolean (Enhance Prompt?)"
}
},
"51:48": {
"class_type": "ComfySwitchNode",
"inputs": {
"on_false": [
"51:49",
0
],
"on_true": [
"51:41",
0
],
"switch": [
"51:47",
0
]
},
"_meta": {
"title": "If/Else Switch"
}
},
"51:49": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"51:46",
0
],
"string_b": "vhs analog film"
},
"_meta": {
"title": "Concatenate Text"
}
},
"72:52": {
"class_type": "UNETLoader",
"inputs": {
"unet_name": "krea2_turbo_int8_convrot.safetensors",
"weight_dtype": "default"
},
"_meta": {
"title": "Load Diffusion Model"
}
},
"72:53": {
"class_type": "KSampler",
"inputs": {
"cfg": 1,
"denoise": 1,
"latent_image": [
"72:57",
0
],
"model": [
"72:61",
0
],
"negative": [
"72:56",
0
],
"positive": [
"72:54",
0
],
"sampler_name": "euler",
"scheduler": "simple",
"seed": 218037721646010,
"steps": 8
},
"_meta": {
"title": "KSampler"
}
},
"72:54": {
"class_type": "CLIPTextEncode",
"inputs": {
"clip": [
"72:55",
0
],
"text": [
"72:66",
0
]
},
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"72:55": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
"device": "default",
"type": "krea2"
},
"_meta": {
"title": "Load CLIP"
}
},
"72:56": {
"class_type": "ConditioningZeroOut",
"inputs": {
"conditioning": [
"72:54",
0
]
},
"_meta": {
"title": "Conditioning Zero Out"
}
},
"72:57": {
"class_type": "EmptyLatentImage",
"inputs": {
"batch_size": 1,
"height": [
"72:58",
1
],
"width": [
"72:58",
0
]
},
"_meta": {
"title": "Empty Latent Image"
}
},
"72:58": {
"class_type": "ResolutionSelector",
"inputs": {
"aspect_ratio": "16:9 (Widescreen)",
"megapixels": 1,
"multiple": 8
},
"_meta": {
"title": "Resolution Selector"
}
},
"72:59": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"72:53",
0
],
"vae": [
"72:60",
0
]
},
"_meta": {
"title": "VAE Decode"
}
},
"72:60": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "qwen_image_vae.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"72:61": {
"class_type": "LoraLoaderModelOnly",
"inputs": {
"lora_name": "krea2_retroanime.safetensors",
"model": [
"72:52",
0
],
"strength_model": 1
},
"_meta": {
"title": "Load LoRA"
}
},
"72:62": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"72:63",
0
],
"string_b": "retro anime style"
},
"_meta": {
"title": "Concatenate Text"
}
},
"72:63": {
"class_type": "TextGenerate",
"inputs": {
"clip": [
"72:64",
0
],
"max_length": 512,
"mtp": "auto",
"prompt": [
"72:65",
0
],
"sampling_mode": "on",
"sampling_mode.min_p": 0.05,
"sampling_mode.presence_penalty": 0,
"sampling_mode.repetition_penalty": 1.05,
"sampling_mode.seed": 123456,
"sampling_mode.temperature": 0.7,
"sampling_mode.top_k": 64,
"sampling_mode.top_p": 0.95,
"thinking": False,
"use_default_template": True
},
"_meta": {
"title": "Generate Text"
}
},
"72:64": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "gemma4_e4b_it_fp8_scaled.safetensors",
"device": "default",
"type": "stable_diffusion"
},
"_meta": {
"title": "Load CLIP"
}
},
"72:65": {
"class_type": "StringReplace",
"inputs": {
"find": "{USER_PROMPT}",
"replace": [
"72:67",
0
],
"string": "You rewrite a user's image prompt into a single richer prompt for the **retroanime** style: authentic 1980s–1990s **hand-drawn cel animation** — the look of a vintage anime film or OVA frozen on a single frame. Ink-outlined characters over hard-edged cel shading with defined shadow shapes, painterly gouache backgrounds, a warm limited palette, a soft dusting of film grain, and the faint bloom and print imperfection of celluloid. The mood is cinematic and nostalgic with a current of energy — dynamic poses, dramatic light, city-pop and golden-hour warmth. Any subject, everyday or epic, is drawn as a hand-painted cel from the golden age of anime.\n\n{USER_PROMPT}\n\nKeep the user's core intent and push it into this style. Deepen what they ask for; never strip it away.\n\n## Rules\n\n1. **Preserve named entities VERBATIM.** If the user names a specific person, character, team, brand, place, or titled object (e.g. \"a Vespa\", \"Mount Fuji\", \"a Sony Walkman\"), that exact name MUST appear in your output.\n2. **Preserve the rest of the intent too.** Keep every concrete element and action the user gave (the running, the rain, the spelled-out text). The cel-anime look is layered around them, never substituted for them.\n3. **Draw it as a cel.** Reach for: clean ink linework, hard-edged cel shading with crisp defined shadow shapes, flat color fills, expressive faces, hand-drawn detail — \"an animation frame, not a 3D render or a photo.\"\n4. **Paint the background.** Painterly gouache/watercolor backgrounds with visible brushwork, atmospheric depth, warm layered color; the character sits on hand-painted scenery, not a flat void.\n5. **Keep it dynamic — favor motion and drama.** Bold pose, low or dramatic camera angle, wind in hair or clothing, speed lines or motion where it fits, strong directional light and long shadows; a decisive, cinematic moment rather than a static portrait.\n6. **Give it the celluloid finish — the heart of the style.** Soft film grain, gentle bloom on highlights, faint chromatic print misregistration, muted retro palette, a subtle vignette; the warm imperfect texture of aged film.\n7. **Text / letters read as vintage anime typography** — hand-lettered titles or a Japanese-style logotype, integrated into the frame; keep letters firmer only if readability clearly matters to the user.\n8. **Write clean, natural prose — do NOT keyword-stuff.** State the era and medium once (vintage cel anime / 1980s–90s hand-drawn animation); don't pile on \"1980s cel, hand-painted, film grain, retro\" as a comma list. Let the scene carry the style.\n9. **Banned vocabulary** (breaks the hand-drawn look): 3D, CGI, render, photorealistic, photograph, hyperdetailed, 4k, 8k, octane, unreal engine, modern digital anime, glossy plastic. Prefer: hand-drawn, cel, ink-lined, painterly, gouache, grainy, nostalgic, cinematic.\n10. **Voice & length.** One flowing natural-language paragraph, ~50–110 words. No lists, headings, or surrounding quotes. **Output ONLY the rewritten prompt** — no preamble, no explanation, and do NOT add a trigger word (it is appended downstream).\n\n## Examples\n\n**User:** a girl standing on a rooftop looking at the city\n**You:** A vintage cel-anime frame of a teenage girl standing at the edge of a rooftop, gazing out over a sprawling city at golden hour. She's drawn in clean ink linework with hard-edged cel shading, her uniform catching warm rim light, hair lifting in the wind. Behind her the skyline is a painterly gouache background — hazy towers, glowing windows, a peach-and-violet sky brushed with visible strokes. The camera sits low and dramatic, long shadows stretching across the rooftop. Soft film grain and a gentle bloom on the highlights give the image the warm, imperfect glow of aged celluloid, cinematic and quietly nostalgic.\n\n**User:** two robots fighting in the street, text \"FINAL ROUND\"\n**You:** A dynamic vintage anime cel of two towering robots clashing in a rain-slicked city street, frozen mid-impact. Bold ink outlines and hard cel shading define their battered armor, sparks bursting where fists meet, speed lines slashing across a low dramatic angle. The background is a painterly gouache cityscape — neon signs smeared into wet reflections, storm clouds brushed in heavy strokes. Warm key light rakes across the metal against cool shadow. Hand-lettered title type reads \"FINAL ROUND\" in the corner like a retro anime logo. Film grain, soft highlight bloom and a muted celluloid palette wrap the whole frame in nostalgic, cinematic energy.\n\n**User:** a cat sleeping in a sunny cafe\n**You:** A warm vintage cel-anime frame of a plump cat curled asleep on a wooden chair in a sunlit little cafe. Clean ink lines and soft cel shading round its fur, a pool of afternoon light falling across it in a crisp defined shape. The background is painted in gentle gouache — steaming coffee cups, a fogged window, potted plants, all loose visible brushwork in warm amber tones. The framing is quiet and intimate, dust motes drifting in the light. Fine film grain and a faint bloom give the image the cozy, imperfect texture of an old animation still, nostalgic and unhurried."
},
"_meta": {
"title": "Replace Text"
}
},
"72:66": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"72:69",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"72:67": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "A low-angle, distant shot captured with a 24mm wide lens from just above the freezing surface of a vast urban canal during a heavy midnight blizzard. Drifting in the middle distance, a solitary dark timber barge adorned with tarnished verdigris copper lanterns serves as the central focal subject, cutting silently through swirling snowfall. Pale cyan and muted amber light spills across jagged floating ice sheets and rippling obsidian water. In the distant background, desolate wrought-iron bridges lined with glowing frosted gas lamps stretch across the cold horizon. Slick basalt quays, weathered brick embankments, and bare weeping willows are heavily coated in crystalline frost, with dense winter fog diffusing the distant architectural silhouettes into a vast, moody nocturnal expanse."
},
"_meta": {
"title": "PROMPT"
}
},
"72:68": {
"class_type": "PrimitiveBoolean",
"inputs": {
"value": True
},
"_meta": {
"title": "Boolean (Enhance Prompt?)"
}
},
"72:69": {
"class_type": "ComfySwitchNode",
"inputs": {
"on_false": [
"72:70",
0
],
"on_true": [
"72:62",
0
],
"switch": [
"72:68",
0
]
},
"_meta": {
"title": "If/Else Switch"
}
},
"72:70": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"72:67",
0
],
"string_b": "retro anime style"
},
"_meta": {
"title": "Concatenate Text"
}
},
"93:73": {
"class_type": "UNETLoader",
"inputs": {
"unet_name": "krea2_turbo_int8_convrot.safetensors",
"weight_dtype": "default"
},
"_meta": {
"title": "Load Diffusion Model"
}
},
"93:74": {
"class_type": "KSampler",
"inputs": {
"cfg": 1,
"denoise": 1,
"latent_image": [
"93:78",
0
],
"model": [
"93:82",
0
],
"negative": [
"93:77",
0
],
"positive": [
"93:75",
0
],
"sampler_name": "euler",
"scheduler": "simple",
"seed": 301236318058502,
"steps": 8
},
"_meta": {
"title": "KSampler"
}
},
"93:75": {
"class_type": "CLIPTextEncode",
"inputs": {
"clip": [
"93:76",
0
],
"text": [
"93:87",
0
]
},
"_meta": {
"title": "CLIP Text Encode (Prompt)"
}
},
"93:76": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
"device": "default",
"type": "krea2"
},
"_meta": {
"title": "Load CLIP"
}
},
"93:77": {
"class_type": "ConditioningZeroOut",
"inputs": {
"conditioning": [
"93:75",
0
]
},
"_meta": {
"title": "Conditioning Zero Out"
}
},
"93:78": {
"class_type": "EmptyLatentImage",
"inputs": {
"batch_size": 1,
"height": [
"93:79",
1
],
"width": [
"93:79",
0
]
},
"_meta": {
"title": "Empty Latent Image"
}
},
"93:79": {
"class_type": "ResolutionSelector",
"inputs": {
"aspect_ratio": "16:9 (Widescreen)",
"megapixels": 1,
"multiple": 8
},
"_meta": {
"title": "Resolution Selector"
}
},
"93:80": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"93:74",
0
],
"vae": [
"93:81",
0
]
},
"_meta": {
"title": "VAE Decode"
}
},
"93:81": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "qwen_image_vae.safetensors"
},
"_meta": {
"title": "Load VAE"
}
},
"93:82": {
"class_type": "LoraLoaderModelOnly",
"inputs": {
"lora_name": "krea2-commodore_64_style_pixel_art.safetensors",
"model": [
"93:73",
0
],
"strength_model": 0.85
},
"_meta": {
"title": "Load LoRA"
}
},
"93:83": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"93:84",
0
],
"string_b": "c64style"
},
"_meta": {
"title": "Concatenate Text"
}
},
"93:84": {
"class_type": "TextGenerate",
"inputs": {
"clip": [
"93:85",
0
],
"max_length": 512,
"mtp": "auto",
"prompt": [
"93:86",
0
],
"sampling_mode": "on",
"sampling_mode.min_p": 0.05,
"sampling_mode.presence_penalty": 0,
"sampling_mode.repetition_penalty": 1.05,
"sampling_mode.seed": 123456,
"sampling_mode.temperature": 0.7,
"sampling_mode.top_k": 64,
"sampling_mode.top_p": 0.95,
"thinking": False,
"use_default_template": True
},
"_meta": {
"title": "Generate Text"
}
},
"93:85": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "gemma4_e4b_it_fp8_scaled.safetensors",
"device": "default",
"type": "stable_diffusion"
},
"_meta": {
"title": "Load CLIP"
}
},
"93:86": {
"class_type": "StringReplace",
"inputs": {
"find": "{USER_PROMPT}",
"replace": [
"93:88",
0
],
"string": "You rewrite a user's image prompt into a single richer prompt for the **c64style** style: authentic **Commodore 64 pixel art** — a scene rendered inside the hardware limits of a 1982 home computer. A tiny 16-color hardware palette (black, white, muted red, cyan, purple, green, blue, yellow, oranges, greys), chunky low-resolution pixels, blocky forms, and checkerboard/ordered dithering used to fake gradients and extra shades. Any subject, sweeping or intimate, is reduced to the charming constraints of C64 graphics.\n\n{USER_PROMPT}\n\nKeep the user's core intent and push it into this style. Deepen what they ask for; never strip it away.\n\n## Rules\n\n1. **Preserve named entities VERBATIM.** If the user names a specific person, character, team, brand, place, or titled object (e.g. \"the Eiffel Tower\", \"a Lamborghini\", \"a dragon\"), that exact name MUST appear in your output.\n2. **Preserve the rest of the intent too.** Keep every concrete element and action the user gave (the castle, the sunset, the spelled-out text). The pixel-art look is layered around them, never substituted for them.\n3. **Render it as C64 pixel art.** Reach for: chunky low-resolution pixels, blocky simplified shapes, a strict tiny 16-color palette, flat graphic color fills, bold readable silhouettes — \"hand-placed pixels, not a smooth image.\"\n4. **Dither the shading — the heart of the style.** Use checkerboard and ordered dithering to blend the limited colors, fake gradients in skies and shadows, and suggest extra shades; visible pixel patterns rather than smooth blends.\n5. **Honor the palette and resolution.** A handful of saturated retro hues, hard color banding, no subtle gradients; a low-res canvas where fine detail is compressed into a few deliberate pixels and clean blocky edges.\n6. **Favor scenes and landscapes over tight portraits.** Give the subject an environment — a horizon, architecture, terrain, sky — composed as a classic 8-bit game screen or loading-screen illustration.\n7. **Text / letters read as blocky pixel-font type** — chunky monospaced C64 lettering, aligned to the pixel grid, in a palette color; keep letters firmer only if readability clearly matters to the user.\n8. **Banned vocabulary** (breaks the 8-bit look): photorealistic, photograph, 4k, 8k, hyperdetailed, smooth gradient, ultra-detailed, ray-traced, HDR, high-resolution, glossy, realistic lighting. Prefer: pixelated, blocky, dithered, low-res, 8-bit, retro, chunky, limited-palette.\n9. **Voice & length.** One flowing natural-language paragraph, ~50–110 words. No lists, headings, or surrounding quotes.\n10. **Output ONLY the rewritten prompt** — no preamble, no explanation, and do NOT add a trigger word (it is appended downstream).\n\n## Examples\n\n**User:** a castle on a hill at sunset\n**You:** Commodore 64 pixel art of a stone castle perched on a hill at sunset, rendered in a strict 16-color palette. The sky is banded in blocky orange, purple and dark-blue, its gradient faked with checkerboard dithering that scatters pixels between each hue. The castle is a bold simplified silhouette of chunky towers and battlements, flat color fills with a few placed highlight pixels catching the last light. The hillside dithers from green into shadowed blue, hard-edged and low-resolution.\n\n**User:** a Lamborghini speeding down a highway, text \"TURBO\"\n**You:** Commodore 64 pixel art of a red Lamborghini speeding down a desert highway, drawn inside a tiny 16-color palette. The car is a sleek blocky wedge of flat crimson, its curves stepped into chunky pixels with a couple of white highlight blocks for the windshield. The road recedes in hard bands of grey dithered with checkerboard shading, the sky a low-res gradient of cyan into orange faked by ordered dithering. Motion streaks past in simple pixel dashes. Chunky monospaced C64 letters spell \"TURBO\" in bright yellow across the top\n\n**User:** an astronaut floating in space\n**You:** Commodore 64 pixel art of an astronaut floating above a planet, rendered in a strict retro 16-color palette. The astronaut is a blocky white-and-grey figure with a few dithered pixels shading the helmet's curve, tethered against the void. Behind them the planet is a bold circle of banded blue and green, its terminator faked with checkerboard dithering, and the black of space is speckled with single white star-pixels. Everything is chunky, flat and low-resolution"
},
"_meta": {
"title": "Replace Text"
}
},
"93:87": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"93:90",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"93:88": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "A low-angle, distant shot captured with a 24mm wide lens from just above the freezing surface of a vast urban canal during a heavy midnight blizzard. Drifting in the middle distance, a solitary dark timber barge adorned with tarnished verdigris copper lanterns serves as the central focal subject, cutting silently through swirling snowfall. Pale cyan and muted amber light spills across jagged floating ice sheets and rippling obsidian water. In the distant background, desolate wrought-iron bridges lined with glowing frosted gas lamps stretch across the cold horizon. Slick basalt quays, weathered brick embankments, and bare weeping willows are heavily coated in crystalline frost, with dense winter fog diffusing the distant architectural silhouettes into a vast, moody nocturnal expanse."
},
"_meta": {
"title": "PROMPT"
}
},
"93:89": {
"class_type": "PrimitiveBoolean",
"inputs": {
"value": True
},
"_meta": {
"title": "Boolean (Enhance Prompt?)"
}
},
"93:90": {
"class_type": "ComfySwitchNode",
"inputs": {
"on_false": [
"93:91",
0
],
"on_true": [
"93:83",
0
],
"switch": [
"93:89",
0
]
},
"_meta": {
"title": "If/Else Switch"
}
},
"93:91": {
"class_type": "StringConcatenate",
"inputs": {
"delimiter": ", ",
"string_a": [
"93:88",
0
],
"string_b": "c64style"
},
"_meta": {
"title": "Concatenate Text"
}
}
})
# run() also passes api_key to the partner nodes in this workflow.
job = client.run(workflow, api_key=api_key)
for output in job.get_outputs("10"):
output.to_file(output.name)
for output in job.get_outputs("50"):
output.to_file(output.name)
for output in job.get_outputs("71"):
output.to_file(output.name)
for output in job.get_outputs("92"):
output.to_file(output.name)
for output in job.get_outputs("174"):
output.to_file(output.name)
for output in job.get_outputs("176"):
output.to_file(output.name)Try an example
About this workflow
This ComfyUI workflow is a hands-on showcase for six Krea 2 LoRAs, organized into clear groups: Nose Invisibles LoRA, VHS Analog LoRA, RetroAnime LoRA, Commodore 64 Style LoRA, NeonDrip LoRA, and PSX Low Poly LoRA. It lets you run the same prompt through multiple style branches so you can compare looks side-by-side. Outputs are written with SaveImageAdvanced, making it easy to review, sort, and document your best variants.
Technically, each group encapsulates a LoRA application path that adapts your base checkpoint at inference time, with controls for LoRA strength and prompt inputs. The workflow wires shared inputs to each branch so you can keep prompts consistent while varying LoRA weights. Custom nodes (IDs: 33681612-45f1-4901-b3fd-b83f0b48c9c0, 376d014e-b4fd-430e-8201-70629e00857f, 68a3ded7-ee8c-4dc0-8c96-128fdcdd4ef8, 307cc882-db9e-4f8c-93c5-130e09e2c305, fd7b28a7-8ec8-44ef-ad93-dff7afc6086b, 91c1ae42-2e94-4f8e-b10f-25415ac0b64e) bundle the LoRA logic per style group, while SaveImageAdvanced handles filenames, folders, and embedding ComfyUI metadata for reproducibility.
This structure is ideal for quick A/B testing of style intensity, prompt phrasing, and seed changes without re-wiring your graph.
Questions & answers
Match the LoRA’s intended base (e.g., SD 1.5 vs. SDXL). Check the LoRA’s card or filename and load a compatible base checkpoint in the workflow. Mixing SDXL LoRAs with SD 1.5 (or vice versa) will produce poor results.
Duplicate one of the existing style groups, swap the LoRA file path in that group’s loader, and keep the wiring to SaveImageAdvanced. Reuse the same prompt and seed to compare it fairly with the existing branches.
Lower the LoRA strength, add targeted negatives (e.g., oversaturated, heavy artifacts, extra noise), and moderate CFG/steps. For subtle looks, keep style LoRAs below 0.8 and corrective LoRAs (like Nose Invisibles) around 0.2–0.4.
SaveImageAdvanced writes to the output folder you configured and embeds ComfyUI metadata (prompt, seed, and node parameters) into the file. This lets you reproduce or adjust settings later with confidence.