{
  "id": "c9e2a5b1-1f4c-4d6e-8b7a-gmanski-krea2",
  "revision": 0,
  "last_node_id": 17,
  "last_link_id": 17,
  "nodes": [
    {
      "id": 1,
      "type": "MarkdownNote",
      "pos": [
        -1500,
        -420
      ],
      "size": [
        600,
        760
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "properties": {
        "Node name for S&R": "MarkdownNote"
      },
      "widgets_values": [
        "## Random Influencer Face Generator (Krea 2)\n\n**Every run is a new face.** The prompt is a random template: heritage, hair (length, texture, colour, style), eyes, skin, makeup, expression and top are drawn fresh each time you press **Queue**. The box under the sampler shows the exact text each face was made from.\n\n**Use it to find a character.** Queue a batch, keep the faces you like, and copy their text: running that text as a normal Krea 2 prompt reproduces the look. A good face is the start of a character: build a dataset from it and train a LoRA (Gmanski Academy, \"Building a dataset from one face\"), or let us do it: gmanski.com/commission.\n\n**Make it yours.** Edit the template in the Wildcard Processor: `{a|b|c}` picks one of the options, an empty option `{|text}` makes something occasional. Keep every option adult.\n\n**Settings:** Krea 2 RAW + turbo LoRA 0.6, res_2s / beta, 20 steps, CFG 1.0, 896x1152. Models: the `krea2` pack on the Gmanski RunPod template.\n\nEvery face this makes is generated, not a real person.\n"
      ],
      "title": "Read me: Gmanski Krea 2",
      "color": "#432",
      "bgcolor": "#653"
    },
    {
      "id": 2,
      "type": "UNETLoader",
      "pos": [
        -850,
        -420
      ],
      "size": [
        420,
        90
      ],
      "flags": {},
      "order": 1,
      "mode": 0,
      "inputs": [
        {
          "name": "unet_name",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "unet_name"
          }
        },
        {
          "name": "weight_dtype",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "weight_dtype"
          }
        }
      ],
      "outputs": [
        {
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            1
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "UNETLoader",
        "models": [
          {
            "name": "krea2_raw_bf16.safetensors",
            "url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/diffusion_models/krea2_raw_bf16.safetensors",
            "directory": "diffusion_models"
          }
        ]
      },
      "widgets_values": [
        "krea2_raw_bf16.safetensors",
        "default"
      ],
      "title": "Krea 2 RAW checkpoint"
    },
    {
      "id": 3,
      "type": "CLIPLoader",
      "pos": [
        -850,
        -290
      ],
      "size": [
        420,
        110
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "inputs": [
        {
          "name": "clip_name",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "clip_name"
          }
        },
        {
          "name": "type",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "type"
          }
        },
        {
          "name": "device",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "device"
          }
        }
      ],
      "outputs": [
        {
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            2,
            3,
            5
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CLIPLoader",
        "models": [
          {
            "name": "qwen3vl_4b_bf16.safetensors",
            "url": "https://huggingface.co/Comfy-Org/Krea-2/resolve/main/text_encoders/qwen3vl_4b_bf16.safetensors",
            "directory": "text_encoders"
          }
        ]
      },
      "widgets_values": [
        "qwen3vl_4b_bf16.safetensors",
        "krea2",
        "default"
      ],
      "title": "Krea 2 text encoder"
    },
    {
      "id": 4,
      "type": "VAELoader",
      "pos": [
        -850,
        -140
      ],
      "size": [
        420,
        60
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [
        {
          "name": "vae_name",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "vae_name"
          }
        }
      ],
      "outputs": [
        {
          "name": "VAE",
          "type": "VAE",
          "links": [
            14
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAELoader",
        "models": [
          {
            "name": "wan21_vae_fp32.safetensors",
            "url": "https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_fp32.safetensors",
            "directory": "vae"
          }
        ]
      },
      "widgets_values": [
        "wan21_vae_fp32.safetensors"
      ],
      "title": "Wan 2.1 FP32 VAE (recommended over Krea 2's own bundled VAE)"
    },
    {
      "id": 5,
      "type": "Power Lora Loader (rgthree)",
      "pos": [
        -850,
        20
      ],
      "size": [
        400,
        220
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "inputs": [
        {
          "name": "model",
          "type": "MODEL",
          "link": 1
        },
        {
          "name": "clip",
          "type": "CLIP",
          "link": 2
        }
      ],
      "outputs": [
        {
          "name": "MODEL",
          "type": "MODEL",
          "links": [
            7
          ]
        },
        {
          "name": "CLIP",
          "type": "CLIP",
          "links": []
        }
      ],
      "properties": {
        "Node name for S&R": "Power Lora Loader (rgthree)"
      },
      "widgets_values": [
        {},
        {
          "type": "PowerLoraLoaderHeaderWidget"
        },
        {
          "on": true,
          "lora": "krea2_turbo_lora_rank_64_bf16.safetensors",
          "strength": 0.6,
          "strengthTwo": null
        },
        {
          "on": false,
          "lora": "None",
          "strength": 0.5,
          "strengthTwo": null
        },
        {
          "on": false,
          "lora": "None",
          "strength": 0.5,
          "strengthTwo": null
        },
        {
          "on": false,
          "lora": "None",
          "strength": 0.5,
          "strengthTwo": null
        },
        {},
        ""
      ],
      "title": "LoRA stack: turbo (required) + 3 empty slots"
    },
    {
      "id": 7,
      "type": "PrimitiveStringMultiline",
      "pos": [
        -850,
        500
      ],
      "size": [
        400,
        160
      ],
      "flags": {},
      "order": 6,
      "mode": 0,
      "inputs": [
        {
          "name": "value",
          "type": "STRING",
          "link": null,
          "widget": {
            "name": "value"
          }
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            6
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "PrimitiveStringMultiline"
      },
      "widgets_values": [
        "blurry, low quality, distorted, extra fingers, deformed hands, logo, emblem, brand name, text, watermark"
      ],
      "title": "Negative (no effect unless CFG > 1.0 — see readme)"
    },
    {
      "id": 8,
      "type": "CLIPTextEncode",
      "pos": [
        -400,
        300
      ],
      "size": [
        300,
        80
      ],
      "flags": {},
      "order": 7,
      "mode": 0,
      "inputs": [
        {
          "name": "clip",
          "type": "CLIP",
          "link": 3
        },
        {
          "name": "text",
          "type": "STRING",
          "link": 16,
          "widget": {
            "name": "text"
          }
        }
      ],
      "outputs": [
        {
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            8
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CLIPTextEncode"
      },
      "widgets_values": [
        ""
      ],
      "title": "Encode positive"
    },
    {
      "id": 9,
      "type": "CLIPTextEncode",
      "pos": [
        -400,
        500
      ],
      "size": [
        300,
        80
      ],
      "flags": {},
      "order": 8,
      "mode": 0,
      "inputs": [
        {
          "name": "clip",
          "type": "CLIP",
          "link": 5
        },
        {
          "name": "text",
          "type": "STRING",
          "link": 6,
          "widget": {
            "name": "text"
          }
        }
      ],
      "outputs": [
        {
          "name": "CONDITIONING",
          "type": "CONDITIONING",
          "links": [
            9
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "CLIPTextEncode"
      },
      "widgets_values": [
        ""
      ],
      "title": "Encode negative"
    },
    {
      "id": 10,
      "type": "PrimitiveFloat",
      "pos": [
        -400,
        660
      ],
      "size": [
        300,
        60
      ],
      "flags": {},
      "order": 9,
      "mode": 0,
      "inputs": [
        {
          "name": "value",
          "type": "FLOAT",
          "link": null,
          "widget": {
            "name": "value"
          }
        }
      ],
      "outputs": [
        {
          "name": "FLOAT",
          "type": "FLOAT",
          "links": [
            11
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "PrimitiveFloat"
      },
      "widgets_values": [
        1.0
      ],
      "title": "CFG (1.0 = negative prompt disabled; ~2.0 enables it, ~2x time)"
    },
    {
      "id": 11,
      "type": "Seed (rgthree)",
      "pos": [
        -400,
        740
      ],
      "size": [
        300,
        130
      ],
      "flags": {},
      "order": 10,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "SEED",
          "type": "INT",
          "links": [
            12
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "Seed (rgthree)"
      },
      "widgets_values": [
        -1,
        "",
        "",
        ""
      ],
      "title": "Seed (shared by both passes)"
    },
    {
      "id": 12,
      "type": "EmptyLatentImage",
      "pos": [
        -400,
        -420
      ],
      "size": [
        300,
        100
      ],
      "flags": {},
      "order": 11,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            10
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "EmptyLatentImage"
      },
      "widgets_values": [
        896,
        1152,
        1
      ],
      "title": "Empty Latent Image (resolution)"
    },
    {
      "id": 13,
      "type": "KSampler",
      "pos": [
        0,
        -420
      ],
      "size": [
        360,
        260
      ],
      "flags": {},
      "order": 12,
      "mode": 0,
      "inputs": [
        {
          "name": "model",
          "type": "MODEL",
          "link": 7
        },
        {
          "name": "positive",
          "type": "CONDITIONING",
          "link": 8
        },
        {
          "name": "negative",
          "type": "CONDITIONING",
          "link": 9
        },
        {
          "name": "latent_image",
          "type": "LATENT",
          "link": 10
        },
        {
          "name": "seed",
          "type": "INT",
          "link": 12,
          "widget": {
            "name": "seed"
          }
        },
        {
          "name": "steps",
          "type": "INT",
          "link": null,
          "widget": {
            "name": "steps"
          }
        },
        {
          "name": "cfg",
          "type": "FLOAT",
          "link": 11,
          "widget": {
            "name": "cfg"
          }
        },
        {
          "name": "sampler_name",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "sampler_name"
          }
        },
        {
          "name": "scheduler",
          "type": "COMBO",
          "link": null,
          "widget": {
            "name": "scheduler"
          }
        },
        {
          "name": "denoise",
          "type": "FLOAT",
          "link": null,
          "widget": {
            "name": "denoise"
          }
        }
      ],
      "outputs": [
        {
          "name": "LATENT",
          "type": "LATENT",
          "links": [
            13
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "KSampler"
      },
      "widgets_values": [
        0,
        "randomize",
        20,
        1.0,
        "res_2s",
        "beta",
        1.0
      ],
      "title": "Sample (20 steps, res_2s/beta - plain KSampler)"
    },
    {
      "id": 14,
      "type": "VAEDecode",
      "pos": [
        800,
        -420
      ],
      "size": [
        300,
        46
      ],
      "flags": {},
      "order": 13,
      "mode": 0,
      "inputs": [
        {
          "name": "samples",
          "type": "LATENT",
          "link": 13
        },
        {
          "name": "vae",
          "type": "VAE",
          "link": 14
        }
      ],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            15
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "VAEDecode"
      },
      "widgets_values": [],
      "title": "Decode"
    },
    {
      "id": 15,
      "type": "SaveImage",
      "pos": [
        1140,
        -420
      ],
      "size": [
        280,
        60
      ],
      "flags": {},
      "order": 14,
      "mode": 0,
      "inputs": [
        {
          "name": "images",
          "type": "IMAGE",
          "link": 15
        },
        {
          "name": "filename_prefix",
          "type": "STRING",
          "link": null,
          "widget": {
            "name": "filename_prefix"
          }
        }
      ],
      "outputs": [],
      "properties": {
        "Node name for S&R": "SaveImage"
      },
      "widgets_values": [
        "Gmanski/face_generator"
      ],
      "title": "Save"
    },
    {
      "id": 16,
      "type": "ImpactWildcardProcessor",
      "pos": [
        -850,
        300
      ],
      "size": [
        560,
        380
      ],
      "flags": {},
      "order": 5,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "processed_text",
          "type": "STRING",
          "links": [
            16,
            17
          ],
          "slot_index": 0
        }
      ],
      "properties": {
        "Node name for S&R": "ImpactWildcardProcessor"
      },
      "widgets_values": [
        "Close-up head-and-shoulders portrait photograph of a beautiful {27|28|29|30|31|32|33}-year-old {Brazilian|Italian|Korean|Japanese|Nigerian|Ethiopian|Mexican|Colombian|Swedish|Irish|Russian|Lebanese|Indian|Filipina|Vietnamese|French|Greek|Moroccan|Puerto Rican|Polish|Ukrainian|Australian|Persian|Thai} woman, {long|shoulder-length|long|very long} {straight|softly wavy|loose curly|tightly coiled|sleek|voluminous|beach-wave} {jet black|dark brown|chestnut brown|honey blonde|platinum blonde|ash brown|copper red|auburn|caramel balayage|espresso brown|strawberry blonde} hair {worn down|in a high ponytail|in a low bun|tucked behind one ear|with curtain bangs|swept to one side}, {hazel|green|light blue|grey|dark brown|amber|honey brown} eyes, {fair|porcelain|light olive|olive|golden tan|warm brown|deep brown|rich dark} skin{| with a light dusting of freckles across her nose|| with a small beauty mark near her lip}, {full glam makeup with winged eyeliner and glossy nude lips|soft natural makeup|bronzed glowy makeup|bold red lips and defined brows|smoky eye makeup|dewy minimal makeup}, {a confident soft smile|a playful smirk|a warm open smile|a calm direct gaze|a slight knowing smile}, wearing a {fitted black tank top|white ribbed top|satin camisole|off-the-shoulder knit sweater|black turtleneck|simple white shirt}, mature adult features. Plain light-grey seamless studio background, soft even beauty-dish key light, shallow depth of field, 85mm lens, facing the camera, sharp focus on the eyes, natural skin texture, ultra realistic. No text, captions, watermarks or logos anywhere.",
        "",
        "populate",
        0,
        "randomize",
        "Select the Wildcard to add to the text"
      ],
      "title": "Random face template (edit me)"
    },
    {
      "id": 17,
      "type": "PreviewAny",
      "pos": [
        0,
        -60
      ],
      "size": [
        520,
        200
      ],
      "flags": {},
      "order": 99,
      "mode": 0,
      "inputs": [
        {
          "name": "source",
          "type": "*",
          "link": 17
        }
      ],
      "outputs": [],
      "properties": {
        "Node name for S&R": "PreviewAny"
      },
      "widgets_values": [],
      "title": "This face was made from"
    }
  ],
  "links": [
    [
      1,
      2,
      0,
      5,
      0,
      "MODEL"
    ],
    [
      2,
      3,
      0,
      5,
      1,
      "CLIP"
    ],
    [
      3,
      3,
      0,
      8,
      0,
      "CLIP"
    ],
    [
      5,
      3,
      0,
      9,
      0,
      "CLIP"
    ],
    [
      6,
      7,
      0,
      9,
      1,
      "STRING"
    ],
    [
      7,
      5,
      0,
      13,
      0,
      "MODEL"
    ],
    [
      8,
      8,
      0,
      13,
      1,
      "CONDITIONING"
    ],
    [
      9,
      9,
      0,
      13,
      2,
      "CONDITIONING"
    ],
    [
      10,
      12,
      0,
      13,
      3,
      "LATENT"
    ],
    [
      11,
      10,
      0,
      13,
      6,
      "FLOAT"
    ],
    [
      12,
      11,
      0,
      13,
      4,
      "INT"
    ],
    [
      13,
      13,
      0,
      14,
      0,
      "LATENT"
    ],
    [
      14,
      4,
      0,
      14,
      1,
      "VAE"
    ],
    [
      15,
      14,
      0,
      15,
      0,
      "IMAGE"
    ],
    [
      16,
      16,
      0,
      8,
      1,
      "STRING"
    ],
    [
      17,
      16,
      0,
      17,
      0,
      "STRING"
    ]
  ],
  "groups": [],
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.62,
      "offset": [
        1480,
        420
      ]
    },
    "gmanski_template": "Gmanski Krea 2",
    "generator": "scripts/build_gmanski_krea2_workflow.py"
  },
  "version": 0.4
}
