{
 "29": {
  "inputs": {
   "filename_prefix": "Krea2_turbo",
   "images": [
    "30:8",
    0
   ]
  },
  "class_type": "SaveImage",
  "_meta": {
   "title": "Save Image"
  }
 },
 "30:6": {
  "inputs": {
   "text": [
    "30:28",
    0
   ],
   "clip": [
    "30:11",
    0
   ]
  },
  "class_type": "CLIPTextEncode",
  "_meta": {
   "title": "CLIP Text Encode (Prompt)"
  }
 },
 "30:5": {
  "inputs": {
   "batch_size": 1,
   "width": [
    "49",
    0
   ],
   "height": [
    "49",
    1
   ]
  },
  "class_type": "EmptyLatentImage",
  "_meta": {
   "title": "Empty Latent Image"
  }
 },
 "30:3": {
  "inputs": {
   "seed": 397747871968973,
   "steps": 8,
   "cfg": 1,
   "sampler_name": "euler",
   "scheduler": "simple",
   "denoise": 1,
   "model": [
    "30:22",
    0
   ],
   "positive": [
    "30:6",
    0
   ],
   "negative": [
    "30:13",
    0
   ],
   "latent_image": [
    "30:5",
    0
   ]
  },
  "class_type": "KSampler",
  "_meta": {
   "title": "KSampler"
  }
 },
 "30:8": {
  "inputs": {
   "samples": [
    "30:3",
    0
   ],
   "vae": [
    "30:12",
    0
   ]
  },
  "class_type": "VAEDecode",
  "_meta": {
   "title": "VAE Decode"
  }
 },
 "30:10": {
  "inputs": {
   "unet_name": "krea2_turbo_fp8_scaled.safetensors",
   "weight_dtype": "default"
  },
  "class_type": "UNETLoader",
  "_meta": {
   "title": "Load Diffusion Model"
  }
 },
 "30:11": {
  "inputs": {
   "clip_name": "qwen3vl_4b_fp8_scaled.safetensors",
   "type": "krea2",
   "device": "default"
  },
  "class_type": "CLIPLoader",
  "_meta": {
   "title": "Load CLIP"
  }
 },
 "30:12": {
  "inputs": {
   "vae_name": "qwen_image_vae.safetensors"
  },
  "class_type": "VAELoader",
  "_meta": {
   "title": "Load VAE"
  }
 },
 "30:13": {
  "inputs": {
   "conditioning": [
    "30:6",
    0
   ]
  },
  "class_type": "ConditioningZeroOut",
  "_meta": {
   "title": "Conditioning Zero Out"
  }
 },
 "30:15": {
  "inputs": {
   "lora_name": "krea2_darkbrush.safetensors",
   "strength_model": 0.8,
   "model": [
    "30:10",
    0
   ]
  },
  "class_type": "LoraLoaderModelOnly",
  "_meta": {
   "title": "Load LoRA"
  }
 },
 "30:16": {
  "inputs": {
   "max_length": 512,
   "sampling_mode": "on",
   "thinking": false,
   "use_default_template": true,
   "mtp": "auto",
   "clip": [
    "30:11",
    0
   ],
   "prompt": [
    "30:17",
    0
   ],
   "sampling_mode.temperature": 0.7,
   "sampling_mode.top_k": 64,
   "sampling_mode.top_p": 0.95,
   "sampling_mode.min_p": 0.05,
   "sampling_mode.repetition_penalty": 1.05,
   "sampling_mode.seed": 0,
   "sampling_mode.presence_penalty": 0
  },
  "class_type": "TextGenerate",
  "_meta": {
   "title": "Generate Text"
  }
 },
 "30:17": {
  "inputs": {
   "delimiter": "",
   "string_a": [
    "30:18",
    0
   ],
   "string_b": [
    "30:19",
    0
   ]
  },
  "class_type": "StringConcatenate",
  "_meta": {
   "title": "Concatenate Text"
  }
 },
 "30:18": {
  "inputs": {
   "value": "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 \u2014 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 \u2014 match the user's stated intent.\n\nUser's Input:\n\n"
  },
  "class_type": "PrimitiveStringMultiline",
  "_meta": {
   "title": "Text String (System Prompt)"
  }
 },
 "30:19": {
  "inputs": {
   "value": "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."
  },
  "class_type": "PrimitiveStringMultiline",
  "_meta": {
   "title": "Text String (User Prompt)"
  }
 },
 "30:20": {
  "inputs": {
   "source": [
    "30:21",
    0
   ]
  },
  "class_type": "PreviewAny",
  "_meta": {
   "title": "Preview as Text"
  }
 },
 "30:21": {
  "inputs": {
   "switch": [
    "30:24",
    0
   ],
   "on_false": [
    "30:19",
    0
   ],
   "on_true": [
    "30:16",
    0
   ]
  },
  "class_type": "ComfySwitchNode",
  "_meta": {
   "title": "If/Else Switch"
  }
 },
 "30:22": {
  "inputs": {
   "switch": [
    "30:23",
    0
   ],
   "on_false": [
    "30:10",
    0
   ],
   "on_true": [
    "30:15",
    0
   ]
  },
  "class_type": "ComfySwitchNode",
  "_meta": {
   "title": "Switch (Model)"
  }
 },
 "30:23": {
  "inputs": {
   "value": false
  },
  "class_type": "PrimitiveBoolean",
  "_meta": {
   "title": "Boolean (Enable LoRA?)"
  }
 },
 "30:24": {
  "inputs": {
   "value": true
  },
  "class_type": "PrimitiveBoolean",
  "_meta": {
   "title": "Boolean (Refine Prompt?)"
  }
 },
 "30:27": {
  "inputs": {
   "string_b": "muted minimalist sketch style",
   "delimiter": ", ",
   "string_a": [
    "30:20",
    0
   ]
  },
  "class_type": "StringConcatenate",
  "_meta": {
   "title": "Concatenate Text (LoRA Trigger Word)"
  }
 },
 "30:28": {
  "inputs": {
   "switch": [
    "30:23",
    0
   ],
   "on_false": [
    "30:20",
    0
   ],
   "on_true": [
    "30:27",
    0
   ]
  },
  "class_type": "ComfySwitchNode",
  "_meta": {
   "title": "If/Else Switch"
  }
 },
 "49": {
  "inputs": {
   "aspect_ratio": "1:1 (Square)",
   "megapixels": 1,
   "multiple": 8
  },
  "class_type": "ResolutionSelector",
  "_meta": {
   "title": "Resolution Selector"
  }
 }
}