CivArchive
    Krea 2 Seamless Tile: Make Any Render Repeat (Textures and 360 Panoramas) - v1.0
    Preview 148517430
    Preview 148517431
    Preview 148517432
    Preview 148517433
    Preview 148517434

    Take any Krea 2 render and make it repeat with no visible seam. The graph swaps the picture's halves so the old edges sit in the middle, repaints a soft band over them with your own prompt, and swaps back. Everything outside the band keeps its original pixels. It is the companion graph for texture LoRAs, and a second graph does the same for 360 panoramas. Core ComfyUI nodes only, no custom nodes.

    Two graphs in the zip. seamless-tile.json fixes both axes, for textures and tiles. seamless-panorama.json fixes the left/right wrap only, for 360 equirectangular panoramas (I tested 1440x720).

    REQUIRED MODELS

    • Diffusion model: RedCraft 3.0 Krea 2, the INT8 convrot build, redcraft23_30Krea2_int8_convrot.safetensors, in models/diffusion_models. Plain Krea 2 and Krea 2 Turbo load too; RedCraft is what I tested.

    • Text encoder: the Qwen3-VL 4B text encoder from the Krea 2 downloads (see the Krea 2 guide on comfyui-wiki.com); I run a community int8 ConvRot build of it (qwen3vl_4b_int8_convrot), and the bf16 or fp8 file works the same. It goes in models/text_encoders, loaded with CLIPLoader type krea2.

    • VAE: the Qwen-Image VAE, qwen_image_vae.safetensors, in models/vae, from Comfy-Org on Hugging Face.

    HOW TO USE IT

    1. Load the picture in the blue node. Width and height must be even.

    2. Type half its width and half its height in the two red number nodes. A 1024x1024 tile is 512 and 512. The panorama graph has one number, half the width.

    3. Paste the original prompt of the picture into the green node. The band is repainted from the prompt, so it has to describe the same picture.

    4. Run. The preview node tiles the result 2x2 (the panorama graph puts it next to itself). Look for a line.

    5. If a line shows, change the seed and run again. Brick courses and stripes can land the new edge on a mortar line; another seed moves it.

    SETTINGS

    • Tile graph: denoise 0.7, band 256. The band is a solid 256 px core on each old edge that fades out over 128 px each side. Raise denoise to 0.85 if a ghost of the old edge shows, lower it to 0.55 to keep more of the original inside the band.

    • Panorama graph: denoise 0.85, band 256. The band covers about a third of a 1440 px panorama, so that area is repainted, not blended.

    • Steps 8. It is a distilled model, more steps do not help. CFG 1.0, sampler er_sde, scheduler simple. Decode is VAEDecodeTiled, tile 512, overlap 64. Negative: a ConditioningZeroOut, because a negative prompt does nothing at CFG 1.0.

    • DifferentialDiffusion sits on the model before the sampler. Keep it connected: it is what makes the band fade in.

    WHAT I MEASURED

    Seam ratio = the difference between the first and last column (or row) divided by the median difference between neighbouring columns (rows). Under 1.5 is the pass line I used. Six Krea 2 textures (cobblestones, brick, painted grass, two seeds each) went through the tile graph at its defaults:

    • Before: ratios 2.0 to 3.7 across, 1.9 to 6.5 down. After: 0.85 to 1.12 across on all six, and down 0.79 to 1.32 on five of six.

    • The sixth, a brick wall, put the new edge exactly on a mortar line (3.6 down). That wall passed on one of the four seeds I tried (1.39). A second brick wall passed on its first seed and failed on another. Expect to try a few seeds on row-patterned textures such as brick; the other textures passed on the first.

    • Panoramas (six, 1440x720, two seeds each) went from 1.4 to 5.2 before to 0.47 to 1.24 after, all six under 1.5, at denoise 0.85. At 0.7 only three of six passed, which is why the panorama graph ships at 0.85.

    LIMITS

    • It makes an existing picture repeat. A picture with one big focal object (a face, a lamp) tiles without a seam but shows that object again and again.

    • The band is repainted, so a feature on the old edge can change. In my panorama sample a tree cluster became a sunlit ridge.

    • The panorama graph fixes the wrap seam only. Krea 2 does not draw true equirectangular geometry, so horizons are rarely straight and the poles are not stretched the way a 360 viewer expects.

    • Tested on RedCraft 3.0 (Krea 2) on ROCm (a 7900 XTX), about 20 seconds per picture. Core nodes only, so CUDA builds should run it as is. The UI files were built by script and checked against the node definitions, not saved from a browser; if a node shows red on load, tell me which.

    If this worked for you, a thumbs-up here helps the next person find it.

    Description

    Take any Krea 2 render and make it repeat with no visible seam. The graph swaps the picture's halves so the old edges sit in the middle, repaints a soft band over them with your own prompt, and swaps back. Everything outside the band keeps its original pixels. It is the companion graph for texture LoRAs, and a second graph does the same for 360 panoramas. Core ComfyUI nodes only, no custom nodes.

    Two graphs in the zip. seamless-tile.json fixes both axes, for textures and tiles. seamless-panorama.json fixes the left/right wrap only, for 360 equirectangular panoramas (I tested 1440x720).

    REQUIRED MODELS

    • Diffusion model: RedCraft 3.0 Krea 2, the INT8 convrot build, redcraft23_30Krea2_int8_convrot.safetensors, in models/diffusion_models. Plain Krea 2 and Krea 2 Turbo load too; RedCraft is what I tested.

    • Text encoder: the Qwen3-VL 4B text encoder from the Krea 2 downloads (see the Krea 2 guide on comfyui-wiki.com); I run a community int8 ConvRot build of it (qwen3vl_4b_int8_convrot), and the bf16 or fp8 file works the same. It goes in models/text_encoders, loaded with CLIPLoader type krea2.

    • VAE: the Qwen-Image VAE, qwen_image_vae.safetensors, in models/vae, from Comfy-Org on Hugging Face.

    HOW TO USE IT

    1. Load the picture in the blue node. Width and height must be even.

    2. Type half its width and half its height in the two red number nodes. A 1024x1024 tile is 512 and 512. The panorama graph has one number, half the width.

    3. Paste the original prompt of the picture into the green node. The band is repainted from the prompt, so it has to describe the same picture.

    4. Run. The preview node tiles the result 2x2 (the panorama graph puts it next to itself). Look for a line.

    5. If a line shows, change the seed and run again. Brick courses and stripes can land the new edge on a mortar line; another seed moves it.

    SETTINGS

    • Tile graph: denoise 0.7, band 256. The band is a solid 256 px core on each old edge that fades out over 128 px each side. Raise denoise to 0.85 if a ghost of the old edge shows, lower it to 0.55 to keep more of the original inside the band.

    • Panorama graph: denoise 0.85, band 256. The band covers about a third of a 1440 px panorama, so that area is repainted, not blended.

    • Steps 8. It is a distilled model, more steps do not help. CFG 1.0, sampler er_sde, scheduler simple. Decode is VAEDecodeTiled, tile 512, overlap 64. Negative: a ConditioningZeroOut, because a negative prompt does nothing at CFG 1.0.

    • DifferentialDiffusion sits on the model before the sampler. Keep it connected: it is what makes the band fade in.

    WHAT I MEASURED

    Seam ratio = the difference between the first and last column (or row) divided by the median difference between neighbouring columns (rows). Under 1.5 is the pass line I used. Six Krea 2 textures (cobblestones, brick, painted grass, two seeds each) went through the tile graph at its defaults:

    • Before: ratios 2.0 to 3.7 across, 1.9 to 6.5 down. After: 0.85 to 1.12 across on all six, and down 0.79 to 1.32 on five of six.

    • The sixth, a brick wall, put the new edge exactly on a mortar line (3.6 down). That wall passed on one of the four seeds I tried (1.39). A second brick wall passed on its first seed and failed on another. Expect to try a few seeds on row-patterned textures such as brick; the other textures passed on the first.

    • Panoramas (six, 1440x720, two seeds each) went from 1.4 to 5.2 before to 0.47 to 1.24 after, all six under 1.5, at denoise 0.85. At 0.7 only three of six passed, which is why the panorama graph ships at 0.85.

    LIMITS

    • It makes an existing picture repeat. A picture with one big focal object (a face, a lamp) tiles without a seam but shows that object again and again.

    • The band is repainted, so a feature on the old edge can change. In my panorama sample a tree cluster became a sunlit ridge.

    • The panorama graph fixes the wrap seam only. Krea 2 does not draw true equirectangular geometry, so horizons are rarely straight and the poles are not stretched the way a 360 viewer expects.

    • Tested on RedCraft 3.0 (Krea 2) on ROCm (a 7900 XTX), about 20 seconds per picture. Core nodes only, so CUDA builds should run it as is. The UI files were built by script and checked against the node definitions, not saved from a browser; if a node shows red on load, tell me which.

    If this worked for you, a thumbs-up here helps the next person find it.

    Workflows
    Krea 2

    Details

    Downloads
    68
    Platform
    CivitAI
    Platform Status
    Available
    Created
    11/11/2026
    Updated
    11/12/2026
    Deleted
    -

    Files

    krea2-seamless-tile.zip

    Mirrors

    CivitAI (1 mirrors)