diff --git a/README.md b/README.md index ec503ca..4d4d2c0 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,27 @@ ## Implemented tiling modes - [x] Hexagon +- [x] Rectangular (toroidal — right edge wraps to left, bottom wraps to top) - [x] None (normal generation) ## Supported models +### UNet-based + - [x] Stable Diffusion 1.5 (also 1.4) - [x] Stable Diffusion 2.1 (also 2.0) - [x] Stable Diffusion XL (SDXL) +### DiT-based (via toroidal attention patching) + +- [x] FLUX.2 — tested on flux.2-klein-4b +- [x] Qwen Image — tested on qwen-image-2512 (Q6 GGUF and fp16) + +DiT models are automatically detected and use toroidal attention instead of latent padding for seamless tiling. + ## TODO -- More tiling modes - Optimize VAE decode (first pass is very slow) -- Support DiT based models (SD3, PixArt-Σ, FLUX.1) ## Credits diff --git a/workflows/advanced_tiling_flux2_klen_4b.json b/workflows/advanced_tiling_flux2_klen_4b.json new file mode 100644 index 0000000..4d1b13b --- /dev/null +++ b/workflows/advanced_tiling_flux2_klen_4b.json @@ -0,0 +1 @@ +{"id":"b2f5daff-0b4b-4542-af4d-1d71f8e587d5","revision":0,"last_node_id":34,"last_link_id":56,"nodes":[{"id":12,"type":"PreviewImage","pos":[1766.3881780190122,235.77378123511033],"size":[210,260],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":38}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":19,"type":"AdvancedTilingVAEDecode","pos":[1580,-80],"size":[310,100],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"settings","name":"settings","type":"ADVANCED_TILING_SETTINGS","link":31},{"localized_name":"samples","name":"samples","type":"LATENT","link":37},{"localized_name":"vae","name":"vae","type":"VAE","link":55},{"localized_name":"crop","name":"crop","type":"BOOLEAN","widget":{"name":"crop"},"link":null}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[38,49,50]}],"properties":{"cnr_id":"comfyui-advanced-tiling","ver":"4c673c71a37bb5ac7fc8f6f4a090fb14534840c4","Node name for S&R":"AdvancedTilingVAEDecode","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[false]},{"id":9,"type":"CLIPTextEncode","pos":[920,170],"size":[290,90],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":53},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[10]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"CLIPTextEncode","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[""]},{"id":29,"type":"PreviewImage","pos":[1675.3337806987129,78.19376250180612],"size":[210,260],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":50}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"PreviewImage","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":33,"type":"EmptyFlux2LatentImage","pos":[920,310],"size":[290,110],"flags":{},"order":0,"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","links":[54]}],"properties":{"cnr_id":"comfy-core","ver":"0.8.2","Node name for S&R":"EmptyFlux2LatentImage","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}},"enableTabs":false,"tabWidth":65,"tabXOffset":10,"hasSecondTab":false,"secondTabText":"Send Back","secondTabOffset":80,"secondTabWidth":65},"widgets_values":[1024,1024,1]},{"id":31,"type":"CLIPLoader","pos":[610,-80],"size":[270,106],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"clip_name","name":"clip_name","type":"COMBO","widget":{"name":"clip_name"},"link":null},{"localized_name":"type","name":"type","type":"COMBO","widget":{"name":"type"},"link":null},{"localized_name":"device","name":"device","shape":7,"type":"COMBO","widget":{"name":"device"},"link":null}],"outputs":[{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":[52,53]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"CLIPLoader","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["qwen_3_4b.safetensors","flux2","default"]},{"id":34,"type":"VAELoader","pos":[610,70],"size":[270,58],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"vae_name","name":"vae_name","type":"COMBO","widget":{"name":"vae_name"},"link":null}],"outputs":[{"localized_name":"VAE","name":"VAE","type":"VAE","links":[55]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"VAELoader","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["flux2-vae.safetensors"]},{"id":20,"type":"AdvancedTiling","pos":[920,-210],"size":[290,80],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"settings","name":"settings","type":"ADVANCED_TILING_SETTINGS","link":30},{"localized_name":"model","name":"model","type":"MODEL","link":56}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","slot_index":0,"links":[35]}],"properties":{"cnr_id":"comfyui-advanced-tiling","ver":"4c673c71a37bb5ac7fc8f6f4a090fb14534840c4","Node name for S&R":"AdvancedTiling","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[]},{"id":3,"type":"KSampler","pos":[1240,-80],"size":[310,500],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":35},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":4},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":10},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":54},{"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":[37]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"KSampler","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":[42,"fixed",20,5,"euler","simple",1]},{"id":27,"type":"SaveImage","pos":[1584.4365412255934,208.8084451598489],"size":[210,290],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":49},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null}],"outputs":[],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["tiling"]},{"id":32,"type":"UNETLoader","pos":[610,-210],"size":[270,82],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"unet_name","name":"unet_name","type":"COMBO","widget":{"name":"unet_name"},"link":null},{"localized_name":"weight_dtype","name":"weight_dtype","type":"COMBO","widget":{"name":"weight_dtype"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[56]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"UNETLoader","ue_properties":{"widget_ue_connectable":{},"input_ue_unconnectable":{},"version":"7.8"}},"widgets_values":["flux-2-klein-4b-fp8.safetensors","default"]},{"id":17,"type":"AdvancedTilingSettings","pos":[610,-350],"size":[270,90],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"mode","name":"mode","type":"COMBO","widget":{"name":"mode"},"link":null},{"localized_name":"rotation","name":"rotation","type":"FLOAT","widget":{"name":"rotation"},"link":null}],"outputs":[{"localized_name":"SETTINGS","name":"SETTINGS","type":"ADVANCED_TILING_SETTINGS","slot_index":0,"links":[30,31]}],"properties":{"cnr_id":"comfyui-advanced-tiling","ver":"4c673c71a37bb5ac7fc8f6f4a090fb14534840c4","Node name for S&R":"AdvancedTilingSettings","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":["Hexagon",0]},{"id":5,"type":"CLIPTextEncode","pos":[920,-80],"size":[290,200],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":52},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","slot_index":0,"links":[4]}],"properties":{"cnr_id":"comfy-core","ver":"0.19.1","Node name for S&R":"CLIPTextEncode","ue_properties":{"widget_ue_connectable":{},"version":"7.8","input_ue_unconnectable":{}}},"widgets_values":["Detailed digital painting style with soft warm lighting and gentle shadows. Warm color temperature. Light green flat surface densely covered with grass and trees. View from the top at 60 degrees."]}],"links":[[4,5,0,3,1,"CONDITIONING"],[10,9,0,3,2,"CONDITIONING"],[30,17,0,20,0,"ADVANCED_TILING_SETTINGS"],[31,17,0,19,0,"ADVANCED_TILING_SETTINGS"],[35,20,0,3,0,"MODEL"],[37,3,0,19,1,"LATENT"],[38,19,0,12,0,"IMAGE"],[49,19,0,27,0,"IMAGE"],[50,19,0,29,0,"IMAGE"],[52,31,0,5,0,"CLIP"],[53,31,0,9,0,"CLIP"],[54,33,0,3,3,"LATENT"],[55,34,0,19,2,"VAE"],[56,32,0,20,1,"MODEL"]],"groups":[],"config":{},"extra":{"ds":{"scale":1.01525597994771,"offset":[-680.5996879371885,171.05430240619455]},"ue_links":[],"links_added_by_ue":[]},"version":0.4} \ No newline at end of file