CivArchive
    Krea 2 Identity Edit - v1.2
    NSFW
    Preview 136998699
    Preview 136998717

    Krea 2 Identity Edit


    #v1.2 — new things

    In the model:

    • Better likeness

    • Character sheets — use and creation

    • Head/face swap (+ eye/person replace) — thanks to stablellama

    • Outpainting

    • Inpainting

    • Try-on

    • Better person removal

    • Higher fidelity + a real high-res pass

    In the nodes:

    • ref_boost — reference-fidelity dial ← don't miss this one, try between 2 and 6

    • Fixed blurry images / fit geometry (also removes the old "match the aspect ratio" requirement)

    **Settings:** Turbo, 8–12 steps (8 = composition, 12 = face detail, ~10 balanced), CFG 1.0, LoRA strength 1.0. Removals/deletions: Two-ref edits: **scene = image 1, person = image 2.**

    Requires the [ComfyUI-Krea2Edit nodes](https://github.com/lbouaraba/comfyui-krea2edit) — see [CHANGELOG](https://github.com/lbouaraba/comfyui-krea2edit/blob/main/CHANGELOG.md).

    Instruction-based, identity-preserving image editing for Krea 2 (12.9B single-stream MMDiT). Give it an image and a plain-language instruction; it edits while preserving what you didn't ask to change — including the person.

    An unofficial community fine-tune of Krea 2 Raw. Not an official Krea product; not affiliated with or endorsed by Krea.ai, Inc.

    Requires the ComfyUI-Krea2Edit node pack — the LoRA is trained with dual conditioning (in-context VAE tokens + image-grounded Qwen3-VL encoding) that stock nodes don't provide. Two ready-made workflows ship with it.

    What it does

    • Person re-staging with likeness: "create a photo of this person at a night market" — same face, same outfit down to individual moles and marks, fully relit to the new scene. New camera angles and poses included.

    • Local edits: recolor, add/remove/replace objects, attribute and outfit changes, with near-pixel preservation of the rest of the frame.

    • Replace-with-reference: "replace the woman with a big orangutan" — the replace verb is trained, locality holds.

    • Full-image restyles: global style with preserved composition.

    • Two-input edits (experimental): scene + person as separate references. Outfits and placement work well; see limitations for faces.

    • Composes with your LoRAs: character/body/style LoRAs stack on top and steer the prior — something closed editors structurally can't offer.

    Task type Model Steps CFG Most edits (add, recolor, restyle, re-stage) Turbo 8 1.0 Removals / large deletions Raw 20 3.0

    • Match the output aspect ratio to the source image. Training pairs are same-size; AR mismatch degrades preservation (edits may apply to only part of the frame).

    • Generate at ≤2MP. Above that, source content can bleed or subjects duplicate (training was 768/1024-class).

    • grounding_px is a real dial (trained range 512–1536): lower values = stronger edit adherence and more uniform scene changes; higher values = stronger identity/likeness. 768 is a balanced default; try 1024+ for people.

    • At CFG > 1, ground the negative too (empty prompt + same image).

    • LoRA strength 1.0.

    Known limitations (honest list)

    • Likeness is texture-faithful, proportion-conservative. Moles, skin character, hair, and lighting adapt beautifully; strongly distinctive facial geometry (unusual nose, eye spacing, face length) regresses toward typical proportions. People whose identity lives in texture and structure transfer best; geometry-defined faces read as a "close relative."

    • Two-person inputs keep outfits distinct but faces drift toward each other. Workaround that works today: chain single-ref inserts (place person A, then a second edit pass adding person B from their reference).

    • Removal works but is not yet reliable — always use the Raw/CFG 3 recipe; expect occasional re-renders instead of deletions.

    • Outfit swaps are hit-or-miss — changing what a person wears sometimes works cleanly and sometimes doesn't apply; reroll or rephrase.

    • Local edits aren't always perfectly local — add/remove/replace operations can sometimes alter other parts of the frame or shift the overall color grade. If preservation matters, compare against the source and reroll.

    • Highly unusual visual content (extravagant hairstyles, extreme body types) can drift toward the base prior — a subject LoRA stacked on top fixes this.

    License

    The LoRA weights are a Derivative Model of Krea 2 and are distributed under the Krea 2 Community License Agreement (see also NOTICE). Key points for users: commercial use is permitted under the license's revenue threshold (§2.3, currently <$1M/yr — above that, contact Krea for an enterprise license); deployments must implement reasonable content moderation (§4.2); AI disclosure obligations apply where required (§4.3). This repository modifies the Krea Model as permitted by §3; it is not endorsed by Krea.

    Research/portfolio release by a self-funded hobbyist.

    Showcase

    All reference people below are themselves AI-generated — no real likenesses. Prompts are embedded in each image.

    Description

    v1.2 — new things

    In the model:

    • Better likeness

    • Character sheets — use and creation

    • Head/face swap (+ eye/person replace) — thanks to stablellama

    • Outpainting

    • Inpainting

    • Try-on

    • Better person removal

    • Higher fidelity + a real high-res pass

    In the nodes:

    • ref_boost — reference-fidelity dial ← don't miss this one, try between 2 and 6

    • Fixed blurry images / fit geometry (also removes the old "match the aspect ratio" requirement)

    FAQ

    Comments (36)

    amazingbeautyJul 17, 2026· 3 reactions
    CivitAI

    video tutorial.

    psspsspsspssspssJul 17, 2026· 1 reaction
    CivitAI

    Thanks for the update, but I keep getting crashes with the updated nodes (cuda related). Happens in your updated workflow after a few renders.

    conrad_locke
    Author
    Jul 17, 2026

    Hey :)

    Can you paste the error you are getting? That way I can take a look at it.

    psspsspsspssspssJul 18, 2026

    The trace is too big to post as a comment here, but here's claude's analysis:

    ## What the exception is

    The top-level error is:

    torch.AcceleratorError: CUDA error: invalid argument (cudaErrorInvalidValue)

    It was raised on node 53 (KSampler), but the crash point is a tensor.to(device) copy - a CUDA memory operation, not a math kernel.

    ## Where it actually happened

    Reading the stack from bottom to top, this is NOT a normal KSampler run. A custom node injected itself into the diffusion model's forward pass:

    1. KSampler -> sample_euler -> diffusion model forward (krea2/model.py)

    2. A DIFFUSION_MODEL wrapper from custom_nodes\comfyui-krea2edit\__init__.py:304 runs inside the denoise step

    3. That wrapper calls fitencode_image(...) -> vae.encode(...) (line 114)

    4. vae.encode calls model_management.load_models_gpu(...) to make room for the VAE

    5. To free VRAM it does free_memory -> partially_unload -> m.to(offload_device)

    6. The weight-transfer t.to(device, ...) throws CUDA error: invalid argument

    So the immediate trigger is: the krea2edit node runs a VAE encode in the middle of the sampler's forward pass, which forces ComfyUI to swap models on the GPU, and the offload copy fails.

    ## Likely root cause

    - The stacktrace is probably misleading. ComfyUI even prints: "CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect." cudaErrorInvalidValue surfacing on a plain .to() almost always means an earlier async CUDA kernel already faulted, and the error only became visible here. The real failure is likely upstream (e.g. inside the compiled krea2edit encode path or the DiT forward), not the memory copy itself.

    - Aggressive memory setup + torch.compile. Running with --vram-headroom 1.0 (only 1 GB headroom) on the cudaMallocAsync allocator, with torch.compile/Dynamo active (there is a WON'T CONVERT warning right before the crash). Doing a VAE encode + model offload/reload during a compiled forward pass, with almost no free VRAM (log shows ~3.7 MB Torch VRAM free), is a fragile combination that can corrupt the allocator/context.

    ## How to narrow it down / fix

    1. Get the true error location. Relaunch with CUDA_LAUNCH_BLOCKING=1 (and ideally TORCH_USE_CUDA_DSA). This makes CUDA report the failing kernel synchronously so the stacktrace points at the real culprit instead of the .to() copy.

    2. Disable torch.compile for this run to rule out a Dynamo/compiled-kernel interaction (krea2/model.py uses torch._dynamo).

    3. Loosen memory pressure. Increase --vram-headroom (e.g. 2.0+) or try the default (non-async) allocator by setting PYTORCH_CUDA_ALLOC_CONF without cudaMallocAsync, so the mid-forward VAE encode does not force a risky partial unload.

    4. Suspect the custom node. The whole crash flows through comfyui-krea2edit, which does an unusual vae.encode inside the DiT forward. Try the same workflow with that node bypassed/removed - if it succeeds, the node's mid-forward encode + offload is the problem.

    The most useful next step is running with CUDA_LAUNCH_BLOCKING=1, since the current trace is very likely pointing at a symptom rather than the actual failing operation.

    psspsspsspssspssJul 18, 2026

    Removing torch compile seems to help, but do the k2edit nodes really need to to the vae encode inside the forward pass? Can't this be done outside once and passed in?

    novice286479Jul 17, 2026· 10 reactions
    CivitAI

    Folks, this is a game changer for Krea2. It's an absolute must install.

    conrad_locke
    Author
    Jul 17, 2026

    Thank you, have fun! Post some generations you are happy with :)

    VT95Jul 17, 2026· 1 reaction
    CivitAI

    Workflow??

    jamesmanx842Jul 18, 2026· 1 reaction

    @2legsRises357 Thanks so much!!

    fronyaxJul 17, 2026· 2 reactions
    CivitAI

    Tried it and the replace person is definitely better than 1.1, excellent update, It would be awesome if you could release Rank 128 and Rank 64 variants for v1.2 as well.

    ProvenFlawlessJul 18, 2026

    What would be the difference of making it rank 128/rank 64? I know I can google this but an actual human perspective is always better.

    fronyaxJul 18, 2026

    @ProvenFlawless Less memory usage for me, and faster gen time.

    hooniee0125392Jul 17, 2026· 7 reactions
    CivitAI

    THANKS A LOT

    This is almost close to 85 performance of nano banana2

    luisa_pinguinJul 17, 2026· 2 reactions
    CivitAI

    still sad that i cannot use a gguf clip [ its time saver for me]

    TheWor1DJul 18, 2026

    You can try INT8 version. it's much more time saving. i'm using Qwen 3VL_4b_int8.safetensor

    Winchester99Jul 18, 2026· 3 reactions
    CivitAI

    they should hire you.

    EDIT: I take that back. better keep you in the open source community. who knows if they are ever going to release the Edit model or keep it locked behind their API.

    On another note and because we don't know when and if the genuine Edit model is ever going to be released - it would be nice to be able to train on top of your lora backed into the base model so we can train our own Edit loras using yours as a starting point. For that to be possible we would need you to share your training settings though...

    soyv4Jul 18, 2026
    CivitAI

    This is a breakthrough, everything is clear, identity is the norm, thank you for the great work done.

    LemontonJul 18, 2026
    CivitAI

    with 1.1 i tried add encoded original picture as sampler's input latent, which kind help with robots or masked characters. But with 1.2 it seems no need of that kind of input. The detail is close enough. Thanks for the update! I'm still testing for the difference.(i use 0.8 denoise cfg5 for this method)

    sqallJul 18, 2026
    CivitAI

    thank u so much, bro. lora1.2 works well, and the workflow is easy to use.

    Lora_AddictJul 18, 2026· 2 reactions
    CivitAI

    The Krea2 workflow from the images you posted is not working for me: TypeError: Krea2EditModelPatch.patch() got an unexpected keyword argument 'vae'

    ksgaming87726Jul 18, 2026

    exact same error here, right click the textencode node and reload or recreate, it works then but without the fidelity booster and makes the editing useless

    ZoeLeeBananaJul 18, 2026· 1 reaction
    CivitAI

    Works really well <3

    ElGordoAIJul 18, 2026· 4 reactions
    CivitAI

    you deserve everything, you MADE krea 2 edit!

    aksfsg514Jul 18, 2026
    CivitAI

    Everything works great, but the face in the output file is blurry, while the rest of the photo is sharp. Has anyone else encountered this problem?

    I have. still working on figuring it out. i used a reference of myself and it its a portrait upper torso shot on landscape, face is still not detailed. experimenting with creating an inpaint to fix it

    rogerstone382Jul 18, 2026· 2 reactions
    CivitAI

    This is actually great once you understand how to use it properly. Please do continue with improvements. Thanks and I look forward to hopefully improved future versions of your lora.

    candid80Jul 18, 2026· 2 reactions
    CivitAI

    This is truly fantastic! Thank you! Any guidance or maybe a workflow for the inpaint/outpaint features?

    GlibGentlemanJul 18, 2026· 1 reaction
    CivitAI

    I can't believe how well this works. With version 1.2 now I'm getting better edits than I got with Flux 2 Klein 9b and I was getting great results with that!

    Great job. I look forward to any further advances you make. This is truly incredible.

    ArtiOtakuJul 18, 2026· 2 reactions
    CivitAI

    Thanks for your hard work... now we don't have to wait forever for Krea2Edit the way we never got ZImageEdit.

    mmdd2543Jul 18, 2026· 8 reactions
    CivitAI

    I can't recommend this LoRA enough! It's close to making Flux.2 Klein 9B obsolete for me and this is not even an official Krea 2 edit model. The improvements in v1.2 are indeed significant. Thank you!

    velantegJul 19, 2026

    klein 2 already obsolete.
    For most edit this model already nice, for hard edits - big love qwen. For generation - krea 2 with vantage condition nodes (more than twice fast).

    AI_DKJul 19, 2026
    CivitAI

    latest comfyui git pull (committed 1hr ago) broke the main node(Krea2 Edit source patch), I don't know if they need to fix it or some changes need to be made on the custom node end. But it sucks that I have to refrain from updating my Comfy until it's worked out, now.

    conrad_locke
    Author
    Jul 19, 2026

    Thank you for letting me know. I'll make sure to find a fix asap :)

    AI_DKJul 19, 2026

    @conrad_locke np, it was a commit to comfy/ldm/krea2/model.py had to revert to stable to get Krea2 edit working again...

    https://github.com/Comfy-Org/ComfyUI/commit/c9602625e445e9ee37d3ac6faf5ea9ec1e0de87e

    I keep my Comfy updated, this was the only change I could see that would have messed with how Krea2 worked.

    conrad_locke
    Author
    Jul 19, 2026

    @AI_DK Fixed in v1.2.1, update the node pack via Manager or git pull and you can update Comfy freely again.

    They added native krea 2 reference support which changed a internal signature my node wraps :)

    LORA
    Krea 2

    Details

    Downloads
    2,246
    Platform
    CivitAI
    Platform Status
    Available
    Created
    7/17/2026
    Updated
    7/21/2026
    Deleted
    -

    Files

    krea2_identity_edit_v1_2_r64.safetensors

    krea2_identity_edit_v1_2_r128.safetensors

    krea2_identity_edit_v1_2.safetensors

    Mirrors