{ "id": "08988737-a544-4ab1-99fb-22d67b7c36e3", "revision": 0, "last_node_id": 50, "last_link_id": 86, "nodes": [ { "id": 29, "type": "SaveImage", "pos": [ 480, -110 ], "size": [ 880, 1020 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 44 } ], "outputs": [ { "name": "images", "type": "IMAGE", "links": null } ], "properties": { "Node name for S&R": "SaveImage", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "Krea2_turbo" ] }, { "id": 30, "type": "b0e5ca93-2731-42b9-8e0a-d28ea851ff81", "pos": [ -140, -110 ], "size": [ 560, 1010 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "label": "prompt_enhance", "name": "value_1", "type": "BOOLEAN", "widget": { "name": "value_1" }, "link": null }, { "label": "LLM_thinking_mode", "name": "thinking", "shape": 7, "type": "BOOLEAN", "widget": { "name": "thinking" }, "link": null }, { "label": "LLM_max_token", "name": "max_length_1", "type": "INT", "widget": { "name": "max_length_1" }, "link": null }, { "label": "width", "name": "width_1", "type": "INT", "widget": { "name": "width_1" }, "link": 85 }, { "label": "height", "name": "height_1", "type": "INT", "widget": { "name": "height_1" }, "link": 86 }, { "label": "seed", "name": "seed_1", "type": "INT", "widget": { "name": "seed_1" }, "link": null }, { "label": "enable_lora", "name": "value_3", "type": "BOOLEAN", "widget": { "name": "value_3" }, "link": null }, { "label": "lora_name", "name": "lora_name_1", "type": "COMBO", "widget": { "name": "lora_name_1" }, "link": null }, { "label": "strength_model", "name": "strength_model_1", "type": "FLOAT", "widget": { "name": "strength_model_1" }, "link": null }, { "label": "lora_trigger_word", "name": "string_b_1", "type": "STRING", "widget": { "name": "string_b_1" }, "link": null } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 44 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.25.0", "previewExposures": [ { "name": "$$canvas-image-preview", "sourceNodeId": "3", "sourcePreviewName": "$$canvas-image-preview" } ] }, "widgets_values": [ "A high-resolution, surreal digital illustration showing a human hand holding a martini glass. The image is overlaid with whimsical, expressive ink-style doodles, including a cartoon figure inside the glass, a drawn citrus wedge on the rim, and various abstract sketches and faces surrounding the glass against a clean, white background. The style seamlessly blends a realistic, lit photograph with loose, hand-drawn marker artistry, creating a playful and artistic juxtaposition.", true, false, 512, 1024, 1024, 594361197674106, false, "krea2_darkbrush.safetensors", 0.8, "muted minimalist sketch style", "krea2_turbo_fp8_scaled.safetensors", "qwen3vl_4b_fp8_scaled.safetensors", "qwen_image_vae.safetensors" ] }, { "id": 47, "type": "MarkdownNote", "pos": [ -1200, 970 ], "size": [ 690, 510 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "title": "LoRA Trigger Words and Settings", "properties": {}, "widgets_values": [ "Download the style LoRAs used in this workflow from [Comfy-Org/Krea-2/loras](https://huggingface.co/Comfy-Org/Krea-2/tree/main/loras). Place the `.safetensors` files in `ComfyUI/models/loras/`.\n\n| LoRA | Trigger Words | Recommended Strength |\n|------------------------|--------------------------------------|-------|\n| `krea2_darkbrush` | `monochrome ink wash style` | `1.0` |\n| `krea2_dotmatrix` | `monochrome stippling style` | `1.0` |\n| `krea2_kidsdrawing` | `naive expressive sketch style` | `1.0` |\n| `krea2_neondrip` | `textured abstract style` | `1.0` |\n| `krea2_rainywindow` | `rainy window style` | `1.0` |\n| `krea2_retroanime` | `purple retro anime style` | `1.0` |\n| `krea2_softwatercolor` | `art deco watercolor style` | `1.0` |\n| `krea2_sunsetblur` | `ethereal motion blur style` | `1.0` |\n| `krea2_vintagetarot` | `vintage tarot style` | `1.0` |" ], "color": "#222", "bgcolor": "#000" }, { "id": 48, "type": "MarkdownNote", "pos": [ -1940, -90 ], "size": [ 700, 990 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [], "title": "Model Links", "properties": {}, "widgets_values": [ "Guide: [Subgraph](https://docs.comfy.org/interface/features/subgraph)\n\n## Model Links\n\nFor BF16 and NVFP4 variants, see [Comfy-Org/Krea-2](https://huggingface.co/Comfy-Org/Krea-2)\n\n**diffusion_models**\n\n- [krea2_turbo_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/diffusion_models/krea2_turbo_fp8_scaled.safetensors)\n\n**text_encoders**\n\n- [qwen3vl_4b_fp8_scaled.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors)\n\n**vae**\n\n- [qwen_image_vae.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors)\n\n**loras**\n\n- [krea2_darkbrush.safetensors](https://huggingface.co/Comfy-Org/Krea-2/resolve/main/loras/krea2_darkbrush.safetensors)\n\n\n## Model Storage Location\n\n```\nšŸ“‚ ComfyUI/\nā”œā”€ā”€ šŸ“‚ models/\n│ ā”œā”€ā”€ šŸ“‚ diffusion_models/\n│ │ └── krea2_turbo_fp8_scaled.safetensors\n│ ā”œā”€ā”€ šŸ“‚ text_encoders/\n│ │ └── qwen3vl_4b_fp8_scaled.safetensors\n│ ā”œā”€ā”€ šŸ“‚ vae/\n│ │ └── qwen_image_vae.safetensors\n│ └── šŸ“‚ loras/\n│ └── krea2_darkbrush.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n" ], "color": "#222", "bgcolor": "#000" }, { "id": 50, "type": "MarkdownNote", "pos": [ -1200, -90 ], "size": [ 700, 990 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [], "title": "Note: Krea-2", "properties": {}, "widgets_values": [ "Guide: [krea-2](https://docs.comfy.org/tutorials/image/krea/krea-2)\n\nThis workflow generates images with **Krea-2 Turbo**, a fast distilled text-to-image model. The workflow is organized into a few parts: each handles a different step so you can generate quickly without digging through every node.\n\n## Text to Image (Krea-2 Turbo) Subgraph\n\nDouble-click this node to open the full pipeline. Inside, the canvas is grouped into several areas:\n\n**Models**: Loads the diffusion model, text encoder, VAE, and optional style LoRA (`LoraLoaderModelOnly`).\n\n**Prompt**: Enter your image description in **Text String (User Prompt)**.\n\n**Prompt Enhancement**: Expands your prompt before generation. Enabled by default (`prompt_enhance`). You can turn it off to use your prompt as-is, or replace the built-in module with **OpenAI** or **Gemini** API nodes.\n\n**Feature Switch**: Quick toggles on the left side of the subgraph:\n- `prompt_enhance`: enable or disable prompt expansion\n- `enable_lora?`: enable or disable the style LoRA\n\n**Image Generation**: Handles latent sizing, sampling (8 steps), and VAE decode to produce the final image.\n\nWhen using a LoRA, set `enable_lora?` to true, select the matching file in **LoraLoaderModelOnly**, and adjust `lora_strength` as needed.\n\n## LoRA & Trigger Word (CustomCombo)\n\nOn the main canvas, the **CustomCombo** node is where you choose which style LoRA you are using (e.g. `krea2_coolblue`, `krea2_darkbrush`). The workflow uses your selection to automatically append the correct **trigger word** to your prompt.\n\n- Download LoRA files from [Comfy-Org/Krea-2/loras](https://huggingface.co/Comfy-Org/Krea-2/tree/main/loras) and place them in `ComfyUI/models/loras/`\n- Select the LoRA name that matches the file loaded inside the subgraph\n- The trigger word is applied for you: no need to type it manually\n- For trigger words and recommended strength values, see the **LoRA Trigger Words and Settings** note beside this workflow\n" ], "color": "#222", "bgcolor": "#000" }, { "id": 49, "type": "ResolutionSelector", "pos": [ -470, 270 ], "size": [ 270, 190 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "width", "type": "INT", "links": [ 85 ] }, { "name": "height", "type": "INT", "links": [ 86 ] } ], "properties": { "Node name for S&R": "ResolutionSelector", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "1:1 (Square)", 1, 8 ] } ], "links": [ [ 44, 30, 0, 29, 0, "IMAGE" ], [ 85, 49, 0, 30, 3, "INT" ], [ 86, 49, 1, 30, 4, "INT" ] ], "groups": [], "definitions": { "subgraphs": [ { "id": "b0e5ca93-2731-42b9-8e0a-d28ea851ff81", "version": 1, "state": { "lastGroupId": 10, "lastNodeId": 50, "lastLinkId": 86, "lastRerouteId": 0 }, "revision": 0, "config": {}, "name": "Text to Image (Krea-2 Turbo)", "inputNode": { "id": -10, "bounding": [ -1663.0467311105908, 442.6713226822096, 160.76953125, 328 ] }, "outputNode": { "id": -20, "bounding": [ 1560, 496, 128, 68 ] }, "inputs": [ { "id": "b0f5c754-5322-440c-8c1c-ba732e910d33", "name": "value", "type": "STRING", "linkIds": [ 45 ], "pos": [ -1526.2771998605908, 466.6713226822096 ] }, { "id": "47b0e74d-ef80-4423-a7a6-9bd1673092bb", "name": "value_1", "type": "BOOLEAN", "linkIds": [ 46 ], "label": "prompt_enhance", "pos": [ -1526.2771998605908, 486.6713226822096 ] }, { "id": "bece097f-5c57-4aeb-9113-16499634a69c", "name": "thinking", "type": "BOOLEAN", "linkIds": [ 73 ], "label": "LLM_thinking_mode", "pos": [ -1526.2771998605908, 506.6713226822096 ] }, { "id": "9b4edd63-9421-47d9-8c41-5a44510fcba9", "name": "max_length_1", "type": "INT", "linkIds": [ 74 ], "label": "LLM_max_token", "pos": [ -1526.2771998605908, 526.6713226822096 ] }, { "id": "2a2c225e-95ca-4c45-ab19-5072a890b064", "name": "width_1", "type": "INT", "linkIds": [ 75 ], "label": "width", "pos": [ -1526.2771998605908, 546.6713226822096 ] }, { "id": "acdd37ed-8b29-4b6d-8d6a-51aacaaefc73", "name": "height_1", "type": "INT", "linkIds": [ 76 ], "label": "height", "pos": [ -1526.2771998605908, 566.6713226822096 ] }, { "id": "08bcb3eb-ae87-41cc-b695-d1f934f05e35", "name": "seed_1", "type": "INT", "linkIds": [ 77 ], "label": "seed", "pos": [ -1526.2771998605908, 586.6713226822096 ] }, { "id": "c7f9b617-8ef0-4b9e-944d-b85f01c7a9be", "name": "value_3", "type": "BOOLEAN", "linkIds": [ 78 ], "label": "enable_lora", "pos": [ -1526.2771998605908, 606.6713226822096 ] }, { "id": "04ec0239-3e74-4a97-90b8-74e881e22e7e", "name": "lora_name_1", "type": "COMBO", "linkIds": [ 79 ], "label": "lora_name", "pos": [ -1526.2771998605908, 626.6713226822096 ] }, { "id": "61e23017-849c-4879-bbef-3801e2b75198", "name": "strength_model_1", "type": "FLOAT", "linkIds": [ 80 ], "label": "strength_model", "pos": [ -1526.2771998605908, 646.6713226822096 ] }, { "id": "9396dc65-64f2-4fb2-84d7-4a8fa853bd28", "name": "string_b_1", "type": "STRING", "linkIds": [ 81 ], "label": "lora_trigger_word", "pos": [ -1526.2771998605908, 666.6713226822096 ] }, { "id": "f4e9f716-afa5-48ca-a314-64f4659b0c99", "name": "unet_name", "type": "COMBO", "linkIds": [ 82 ], "pos": [ -1526.2771998605908, 686.6713226822096 ] }, { "id": "add6cb96-21da-41c2-9ef9-60dfe1cb7535", "name": "clip_name", "type": "COMBO", "linkIds": [ 83 ], "pos": [ -1526.2771998605908, 706.6713226822096 ] }, { "id": "81640110-5a4d-45c0-9d7c-59966875bf0f", "name": "vae_name", "type": "COMBO", "linkIds": [ 84 ], "pos": [ -1526.2771998605908, 726.6713226822096 ] } ], "outputs": [ { "id": "e4073813-752d-4584-96b5-6e42eac355dd", "name": "IMAGE", "type": "IMAGE", "linkIds": [ 43 ], "localized_name": "IMAGE", "pos": [ 1584, 520 ] } ], "widgets": [], "nodes": [ { "id": 6, "type": "CLIPTextEncode", "pos": [ 100, -250 ], "size": [ 480, 420 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "localized_name": "clip", "name": "clip", "type": "CLIP", "link": 10 }, { "localized_name": "text", "name": "text", "type": "STRING", "widget": { "name": "text" }, "link": 72 } ], "outputs": [ { "localized_name": "CONDITIONING", "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 4, 13 ] } ], "properties": { "Node name for S&R": "CLIPTextEncode", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "A high-resolution, surreal digital illustration showing a human hand holding a martini glass. The image is overlaid with whimsical, expressive ink-style doodles, including a cartoon figure inside the glass, a drawn citrus wedge on the rim, and various abstract sketches and faces surrounding the glass against a clean, white background. The style seamlessly blends a realistic, lit photograph with loose, hand-drawn marker artistry, creating a playful and artistic juxtaposition." ], "color": "#232", "bgcolor": "#353" }, { "id": 5, "type": "EmptyLatentImage", "pos": [ 170, 350 ], "size": [ 320, 170 ], "flags": {}, "order": 2, "mode": 0, "inputs": [ { "localized_name": "width", "name": "width", "type": "INT", "widget": { "name": "width" }, "link": 75 }, { "localized_name": "height", "name": "height", "type": "INT", "widget": { "name": "height" }, "link": 76 } ], "outputs": [ { "localized_name": "LATENT", "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 2 ] } ], "properties": { "Node name for S&R": "EmptyLatentImage", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ 1024, 1024, 1 ] }, { "id": 3, "type": "KSampler", "pos": [ 640, -100 ], "size": [ 320, 590 ], "flags": {}, "order": 1, "mode": 0, "inputs": [ { "localized_name": "model", "name": "model", "type": "MODEL", "link": 30 }, { "localized_name": "positive", "name": "positive", "type": "CONDITIONING", "link": 4 }, { "localized_name": "negative", "name": "negative", "type": "CONDITIONING", "link": 14 }, { "localized_name": "latent_image", "name": "latent_image", "type": "LATENT", "link": 2 }, { "localized_name": "seed", "name": "seed", "type": "INT", "widget": { "name": "seed" }, "link": 77 } ], "outputs": [ { "localized_name": "LATENT", "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 7 ] } ], "properties": { "Node name for S&R": "KSampler", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ 735915477938686, "randomize", 8, 1, "euler", "simple", 1 ] }, { "id": 8, "type": "VAEDecode", "pos": [ 1010, -270 ], "size": [ 230, 100 ], "flags": { "collapsed": false }, "order": 4, "mode": 0, "inputs": [ { "localized_name": "samples", "name": "samples", "type": "LATENT", "link": 7 }, { "localized_name": "vae", "name": "vae", "type": "VAE", "link": 12 } ], "outputs": [ { "localized_name": "IMAGE", "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 43 ] } ], "properties": { "Node name for S&R": "VAEDecode", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [] }, { "id": 10, "type": "UNETLoader", "pos": [ -410, -240 ], "size": [ 450, 140 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "localized_name": "unet_name", "name": "unet_name", "type": "COMBO", "widget": { "name": "unet_name" }, "link": 82 } ], "outputs": [ { "localized_name": "MODEL", "name": "MODEL", "type": "MODEL", "links": [ 16, 28 ] } ], "properties": { "Node name for S&R": "UNETLoader", "cnr_id": "comfy-core", "ver": "0.25.0", "models": [ { "name": "krea2_turbo_fp8_scaled.safetensors", "url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/diffusion_models/krea2_turbo_fp8_scaled.safetensors", "directory": "diffusion_models" } ] }, "widgets_values": [ "krea2_turbo_fp8_scaled.safetensors", "default" ] }, { "id": 11, "type": "CLIPLoader", "pos": [ -410, 150 ], "size": [ 450, 170 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "localized_name": "clip_name", "name": "clip_name", "type": "COMBO", "widget": { "name": "clip_name" }, "link": 83 } ], "outputs": [ { "localized_name": "CLIP", "name": "CLIP", "type": "CLIP", "links": [ 10, 18 ] } ], "properties": { "Node name for S&R": "CLIPLoader", "cnr_id": "comfy-core", "ver": "0.25.0", "models": [ { "name": "qwen3vl_4b_fp8_scaled.safetensors", "url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_fp8_scaled.safetensors", "directory": "text_encoders" } ] }, "widgets_values": [ "qwen3vl_4b_fp8_scaled.safetensors", "krea2", "default" ] }, { "id": 12, "type": "VAELoader", "pos": [ -410, 390 ], "size": [ 450, 120 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "localized_name": "vae_name", "name": "vae_name", "type": "COMBO", "widget": { "name": "vae_name" }, "link": 84 } ], "outputs": [ { "localized_name": "VAE", "name": "VAE", "type": "VAE", "links": [ 12 ] } ], "properties": { "Node name for S&R": "VAELoader", "cnr_id": "comfy-core", "ver": "0.25.0", "models": [ { "name": "qwen_image_vae.safetensors", "url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors", "directory": "vae" } ] }, "widgets_values": [ "qwen_image_vae.safetensors" ] }, { "id": 13, "type": "ConditioningZeroOut", "pos": [ 350, 220 ], "size": [ 225, 0 ], "flags": { "collapsed": true }, "order": 8, "mode": 0, "inputs": [ { "localized_name": "conditioning", "name": "conditioning", "type": "CONDITIONING", "link": 13 } ], "outputs": [ { "localized_name": "CONDITIONING", "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 14 ] } ], "properties": { "Node name for S&R": "ConditioningZeroOut", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [] }, { "id": 15, "type": "LoraLoaderModelOnly", "pos": [ -410, -50 ], "size": [ 450, 170 ], "flags": {}, "order": 9, "mode": 0, "inputs": [ { "localized_name": "model", "name": "model", "type": "MODEL", "link": 16 }, { "localized_name": "lora_name", "name": "lora_name", "type": "COMBO", "widget": { "name": "lora_name" }, "link": 79 }, { "localized_name": "strength_model", "name": "strength_model", "type": "FLOAT", "widget": { "name": "strength_model" }, "link": 80 } ], "outputs": [ { "localized_name": "MODEL", "name": "MODEL", "type": "MODEL", "links": [ 29 ] } ], "properties": { "Node name for S&R": "LoraLoaderModelOnly", "cnr_id": "comfy-core", "ver": "0.25.0", "models": [ { "name": "krea2_darkbrush.safetensors", "url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/loras/krea2_darkbrush.safetensors", "directory": "loras" } ] }, "widgets_values": [ "krea2_darkbrush.safetensors", 0.8 ] }, { "id": 16, "type": "TextGenerate", "pos": [ 60, 650 ], "size": [ 400, 490 ], "flags": {}, "order": 10, "mode": 0, "inputs": [ { "localized_name": "clip", "name": "clip", "type": "CLIP", "link": 18 }, { "localized_name": "image", "name": "image", "shape": 7, "type": "IMAGE", "link": null }, { "localized_name": "video", "name": "video", "shape": 7, "type": "IMAGE", "link": null }, { "localized_name": "audio", "name": "audio", "shape": 7, "type": "AUDIO", "link": null }, { "localized_name": "prompt", "name": "prompt", "type": "STRING", "widget": { "name": "prompt" }, "link": 19 }, { "localized_name": "max_length", "name": "max_length", "type": "INT", "widget": { "name": "max_length" }, "link": 74 }, { "localized_name": "thinking", "name": "thinking", "shape": 7, "type": "BOOLEAN", "widget": { "name": "thinking" }, "link": 73 } ], "outputs": [ { "localized_name": "generated_text", "name": "generated_text", "type": "STRING", "links": [ 33 ] } ], "properties": { "Node name for S&R": "TextGenerate", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "", 512, "on", 0.7, 64, 0.95, 0.05, 1.05, 0, 0, true, true ] }, { "id": 17, "type": "StringConcatenate", "pos": [ -210, 1310 ], "size": [ 225, 0 ], "flags": { "collapsed": true }, "order": 11, "mode": 0, "inputs": [ { "localized_name": "string_a", "name": "string_a", "type": "STRING", "widget": { "name": "string_a" }, "link": 21 }, { "localized_name": "string_b", "name": "string_b", "type": "STRING", "widget": { "name": "string_b" }, "link": 22 } ], "outputs": [ { "localized_name": "STRING", "name": "STRING", "type": "STRING", "links": [ 19 ] } ], "properties": { "Node name for S&R": "StringConcatenate", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "", "", "" ] }, { "id": 18, "type": "PrimitiveStringMultiline", "pos": [ -430, 650 ], "size": [ 460, 610 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "localized_name": "STRING", "name": "STRING", "type": "STRING", "links": [ 21 ] } ], "title": "Text String (System Prompt)", "properties": { "Node name for S&R": "PrimitiveStringMultiline", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "You are an expert prompt engineer for text-to-image models. Your task is to expand the user's prompt into a highly effective image-generation prompt.\n\nThink step by step about the request before writing the answer:\n- What is the subject and mood?\n- What visual styles, mediums, and lighting options would fit? Consider two or three alternatives and pick the one that best serves the caption.\n- What composition, framing, and grounded details will help the text-to-image model?\n\nThen output a single expanded prompt paragraph.\n\nFollow these rules strictly:\n1. **Faithfulness First:** Preserve all original subjects, actions, colors, and spatial relationships. Do not add new objects, props, characters, or animals unless the user clearly implies them.\n2. **Practical T2I Structure:** Write a prompt that a text-to-image model can parse cleanly. Group subjects with their own attributes and actions. Use grounded phrasing for poses, interactions, and spatial layout.\n3. **Style Planning Stays Internal:** Use your internal reasoning to choose style, medium, framing, and lighting. Do not emit planning tags or wrappers in the visible answer body.\n4. **Text Rendering:** If the user requests visible text, quotes, labels, or typography, specify the exact text clearly and wrap requested words in quotes.\n5. **Avoid Over-Specification:** Do not invent highly specific clothing, colors, materials, or scene details unless the input supports them.\n6. **Structure:** Write one cohesive paragraph after the thinking block. No bullets, JSON, or markdown.\n7. **Respect Existing Detail:** If the user's prompt is already detailed, lightly polish and finalize rather than heavily expanding — preserve their phrasing and direction.\n8. **Respect the Human Form:** Treat depictions of people with dignity. Assume clothing covers genitals and intimate anatomy.\n9. **Preserve User Medium:** When the user explicitly requests a medium (e.g. \"photo of\", \"photograph of\", \"illustration of\", \"painting of\", \"sketch of\", \"3D render of\"), honor it. Do not pivot to a different medium to avoid difficulty — match the user's stated intent.\n\nUser's Input:\n\n" ] }, { "id": 19, "type": "PrimitiveStringMultiline", "pos": [ -1070, -290 ], "size": [ 570, 800 ], "flags": {}, "order": 12, "mode": 0, "inputs": [ { "localized_name": "value", "name": "value", "type": "STRING", "widget": { "name": "value" }, "link": 45 } ], "outputs": [ { "localized_name": "STRING", "name": "STRING", "type": "STRING", "links": [ 22, 34 ] } ], "title": "Text String (User Prompt)", "properties": { "Node name for S&R": "PrimitiveStringMultiline", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "A high-resolution, surreal digital illustration showing a human hand holding a martini glass. The image is overlaid with whimsical, expressive ink-style doodles, including a cartoon figure inside the glass, a drawn citrus wedge on the rim, and various abstract sketches and faces surrounding the glass against a clean, white background. The style seamlessly blends a realistic, lit photograph with loose, hand-drawn marker artistry, creating a playful and artistic juxtaposition." ], "color": "#322", "bgcolor": "#533" }, { "id": 20, "type": "PreviewAny", "pos": [ 500, 660 ], "size": [ 470, 550 ], "flags": { "collapsed": false }, "order": 13, "mode": 0, "inputs": [ { "localized_name": "source", "name": "source", "type": "*", "link": 27 } ], "outputs": [ { "localized_name": "STRING", "name": "STRING", "type": "STRING", "links": [ 37, 41 ] } ], "properties": { "Node name for S&R": "PreviewAny", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [] }, { "id": 21, "type": "ComfySwitchNode", "pos": [ 170, 1270 ], "size": [ 270, 130 ], "flags": {}, "order": 14, "mode": 0, "inputs": [ { "localized_name": "on_false", "name": "on_false", "type": "STRING", "link": 34 }, { "localized_name": "on_true", "name": "on_true", "type": "STRING", "link": 33 }, { "localized_name": "switch", "name": "switch", "type": "BOOLEAN", "widget": { "name": "switch" }, "link": 32 } ], "outputs": [ { "localized_name": "output", "name": "output", "type": "STRING", "links": [ 27 ] } ], "properties": { "Node name for S&R": "ComfySwitchNode", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ false ] }, { "id": 22, "type": "ComfySwitchNode", "pos": [ 640, -270 ], "size": [ 320, 130 ], "flags": {}, "order": 15, "mode": 0, "inputs": [ { "localized_name": "on_false", "name": "on_false", "type": "MODEL", "link": 28 }, { "localized_name": "on_true", "name": "on_true", "type": "MODEL", "link": 29 }, { "localized_name": "switch", "name": "switch", "type": "BOOLEAN", "widget": { "name": "switch" }, "link": 31 } ], "outputs": [ { "localized_name": "output", "name": "output", "type": "MODEL", "links": [ 30 ] } ], "title": "Switch (Model)", "properties": { "Node name for S&R": "ComfySwitchNode", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ false ] }, { "id": 23, "type": "PrimitiveBoolean", "pos": [ -910, 670 ], "size": [ 270, 110 ], "flags": {}, "order": 16, "mode": 0, "inputs": [ { "localized_name": "value", "name": "value", "type": "BOOLEAN", "widget": { "name": "value" }, "link": 78 } ], "outputs": [ { "localized_name": "BOOLEAN", "name": "BOOLEAN", "type": "BOOLEAN", "links": [ 31, 42 ] } ], "title": "Boolean (Enable LoRA?)", "properties": { "Node name for S&R": "PrimitiveBoolean", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ false ] }, { "id": 24, "type": "PrimitiveBoolean", "pos": [ -910, 840 ], "size": [ 270, 110 ], "flags": {}, "order": 17, "mode": 0, "inputs": [ { "localized_name": "value", "name": "value", "type": "BOOLEAN", "widget": { "name": "value" }, "link": 46 } ], "outputs": [ { "localized_name": "BOOLEAN", "name": "BOOLEAN", "type": "BOOLEAN", "links": [ 32 ] } ], "title": "Boolean (Refine Prompt?)", "properties": { "Node name for S&R": "PrimitiveBoolean", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ true ] }, { "id": 27, "type": "StringConcatenate", "pos": [ 1030, 960 ], "size": [ 350, 250 ], "flags": { "collapsed": false }, "order": 18, "mode": 0, "inputs": [ { "localized_name": "string_a", "name": "string_a", "type": "STRING", "widget": { "name": "string_a" }, "link": 41 }, { "localized_name": "string_b", "name": "string_b", "type": "STRING", "widget": { "name": "string_b" }, "link": 81 } ], "outputs": [ { "localized_name": "STRING", "name": "STRING", "type": "STRING", "links": [ 38 ] } ], "title": "Concatenate Text (LoRA Trigger Word)", "properties": { "Node name for S&R": "StringConcatenate", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ "", "muted minimalist sketch style", ", " ] }, { "id": 28, "type": "ComfySwitchNode", "pos": [ 1050, 670 ], "size": [ 340, 130 ], "flags": {}, "order": 19, "mode": 0, "inputs": [ { "localized_name": "on_false", "name": "on_false", "type": "STRING", "link": 37 }, { "localized_name": "on_true", "name": "on_true", "type": "STRING", "link": 38 }, { "localized_name": "switch", "name": "switch", "type": "BOOLEAN", "widget": { "name": "switch" }, "link": 42 } ], "outputs": [ { "localized_name": "output", "name": "output", "type": "STRING", "links": [ 72 ] } ], "properties": { "Node name for S&R": "ComfySwitchNode", "cnr_id": "comfy-core", "ver": "0.25.0" }, "widgets_values": [ false ] } ], "groups": [ { "id": 1, "title": "Models", "bounding": [ -430, -320, 490, 850 ], "color": "#3f789e", "flags": {} }, { "id": 4, "title": "Prompt Enhancement", "bounding": [ -440, 580, 1940, 840 ], "color": "#3f789e", "flags": {} }, { "id": 5, "title": "Group", "bounding": [ -1080, -360, 610, 910 ], "color": "#3f789e", "flags": {} }, { "id": 6, "title": "Image Generation", "bounding": [ -440, -360, 1940, 910 ], "color": "#3f789e", "flags": {} }, { "id": 7, "title": "Prompt", "bounding": [ 90, -320, 500, 570 ], "color": "#3f789e", "flags": {} }, { "id": 8, "title": "Size", "bounding": [ 90, 270, 500, 260 ], "color": "#3f789e", "flags": {} }, { "id": 9, "title": "Feature Switch", "bounding": [ -1080, 580, 610, 400 ], "color": "#3f789e", "flags": {} } ], "links": [ { "id": 10, "origin_id": 11, "origin_slot": 0, "target_id": 6, "target_slot": 0, "type": "CLIP" }, { "id": 30, "origin_id": 22, "origin_slot": 0, "target_id": 3, "target_slot": 0, "type": "MODEL" }, { "id": 4, "origin_id": 6, "origin_slot": 0, "target_id": 3, "target_slot": 1, "type": "CONDITIONING" }, { "id": 14, "origin_id": 13, "origin_slot": 0, "target_id": 3, "target_slot": 2, "type": "CONDITIONING" }, { "id": 2, "origin_id": 5, "origin_slot": 0, "target_id": 3, "target_slot": 3, "type": "LATENT" }, { "id": 7, "origin_id": 3, "origin_slot": 0, "target_id": 8, "target_slot": 0, "type": "LATENT" }, { "id": 12, "origin_id": 12, "origin_slot": 0, "target_id": 8, "target_slot": 1, "type": "VAE" }, { "id": 13, "origin_id": 6, "origin_slot": 0, "target_id": 13, "target_slot": 0, "type": "CONDITIONING" }, { "id": 16, "origin_id": 10, "origin_slot": 0, "target_id": 15, "target_slot": 0, "type": "MODEL" }, { "id": 18, "origin_id": 11, "origin_slot": 0, "target_id": 16, "target_slot": 0, "type": "CLIP" }, { "id": 19, "origin_id": 17, "origin_slot": 0, "target_id": 16, "target_slot": 4, "type": "STRING" }, { "id": 21, "origin_id": 18, "origin_slot": 0, "target_id": 17, "target_slot": 0, "type": "STRING" }, { "id": 22, "origin_id": 19, "origin_slot": 0, "target_id": 17, "target_slot": 1, "type": "STRING" }, { "id": 27, "origin_id": 21, "origin_slot": 0, "target_id": 20, "target_slot": 0, "type": "STRING" }, { "id": 34, "origin_id": 19, "origin_slot": 0, "target_id": 21, "target_slot": 0, "type": "STRING" }, { "id": 33, "origin_id": 16, "origin_slot": 0, "target_id": 21, "target_slot": 1, "type": "STRING" }, { "id": 32, "origin_id": 24, "origin_slot": 0, "target_id": 21, "target_slot": 2, "type": "BOOLEAN" }, { "id": 28, "origin_id": 10, "origin_slot": 0, "target_id": 22, "target_slot": 0, "type": "MODEL" }, { "id": 29, "origin_id": 15, "origin_slot": 0, "target_id": 22, "target_slot": 1, "type": "MODEL" }, { "id": 31, "origin_id": 23, "origin_slot": 0, "target_id": 22, "target_slot": 2, "type": "BOOLEAN" }, { "id": 41, "origin_id": 20, "origin_slot": 0, "target_id": 27, "target_slot": 0, "type": "STRING" }, { "id": 37, "origin_id": 20, "origin_slot": 0, "target_id": 28, "target_slot": 0, "type": "STRING" }, { "id": 38, "origin_id": 27, "origin_slot": 0, "target_id": 28, "target_slot": 1, "type": "STRING" }, { "id": 42, "origin_id": 23, "origin_slot": 0, "target_id": 28, "target_slot": 2, "type": "BOOLEAN" }, { "id": 43, "origin_id": 8, "origin_slot": 0, "target_id": -20, "target_slot": 0, "type": "IMAGE" }, { "id": 45, "origin_id": -10, "origin_slot": 0, "target_id": 19, "target_slot": 0, "type": "STRING" }, { "id": 46, "origin_id": -10, "origin_slot": 1, "target_id": 24, "target_slot": 0, "type": "BOOLEAN" }, { "id": 72, "origin_id": 28, "origin_slot": 0, "target_id": 6, "target_slot": 1, "type": "STRING" }, { "id": 73, "origin_id": -10, "origin_slot": 2, "target_id": 16, "target_slot": 6, "type": "BOOLEAN" }, { "id": 74, "origin_id": -10, "origin_slot": 3, "target_id": 16, "target_slot": 5, "type": "INT" }, { "id": 75, "origin_id": -10, "origin_slot": 4, "target_id": 5, "target_slot": 0, "type": "INT" }, { "id": 76, "origin_id": -10, "origin_slot": 5, "target_id": 5, "target_slot": 1, "type": "INT" }, { "id": 77, "origin_id": -10, "origin_slot": 6, "target_id": 3, "target_slot": 4, "type": "INT" }, { "id": 78, "origin_id": -10, "origin_slot": 7, "target_id": 23, "target_slot": 0, "type": "BOOLEAN" }, { "id": 79, "origin_id": -10, "origin_slot": 8, "target_id": 15, "target_slot": 1, "type": "COMBO" }, { "id": 80, "origin_id": -10, "origin_slot": 9, "target_id": 15, "target_slot": 2, "type": "FLOAT" }, { "id": 81, "origin_id": -10, "origin_slot": 10, "target_id": 27, "target_slot": 1, "type": "STRING" }, { "id": 82, "origin_id": -10, "origin_slot": 11, "target_id": 10, "target_slot": 0, "type": "COMBO" }, { "id": 83, "origin_id": -10, "origin_slot": 12, "target_id": 11, "target_slot": 0, "type": "COMBO" }, { "id": 84, "origin_id": -10, "origin_slot": 13, "target_id": 12, "target_slot": 0, "type": "COMBO" } ], "extra": {} } ] }, "config": {}, "extra": { "ds": { "scale": 0.577301204819278, "offset": [ 919.060526549602, 615.6734520492697 ] }, "frontendVersion": "1.48.5", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 }