{"id":"86c39734-f646-5a69-a2f0-902e958d107a","revision":1,"last_node_id":45,"last_link_id":18,"nodes":[{"id":2,"type":"CheckpointLoaderSimple","pos":[496.7,87.8],"size":[375.1275390625,160],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"ckpt_name","name":"ckpt_name","type":"COMBO","widget":{"name":"ckpt_name"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","slot_index":0,"links":[1]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","slot_index":1,"links":[3,4]},{"localized_name":"VAE","name":"VAE","type":"VAE","slot_index":2,"links":[2]}],"title":"1.1 Checkpoint - RealVisXL V4.0 Lightning (SDXL)","properties":{"Node name for S&R":"CheckpointLoaderSimple"},"widgets_values":["RealVisXL_V4.0_Lightning.safetensors"],"widgets_values_named":{"ckpt_name":"RealVisXL_V4.0_Lightning.safetensors"}},{"id":3,"type":"SeamlessTile","pos":[960,90],"size":[369.378515625,160],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":1},{"localized_name":"tiling","name":"tiling","type":"COMBO","widget":{"name":"tiling"},"link":null},{"localized_name":"copy_model","name":"copy_model","type":"COMBO","widget":{"name":"copy_model"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","slot_index":0,"links":[5]}],"title":"2.1 Seamless tiling - wrap the model at the edges","properties":{"Node name for S&R":"SeamlessTile"},"widgets_values":["enable","Make a copy"],"widgets_values_named":{"tiling":"enable","copy_model":"Make a copy"}},{"id":5,"type":"CLIPTextEncode","pos":[1470,130],"size":[420,328],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":3},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[6]}],"title":"3.1 Positive prompt - describe the textile print","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["Seamless small-scale ditsy botanical print, many small irregularly scattered indigo leaves, fine branches and tiny burnt-orange wildflowers across the entire canvas, dozens of varied-size motifs without any dominant bouquet, flowing slender vine connectors in changing directions, natural uneven rhythm with small secondary leaves filling gaps, allover balanced coverage across center and every tile edge, warm cream ground, flat block-printed ink artwork, no mirrored composition"],"widgets_values_named":{"text":"Seamless small-scale ditsy botanical print, many small irregularly scattered indigo leaves, fine branches and tiny burnt-orange wildflowers across the entire canvas, dozens of varied-size motifs without any dominant bouquet, flowing slender vine connectors in changing directions, natural uneven rhythm with small secondary leaves filling gaps, allover balanced coverage across center and every tile edge, warm cream ground, flat block-printed ink artwork, no mirrored composition"}},{"id":4,"type":"MakeCircularVAE","pos":[960,350],"size":[355.3716796875,160],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"vae","name":"vae","type":"VAE","link":2},{"localized_name":"tiling","name":"tiling","type":"COMBO","widget":{"name":"tiling"},"link":null},{"localized_name":"copy_vae","name":"copy_vae","type":"COMBO","widget":{"name":"copy_vae"},"link":null}],"outputs":[{"localized_name":"VAE","name":"VAE","type":"VAE","slot_index":0,"links":[10]}],"title":"2.2 Seamless tiling - wrap the VAE at the edges","properties":{"Node name for S&R":"MakeCircularVAE"},"widgets_values":["enable","Make a copy"],"widgets_values_named":{"tiling":"enable","copy_vae":"Make a copy"}},{"id":6,"type":"CLIPTextEncode","pos":[1470,558],"size":[420,328],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":4},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[7]}],"title":"3.2 Negative prompt - what to leave out","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["large centered flower, regular grid, mirrored halves, repeated medallion, isolated large motifs, broad empty center, fabric folds, garment, person, mockup, frame, watermark, typography, shadows, gradients, photorealism"],"widgets_values_named":{"text":"large centered flower, regular grid, mirrored halves, repeated medallion, isolated large motifs, broad empty center, fabric folds, garment, person, mockup, frame, watermark, typography, shadows, gradients, photorealism"}},{"id":7,"type":"EmptyLatentImage","pos":[2060,598],"size":[340,160],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"width","name":"width","type":"INT","widget":{"name":"width"},"link":null},{"localized_name":"height","name":"height","type":"INT","widget":{"name":"height"},"link":null},{"localized_name":"batch_size","name":"batch_size","type":"INT","widget":{"name":"batch_size"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","slot_index":0,"links":[8]}],"title":"4.1 Empty latent - tile size","properties":{"Node name for S&R":"EmptyLatentImage"},"widgets_values":[1024,1024,1],"widgets_values_named":{"width":1024,"height":1024,"batch_size":1}},{"id":9,"type":"VAEDecode","pos":[3015.08,364.79],"size":[346.9498046875,160],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":9},{"localized_name":"vae","name":"vae","type":"VAE","link":10}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[11,12,13,16]}],"title":"5.1 VAE decode - turn the result into an image","properties":{"Node name for S&R":"VAEDecode"}},{"id":13,"type":"SaveImage","pos":[4370,130.12],"size":[380,420],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":16},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","slot_index":0,"links":[]}],"title":"6.1 Save image - single tile","properties":{"Node name for S&R":"SaveImage"},"widgets_values":["Sketch_A_Tile"],"widgets_values_named":{"filename_prefix":"Sketch_A_Tile"}},{"id":11,"type":"ImageStitch","pos":[3437.1,82.36],"size":[340,182],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"image1","name":"image1","type":"IMAGE","link":12},{"localized_name":"image2","name":"image2","shape":7,"type":"IMAGE","link":13},{"localized_name":"direction","name":"direction","type":"COMBO","widget":{"name":"direction"},"link":null},{"localized_name":"match_image_size","name":"match_image_size","type":"BOOLEAN","widget":{"name":"match_image_size"},"link":null},{"localized_name":"spacing_width","name":"spacing_width","type":"INT","widget":{"name":"spacing_width"},"link":null},{"localized_name":"spacing_color","name":"spacing_color","type":"COMBO","widget":{"name":"spacing_color"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[14,15]}],"title":"5.2 Image stitch - two tiles side by side","properties":{"Node name for S&R":"ImageStitch"},"widgets_values":["right",true,0,"white"],"widgets_values_named":{"direction":"right","match_image_size":true,"spacing_width":0,"spacing_color":"white"}},{"id":12,"type":"ImageStitch","pos":[3844.92,337.83],"size":[403.1958984375,182],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"image1","name":"image1","type":"IMAGE","link":14},{"localized_name":"image2","name":"image2","shape":7,"type":"IMAGE","link":15},{"localized_name":"direction","name":"direction","type":"COMBO","widget":{"name":"direction"},"link":null},{"localized_name":"match_image_size","name":"match_image_size","type":"BOOLEAN","widget":{"name":"match_image_size"},"link":null},{"localized_name":"spacing_width","name":"spacing_width","type":"INT","widget":{"name":"spacing_width"},"link":null},{"localized_name":"spacing_color","name":"spacing_color","type":"COMBO","widget":{"name":"spacing_color"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[18]}],"title":"5.4 Image stitch - two rows top to bottom (2x2 repeat)","properties":{"Node name for S&R":"ImageStitch"},"widgets_values":["down",true,0,"white"],"widgets_values_named":{"direction":"down","match_image_size":true,"spacing_width":0,"spacing_color":"white"}},{"id":10,"type":"OffsetImage","pos":[3437.1,531.12],"size":[359.4390625,160],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"pixels","name":"pixels","type":"IMAGE","link":11},{"localized_name":"x_percent","name":"x_percent","type":"FLOAT","widget":{"name":"x_percent"},"link":null},{"localized_name":"y_percent","name":"y_percent","type":"FLOAT","widget":{"name":"y_percent"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[17]}],"title":"5.3 Offset image - move the edges to the centre","properties":{"Node name for S&R":"OffsetImage"},"widgets_values":[50,50],"widgets_values_named":{"x_percent":50,"y_percent":50}},{"id":15,"type":"SaveImage","pos":[4370,650.12],"size":[380,420],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":18},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","slot_index":0,"links":[]}],"title":"6.2 Save image - 2x2 repeat","properties":{"Node name for S&R":"SaveImage"},"widgets_values":["Sketch_A_Repeat_2x2"],"widgets_values_named":{"filename_prefix":"Sketch_A_Repeat_2x2"}},{"id":14,"type":"SaveImage","pos":[4370,1170.12],"size":[380,420],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":17},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","slot_index":0,"links":[]}],"title":"6.3 Save image - edge check (offset)","properties":{"Node name for S&R":"SaveImage"},"widgets_values":["Sketch_A_Offset"],"widgets_values_named":{"filename_prefix":"Sketch_A_Offset"}},{"id":8,"type":"KSampler","pos":[2490,172.25],"size":[340,266],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":5},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":6},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":7},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":8},{"localized_name":"seed","name":"seed","type":"INT","widget":{"name":"seed"},"link":null},{"localized_name":"steps","name":"steps","type":"INT","widget":{"name":"steps"},"link":null},{"localized_name":"cfg","name":"cfg","type":"FLOAT","widget":{"name":"cfg"},"link":null},{"localized_name":"sampler_name","name":"sampler_name","type":"COMBO","widget":{"name":"sampler_name"},"link":null},{"localized_name":"scheduler","name":"scheduler","type":"COMBO","widget":{"name":"scheduler"},"link":null},{"localized_name":"denoise","name":"denoise","type":"FLOAT","widget":{"name":"denoise"},"link":null}],"outputs":[{"localized_name":"LATENT","name":"LATENT","type":"LATENT","slot_index":0,"links":[9]}],"title":"4.2 KSampler - generate the pattern tile","properties":{"Node name for S&R":"KSampler"},"widgets_values":[96834,"fixed",5,1.5,"dpmpp_sde","karras",1],"widgets_values_named":{"seed":96834,"control_after_generate":"fixed","steps":8,"cfg":1,"sampler_name":"dpmpp_2m_sde","scheduler":"karras","denoise":1}},{"id":45,"type":"MarkdownNote","pos":[-187.0039338830286,38.2270439908915],"size":[640,420],"flags":{"collapsed":false},"order":2,"mode":0,"inputs":[],"outputs":[],"title":"README","properties":{},"widgets_values":["## What this workflow does\nCreate a repeating textile print and inspect its joins.\n\n## How to use it\nEdit the print brief, generate a tile and inspect the repeated and offset-edge checks before using the pattern.\n\n## Inspect and save\nFollow the existing saved-output nodes. Change one creative variable at a time so you can understand what changed. Generated views and 3D surfaces are proposals, not proof of real construction."],"widgets_values_named":{"text":"## What this workflow does\nCreate a repeating textile print and inspect its joins.\n\n## How to use it\nEdit the print brief, generate a tile and inspect the repeated and offset-edge checks before using the pattern.\n\n## Inspect and save\nFollow the existing saved-output nodes. Change one creative variable at a time so you can understand what changed. Generated views and 3D surfaces are proposals, not proof of real construction."},"color":"#343a3a","bgcolor":"#202626"},{"id":44,"type":"MarkdownNote","pos":[-187.0039338830286,518.2270439908915],"size":[640,640],"flags":{"collapsed":false},"order":3,"mode":0,"inputs":[],"outputs":[],"title":"Model Information","properties":{},"widgets_values":["# Models you need\n\nThis workflow needs 1 model file. Download each one, then move it from your **Downloads** folder into the folder shown.\n\n## Step 1 - Find your ComfyUI `models` folder\n\nEvery file below goes into a sub-folder of `ComfyUI/models/`. Where that folder is depends on how you installed ComfyUI:\n\n- **ComfyUI Desktop app:** click the menu (top-left) > **Desktop Settings** > **Storage**. Under **Shared Models**, click the folder icon next to the directory marked **Primary**. That opens your `models` folder.\n- **Windows portable (zip) version:** `ComfyUI_windows_portable/ComfyUI/models/`\n- **Manual / git install:** the `models` folder inside the `ComfyUI` folder you cloned.\n\nInside `models` you will find sub-folders such as `unet`, `vae`, `checkpoints` and `loras`. If a sub-folder named below does not exist, create it (the name must match exactly).\n\n## Step 2 - Download each file and move it into place\n\n**1. RealVisXL V4.0 Lightning - the image model (SDXL checkpoint)**\n- Download: [RealVisXL_V4.0_Lightning.safetensors](https://huggingface.co/SG161222/RealVisXL_V4.0_Lightning)\n- Move it to: `ComfyUI/models/checkpoints/`\n- Tip: On the model page open **Files and versions** and download only this file.\n- Licence: CreativeML Open RAIL++-M.\n\nWhen you are done, your folders should look like this:\n\n```text\nComfyUI/\n└── models/\n    └── checkpoints/\n        └── RealVisXL_V4.0_Lightning.safetensors\n```\n\n## Step 3 - Let ComfyUI find the files\n\n1. Restart ComfyUI, or click on the empty canvas and press **R** to refresh the model lists.\n2. Check each loader node in the workflow: the file name shown must match the file you downloaded. If a loader shows a red outline or \"value not in list\", click the file name and pick the file from the list.\n3. If a node itself is red or missing, open the **Manager** and click **Install Missing Custom Nodes**, then restart ComfyUI.\n\n**Licences:** each model has its own licence - read it on the model page before you download. Several models here are for non-commercial use only. Model files are not included with these workflows.\n\n## ComfyUI references\n- [ComfyUI update guide](https://docs.comfy.org/installation/update_comfyui)\n- [ComfyUI runtime issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- [ComfyUI frontend issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- [Workflow template issues](https://github.com/Comfy-Org/workflow_templates/issues)"],"widgets_values_named":{"text":"# Models you need\n\nThis workflow needs 1 model file. Download each one, then move it from your **Downloads** folder into the folder shown.\n\n## Step 1 - Find your ComfyUI `models` folder\n\nEvery file below goes into a sub-folder of `ComfyUI/models/`. Where that folder is depends on how you installed ComfyUI:\n\n- **ComfyUI Desktop app:** click the menu (top-left) > **Desktop Settings** > **Storage**. Under **Shared Models**, click the folder icon next to the directory marked **Primary**. That opens your `models` folder.\n- **Windows portable (zip) version:** `ComfyUI_windows_portable/ComfyUI/models/`\n- **Manual / git install:** the `models` folder inside the `ComfyUI` folder you cloned.\n\nInside `models` you will find sub-folders such as `unet`, `vae`, `checkpoints` and `loras`. If a sub-folder named below does not exist, create it (the name must match exactly).\n\n## Step 2 - Download each file and move it into place\n\n**1. RealVisXL V4.0 Lightning - the image model (SDXL checkpoint)**\n- Download: [RealVisXL_V4.0_Lightning.safetensors](https://huggingface.co/SG161222/RealVisXL_V4.0_Lightning)\n- Move it to: `ComfyUI/models/checkpoints/`\n- Tip: On the model page open **Files and versions** and download only this file.\n- Licence: CreativeML Open RAIL++-M.\n\nWhen you are done, your folders should look like this:\n\n```text\nComfyUI/\n└── models/\n    └── checkpoints/\n        └── RealVisXL_V4.0_Lightning.safetensors\n```\n\n## Step 3 - Let ComfyUI find the files\n\n1. Restart ComfyUI, or click on the empty canvas and press **R** to refresh the model lists.\n2. Check each loader node in the workflow: the file name shown must match the file you downloaded. If a loader shows a red outline or \"value not in list\", click the file name and pick the file from the list.\n3. If a node itself is red or missing, open the **Manager** and click **Install Missing Custom Nodes**, then restart ComfyUI.\n\n**Licences:** each model has its own licence - read it on the model page before you download. Several models here are for non-commercial use only. Model files are not included with these workflows.\n\n## ComfyUI references\n- [ComfyUI update guide](https://docs.comfy.org/installation/update_comfyui)\n- [ComfyUI runtime issues](https://github.com/comfyanonymous/ComfyUI/issues)\n- [ComfyUI frontend issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- [Workflow template issues](https://github.com/Comfy-Org/workflow_templates/issues)"},"color":"#373044","bgcolor":"#241f30"}],"links":[[1,2,0,3,0,"MODEL"],[2,2,2,4,0,"VAE"],[3,2,1,5,0,"CLIP"],[4,2,1,6,0,"CLIP"],[5,3,0,8,0,"MODEL"],[6,5,0,8,1,"CONDITIONING"],[7,6,0,8,2,"CONDITIONING"],[8,7,0,8,3,"LATENT"],[9,8,0,9,0,"LATENT"],[10,4,0,9,1,"VAE"],[11,9,0,10,0,"IMAGE"],[12,9,0,11,0,"IMAGE"],[13,9,0,11,1,"IMAGE"],[14,11,0,12,0,"IMAGE"],[15,11,0,12,1,"IMAGE"],[16,9,0,13,0,"IMAGE"],[17,10,0,14,0,"IMAGE"],[18,12,0,15,0,"IMAGE"]],"groups":[{"id":1,"title":"1. Load the AI Tools","bounding":[474.76902212608013,0,422.5754879050546,277.6138930439597],"color":"#3f789e","flags":{}},{"id":2,"title":"2. Make the Pattern Repeat Seamlessly","bounding":[920,0,420,550],"color":"#3f789e","flags":{}},{"id":3,"title":"3. Describe What You Want","bounding":[1430,0,500,926],"color":"#3f789e","flags":{}},{"id":4,"title":"4. Create the Image","bounding":[2020,0,850,798],"color":"#3f789e","flags":{}},{"id":5,"title":"5. Reveal and Check the Pattern","bounding":[2960,0,1315.8126049199382,731.125],"color":"#3f789e","flags":{}},{"id":6,"title":"6. View and Save","bounding":[4330,0,460,1630.125],"color":"#3f789e","flags":{}}],"config":{},"extra":{"ds":{"scale":1.331000000000001,"offset":[-1913.4043581048081,95.51824938072532]},"links_render_mode":2,"fashion_library":{"task":"Build a repeat tile and inspect its joins before using it as fabric artwork.","variant":null,"status":"quality validation pending","sources":["https://github.com/spinagon/ComfyUI-seamless-tiling","https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0"]}},"version":0.4}