{ "id": "krea2-identity-edit-unified", "revision": 0, "last_node_id": 110, "last_link_id": 27, "nodes": [ { "id": 29, "type": "SaveImage", "pos": [ 3180, -160 ], "size": [ 760, 860 ], "flags": {}, "order": 23, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 26 } ], "outputs": [ { "name": "images", "type": "IMAGE", "links": null } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "SaveImage" }, "widgets_values": [ "krea2_identity_edit" ] }, { "id": 53, "type": "KSampler", "pos": [ 2800, -160 ], "size": [ 320, 560 ], "flags": {}, "order": 21, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 3 }, { "name": "positive", "type": "CONDITIONING", "link": 22 }, { "name": "negative", "type": "CONDITIONING", "link": 23 }, { "name": "latent_image", "type": "LATENT", "link": 24 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 25 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "KSampler" }, "widgets_values": [ 1088049369132323, "randomize", 10, 1, "euler", "simple", 1 ] }, { "id": 54, "type": "VAEDecode", "pos": [ 2810, 440 ], "size": [ 225, 8 ], "flags": { "collapsed": true }, "order": 22, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 25 }, { "name": "vae", "type": "VAE", "link": 6 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 26 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "VAEDecode" }, "widgets_values": [] }, { "id": 55, "type": "UNETLoader", "pos": [ 60, -160 ], "size": [ 480, 130 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 1 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "UNETLoader", "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": 56, "type": "CLIPLoader", "pos": [ 60, 30 ], "size": [ 480, 140 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "CLIP", "type": "CLIP", "links": [ 4, 5 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "CLIPLoader", "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": 57, "type": "VAELoader", "pos": [ 60, 220 ], "size": [ 480, 90 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "VAE", "type": "VAE", "links": [ 6, 7, 8, 16 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "VAELoader", "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": 71, "type": "LoraLoaderModelOnly", "pos": [ 60, 370 ], "size": [ 480, 120 ], "flags": {}, "order": 14, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 1 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 2 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "LoraLoaderModelOnly" }, "widgets_values": [ "Krea2/krea2_identity_edit_v1_2.safetensors", 1 ] }, { "id": 72, "type": "LoadImage", "pos": [ 640, -160 ], "size": [ 520, 440 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 11, 12, 13, 14 ] }, { "name": "MASK", "type": "MASK", "links": null } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "LoadImage" }, "widgets_values": [ "example.png", "image" ] }, { "id": 73, "type": "VAEEncode", "pos": [ 1260, 60 ], "size": [ 225, 8 ], "flags": { "collapsed": true }, "order": 15, "mode": 0, "inputs": [ { "name": "pixels", "type": "IMAGE", "link": 11 }, { "name": "vae", "type": "VAE", "link": 7 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 15 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "VAEEncode" }, "widgets_values": [] }, { "id": 79, "type": "Krea2EditModelPatch", "pos": [ 2320, -160 ], "size": [ 420, 350 ], "flags": {}, "order": 20, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 2 }, { "name": "source_latent", "type": "LATENT", "link": 15 }, { "name": "source_latent_b", "shape": 7, "type": "LATENT", "link": 21 }, { "name": "ref_boost_mask", "shape": 7, "type": "MASK", "link": null }, { "name": "vae", "shape": 7, "type": "VAE", "link": 16 }, { "name": "source_image", "shape": 7, "type": "IMAGE", "link": 14 }, { "name": "source_image_b", "shape": 7, "type": "IMAGE", "link": 20 }, { "name": "target_latent", "shape": 7, "type": "LATENT", "link": 27 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 3 ] } ], "properties": { "Node name for S&R": "Krea2EditModelPatch" }, "widgets_values": [ 4, 1, "fit" ] }, { "id": 82, "type": "EmptySD3LatentImage", "pos": [ 1260, 410 ], "size": [ 270, 150 ], "flags": {}, "order": 16, "mode": 0, "inputs": [ { "name": "width", "type": "INT", "widget": { "name": "width" }, "link": 9 }, { "name": "height", "type": "INT", "widget": { "name": "height" }, "link": 10 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 24, 27 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "EmptySD3LatentImage" }, "widgets_values": [ 1024, 1024, 1 ] }, { "id": 83, "type": "ResolutionSelector", "pos": [ 1250, 150 ], "size": [ 270, 190 ], "flags": {}, "order": 4, "mode": 0, "inputs": [], "outputs": [ { "name": "width", "type": "INT", "links": [ 9 ] }, { "name": "height", "type": "INT", "links": [ 10 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "ResolutionSelector" }, "widgets_values": [ "1:1 (Square)", 1, 8 ] }, { "id": 84, "type": "Krea2EditGroundedEncode", "pos": [ 1620, -160 ], "size": [ 620, 330 ], "flags": {}, "order": 18, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 4 }, { "name": "image", "shape": 7, "type": "IMAGE", "link": 12 }, { "name": "image_b", "shape": 7, "type": "IMAGE", "link": 18 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 22 ] } ], "properties": { "Node name for S&R": "Krea2EditGroundedEncode" }, "widgets_values": [ "Change her outfit to a red raincoat.", 768, "" ] }, { "id": 85, "type": "Krea2EditGroundedEncode", "pos": [ 1620, 250 ], "size": [ 225, 8 ], "flags": { "collapsed": true }, "order": 19, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 5 }, { "name": "image", "shape": 7, "type": "IMAGE", "link": 13 }, { "name": "image_b", "shape": 7, "type": "IMAGE", "link": 19 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 23 ] } ], "title": "negative (leave empty)", "properties": { "Node name for S&R": "Krea2EditGroundedEncode" }, "widgets_values": [ "", 768, "" ] }, { "id": 90, "type": "LoadImage", "pos": [ 640, 640 ], "size": [ 520, 440 ], "flags": {}, "order": 5, "mode": 4, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 17, 18, 19, 20 ] }, { "name": "MASK", "type": "MASK", "links": null } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "LoadImage" }, "widgets_values": [ "example_person.png", "image" ] }, { "id": 92, "type": "VAEEncode", "pos": [ 1250, 970 ], "size": [ 228.75, 8 ], "flags": { "collapsed": true }, "order": 17, "mode": 4, "inputs": [ { "name": "pixels", "type": "IMAGE", "link": 17 }, { "name": "vae", "type": "VAE", "link": 8 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 21 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.26.0", "Node name for S&R": "VAEEncode" }, "widgets_values": [] }, { "id": 100, "type": "Note", "pos": [ 60, 540 ], "size": [ 480, 150 ], "flags": {}, "order": 6, "mode": 0, "inputs": [], "outputs": [], "title": "Model files", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "Files (auto-downloadable via the manager links):\n- krea2_turbo_fp8_scaled (or krea2_raw_bf16 - see GENERATE note)\n- qwen3vl_4b_fp8_scaled text encoder, type 'krea2'\n- qwen_image_vae\n- krea2_identity_edit_v1_2.safetensors LoRA (this model)" ], "color": "#432", "bgcolor": "#653" }, { "id": 101, "type": "Note", "pos": [ 640, 330 ], "size": [ 520, 190 ], "flags": {}, "order": 7, "mode": 0, "inputs": [], "outputs": [], "title": "How inputs work", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "YOUR IMAGE - the image being edited (your character, the photo to\nrestyle, the scene...).\n\nTwo-image mode (group 2 enabled): THIS slot is always the SCENE\n(image 1). The person always goes in group 2 (image 2).\nInputs around 1MP work best. Two-person images: stay at/below ~1.5MP." ], "color": "#432", "bgcolor": "#653" }, { "id": 102, "type": "Note", "pos": [ 640, 1130 ], "size": [ 520, 210 ], "flags": {}, "order": 8, "mode": 0, "inputs": [], "outputs": [], "title": "Enable for two-image edits", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "OPTIONAL second reference - the PERSON for insert-into-scene edits\n('place this person at the table').\n\nThis group ships DISABLED (purple = bypassed) - the workflow is a\nplain single-image editor until you need it.\nEnable: right-click this group's title bar -> toggle Bypass off.\nOrder rule: scene = image 1 (group 1), person = image 2 (here)." ], "color": "#432", "bgcolor": "#653" }, { "id": 103, "type": "Note", "pos": [ 1620, 360 ], "size": [ 620, 300 ], "flags": {}, "order": 9, "mode": 0, "inputs": [], "outputs": [], "title": "Writing instructions", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "Write the edit in plain English:\n 'Relight the scene with warm golden hour sunlight.'\n 'Place this person at the cafe table, holding a coffee.'\n 'Change her outfit to a red raincoat.'\n\nUnique face coming out generic? Append:\n 'Preserve the exact facial identity - distinguishing features: ...'\nand describe what makes the face distinctive.\n\ngrounding_px: how large the model 'sees' the input while reading your\ninstruction. 384-768 is the trained range. Getting doubled/split\ncompositions? LOWER it. The collapsed node below is the negative -\nonly used at CFG > 1; keep its prompt empty." ], "color": "#432", "bgcolor": "#653" }, { "id": 104, "type": "Note", "pos": [ 2320, 230 ], "size": [ 420, 420 ], "flags": {}, "order": 10, "mode": 0, "inputs": [], "outputs": [], "title": "Fidelity dial", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "THE FIDELITY DIAL (ref_boost) - how hard the model looks at your\nreference. New in this release.\n\n 1.0 = classic v1.1 behavior\n 4.0 = recommended (pre-set): much stronger face + body likeness,\n more reliable edits\n >10 = over-copy: removals/replacements start failing\n <1 = suppress the reference (creative freedom)\n\nref_boost_a: the scene dial (image 1) in two-image mode -\nleave at 1.0 unless you are exploring. ref_boost applies to the\nperson (image 2) when group 2 is enabled, else to your image.\n\nfit_mode: how inputs fit a different output aspect\nratio. fit = resample to the output shape (default, recommended); crop (legacy) = center-crop\nonly for v1/v1.1 weights." ], "color": "#432", "bgcolor": "#653" }, { "id": 105, "type": "Note", "pos": [ 2800, 490 ], "size": [ 320, 280 ], "flags": {}, "order": 11, "mode": 0, "inputs": [], "outputs": [], "title": "Sampling", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "Turbo model: 10 steps, cfg 1.\n\nStep dial:\n 8 = stronger composition/instruction adherence\n 12 = more face detail\n 10 = balanced\n\nUsing krea2_raw instead of turbo:\n40 steps, cfg 3-4 (negative then matters)." ], "color": "#432", "bgcolor": "#653" }, { "id": 106, "type": "Note", "pos": [ 620, -600 ], "size": [ 1600, 330 ], "flags": {}, "order": 12, "mode": 0, "inputs": [], "outputs": [], "title": "README", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "KREA 2 IDENTITY EDIT - v1.2 (Fidelity update)\nUse an image like a LoRA: your character/scene goes in as a reference, plain-English\ninstructions do the rest.\n\nQUICK START: 1) load your image in group 1 2) write the instruction in group 3 3) Queue.\nThe Fidelity dial (group 4) ships at 4 = strong likeness. Two-image person-into-scene: enable\ngroup 2 (right-click its title -> toggle Bypass).\n\nRequires the comfyui-krea2edit nodes from this release or newer.\ngithub.com/lbouaraba/comfyui-krea2edit - huggingface.co/conradlocke/krea2-identity-edit" ], "color": "#232", "bgcolor": "#353" }, { "id": 107, "type": "Note", "pos": [ 1250, -140 ], "size": [ 270, 110 ], "flags": {}, "order": 13, "mode": 0, "inputs": [], "outputs": [], "title": "Resolution", "properties": { "Node name for S&R": "Note" }, "widgets_values": [ "Output resolution. 1MP is the\nsweet spot; go higher only for\nsingle-person edits." ], "color": "#432", "bgcolor": "#653" } ], "links": [ [ 1, 55, 0, 71, 0, "MODEL" ], [ 2, 71, 0, 79, 0, "MODEL" ], [ 3, 79, 0, 53, 0, "MODEL" ], [ 4, 56, 0, 84, 0, "CLIP" ], [ 5, 56, 0, 85, 0, "CLIP" ], [ 6, 57, 0, 54, 1, "VAE" ], [ 7, 57, 0, 73, 1, "VAE" ], [ 8, 57, 0, 92, 1, "VAE" ], [ 9, 83, 0, 82, 0, "INT" ], [ 10, 83, 1, 82, 1, "INT" ], [ 11, 72, 0, 73, 0, "IMAGE" ], [ 12, 72, 0, 84, 1, "IMAGE" ], [ 13, 72, 0, 85, 1, "IMAGE" ], [ 14, 72, 0, 79, 5, "IMAGE" ], [ 15, 73, 0, 79, 1, "LATENT" ], [ 16, 57, 0, 79, 4, "VAE" ], [ 17, 90, 0, 92, 0, "IMAGE" ], [ 18, 90, 0, 84, 2, "IMAGE" ], [ 19, 90, 0, 85, 2, "IMAGE" ], [ 20, 90, 0, 79, 6, "IMAGE" ], [ 21, 92, 0, 79, 2, "LATENT" ], [ 22, 84, 0, 53, 1, "CONDITIONING" ], [ 23, 85, 0, 53, 2, "CONDITIONING" ], [ 24, 82, 0, 53, 3, "LATENT" ], [ 25, 53, 0, 54, 0, "LATENT" ], [ 26, 54, 0, 29, 0, "IMAGE" ], [ 27, 82, 0, 79, 7, "LATENT" ] ], "groups": [ { "id": 1, "title": "MODELS", "bounding": [ 40, -240, 540, 950 ], "color": "#3f789e", "flags": {} }, { "id": 2, "title": "1 · IMAGE TO EDIT", "bounding": [ 620, -240, 580, 790 ], "color": "#8A8", "flags": {} }, { "id": 3, "title": "2 · SECOND REFERENCE (optional — bypassed)", "bounding": [ 620, 560, 580, 810 ], "color": "#a1309b", "flags": {} }, { "id": 4, "title": "3 · INSTRUCTION", "bounding": [ 1600, -240, 680, 930 ], "color": "#b58b2a", "flags": {} }, { "id": 5, "title": "4 · FIDELITY", "bounding": [ 2300, -240, 460, 910 ], "color": "#c15f3c", "flags": {} }, { "id": 6, "title": "5 · GENERATE", "bounding": [ 2780, -240, 1200, 1030 ], "color": "#3f789e", "flags": {} } ], "config": {}, "extra": { "frontendVersion": "1.45.19", "ds": { "scale": 0.8264462809917354, "offset": [ 69.76703364204093, 382.9680133228499 ] }, "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 }