diff --git a/.comfyignore b/.comfyignore new file mode 100644 index 0000000..1aa3bde --- /dev/null +++ b/.comfyignore @@ -0,0 +1,8 @@ +# Files kept in git but excluded from the published Comfy Registry archive +.claude/ +.serena/ +.github/ +.gitattributes +CLAUDE.md +README.md +LICENSE diff --git a/.gitignore b/.gitignore index 4da4891..0abaf46 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,11 @@ node.zip +# Claude Code / AI assistant local state +.claude/ +.serena/ +CLAUDE.md +CLAUDE.local.md + # macOS system files .DS_Store .AppleDouble diff --git a/presets.py b/presets.py index 1c42971..4ca0ed1 100644 --- a/presets.py +++ b/presets.py @@ -1,30 +1,87 @@ # presets.py +# Grouped oldest -> newest by model family, then by aspect ratio (square, landscape, portrait, +# widest-to-narrowest within each). Dims kept multiples of 8 for latent-space compatibility. PRESETS = [ # model, label, w, h - ("SD15", "1:1 Square", 512, 512), - ("SD15", "3:2 Landscape", 768, 512), - ("SD15", "4:3 Landscape", 768, 576), - ("SD15", "16:9 Landscape",912, 512), - ("SD15", "2:3 Portrait", 512, 768), - ("SD15", "3:4 Portrait", 576, 768), - ("SD15", "9:16 Portrait", 512, 912), - ("SDXL", "1:1 Square", 1024,1024), - ("SDXL", "3:2 Landscape", 1152,768), - ("SDXL", "4:3 Landscape", 1152,864), - ("SDXL", "16:9 Landscape",1360,768), - ("SDXL", "2:3 Portrait", 768,1152), - ("SDXL", "3:4 Portrait", 864,1152), - ("SDXL", "9:16 Portrait", 768,1360), - ("Flux/HiD","3:2 Landscape", 1216,832), - ("Flux/HiD","4:3 Landscape", 1664,1216), - ("Flux/HiD","16:9 Landscape",1920,1088), - ("Flux/HiD","21:9 Landscape",2176,960), - ("Flux/HiD","1:1 Square", 1408,1408), - ("Flux/HiD","2:3 Portrait", 832,1216), - ("Flux/HiD","3:4 Portrait", 1216,1664), - ("Flux/HiD","9:16 Portrait", 1088,1920), - ("Flux/HiD","9:21 Portrait", 960,2176), - ("HiDream", "1:1 Square", 1280,1280), - ("HiDream", "1:1 Square", 1536,1536), -] \ No newline at end of file + + # --- Stable Diffusion 1.5 (native 512, legacy) --- + ("SD15", "1:1 Square", 512, 512), + ("SD15", "3:2 Landscape", 768, 512), + ("SD15", "4:3 Landscape", 768, 576), + ("SD15", "16:9 Landscape", 912, 512), + ("SD15", "2:3 Portrait", 512, 768), + ("SD15", "3:4 Portrait", 576, 768), + ("SD15", "9:16 Portrait", 512, 912), + + # --- Stable Diffusion XL (native 1024, ~1MP) --- + ("SDXL", "1:1 Square", 1024, 1024), + ("SDXL", "3:2 Landscape", 1152, 768), + ("SDXL", "4:3 Landscape", 1152, 864), + ("SDXL", "16:9 Landscape", 1360, 768), + ("SDXL", "2:3 Portrait", 768, 1152), + ("SDXL", "3:4 Portrait", 864, 1152), + ("SDXL", "9:16 Portrait", 768, 1360), + + # --- HiDream (native ~1.6-2.4MP) --- + ("HiDream", "1:1 Square", 1280, 1280), + ("HiDream", "1:1 Square", 1536, 1536), + + # --- Flux.1 (dev/schnell/pro, native 1024, ~1MP) --- + ("Flux.1", "1:1 Square", 1408, 1408), + ("Flux.1", "3:2 Landscape", 1216, 832), + ("Flux.1", "4:3 Landscape", 1664, 1216), + ("Flux.1", "16:9 Landscape", 1920, 1088), + ("Flux.1", "21:9 Landscape", 2176, 960), + ("Flux.1", "2:3 Portrait", 832, 1216), + ("Flux.1", "3:4 Portrait", 1216, 1664), + ("Flux.1", "9:16 Portrait", 1088, 1920), + ("Flux.1", "9:21 Portrait", 960, 2176), + + # --- Flux.2 (dev/pro/flex, higher native ceiling, up to ~4MP) --- + ("Flux.2", "1:1 Square", 2048, 2048), + ("Flux.2", "3:2 Landscape", 1728, 1152), + ("Flux.2", "4:3 Landscape", 1664, 1248), + ("Flux.2", "16:9 Landscape", 1920, 1080), + ("Flux.2", "21:9 Landscape", 2176, 960), + ("Flux.2", "2:3 Portrait", 1152, 1728), + ("Flux.2", "3:4 Portrait", 1248, 1664), + ("Flux.2", "9:16 Portrait", 1080, 1920), + ("Flux.2", "9:21 Portrait", 960, 2176), + + # --- Flux Krea (dev, photoreal-tuned, shares Flux.1 native grid) --- + ("Krea", "1:1 Square", 1024, 1024), + ("Krea", "3:2 Landscape", 1216, 832), + ("Krea", "4:3 Landscape", 1152, 896), + ("Krea", "16:9 Landscape", 1344, 768), + ("Krea", "2:3 Portrait", 832, 1216), + ("Krea", "3:4 Portrait", 896, 1152), + ("Krea", "9:16 Portrait", 768, 1344), + + # --- Qwen-Image (native ~1.7MP, wide native AR set) --- + ("Qwen-Image", "1:1 Square", 1328, 1328), + ("Qwen-Image", "3:2 Landscape", 1584, 1056), + ("Qwen-Image", "4:3 Landscape", 1472, 1136), + ("Qwen-Image", "16:9 Landscape", 1664, 928), + ("Qwen-Image", "2:3 Portrait", 1056, 1584), + ("Qwen-Image", "3:4 Portrait", 1136, 1472), + ("Qwen-Image", "9:16 Portrait", 928, 1664), + + # --- Ideogram 4.0 (broad native AR support incl. panoramic) --- + ("Ideogram", "1:1 Square", 1024, 1024), + ("Ideogram", "3:2 Landscape", 1216, 832), + ("Ideogram", "4:3 Landscape", 1152, 896), + ("Ideogram", "16:9 Landscape", 1344, 768), + ("Ideogram", "3:1 Landscape", 1728, 576), + ("Ideogram", "2:3 Portrait", 832, 1216), + ("Ideogram", "3:4 Portrait", 896, 1152), + ("Ideogram", "9:16 Portrait", 768, 1344), + ("Ideogram", "1:3 Portrait", 576, 1728), + + # --- ERNIE (Baidu ERNIE-ViLG / iRAG, native 1024) --- + ("Ernie", "1:1 Square", 1024, 1024), + ("Ernie", "4:3 Landscape", 1152, 896), + ("Ernie", "16:9 Landscape", 1344, 768), + ("Ernie", "3:4 Portrait", 896, 1152), + ("Ernie", "9:16 Portrait", 768, 1344), +] diff --git a/pyproject.toml b/pyproject.toml index 27e1422..4bd3e4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "aspect-ratio-presets" description = "Custom ComfyUI nodes for generating empty latent image with preset and axis-based aspect ratios." -version = "1.0.5" +version = "1.0.6" license = {file = "LICENSE"} dependencies = ["numpy"] @@ -11,6 +11,6 @@ Repository = "https://github.com/budihartono/comfyui-aspect-ratio-presets" [tool.comfy] PublisherId = "budihartono" -DisplayName = "comfyui-aspect-ratio-presets" +DisplayName = "ComfyUI Aspect Ratio Presets" Icon = "https://i.imgur.com/iRAYcKW.png" includes = []