Since frontend 1.16 the loader rebuilds a node's inputs from the node definition - which now inserts `seed` - and then repairs every link target by slot name. The prompt extension renamed `trigger_words` and appended a slot during that same configure pass, so `filtered_trigger_words` could no longer be matched by name and kept its saved target slot, which by then addressed the `text` widget input (the textarea disappeared and the link was drawn into it). Dynamic slots also drifted out of order and numbering. Skip every slot mutation while the graph configures, keep `localized_name` in sync when renumbering (the label prefers it over `name`), and normalize legacy layouts once the graph has loaded: connected slots first, exactly one trailing empty slot, numbered 1..n. Nodes already in the canonical layout are left untouched, so loading does not mark workflows dirty. The backend now accepts the bare `trigger_words` name used by workflows saved before the current definition. The Lora_Randomizer and Lora_Cycler templates are migrated to the canonical layout.
1 line
14 KiB
JSON
1 line
14 KiB
JSON
{"id":"151410b3-7845-4561-aac4-8968574e9ba2","revision":0,"last_node_id":84,"last_link_id":152,"nodes":[{"id":8,"type":"VAEDecode","pos":[1417.608991210938,13.259781249999916],"size":[210,46],"flags":{"collapsed":false},"order":14,"mode":0,"inputs":[{"localized_name":"samples","name":"samples","type":"LATENT","link":7},{"localized_name":"vae","name":"vae","type":"VAE","link":143}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","slot_index":0,"links":[140]}],"properties":{"Node name for S&R":"VAEDecode","cnr_id":"comfy-core","ver":"0.3.18"},"widgets_values":[]},{"id":68,"type":"Reroute","pos":[998.4027324863023,692.2310592692698],"size":[75,26],"flags":{},"order":8,"mode":0,"inputs":[{"name":"","type":"*","link":142}],"outputs":[{"name":"","type":"VAE","links":[143]}],"properties":{"showOutputText":false,"horizontal":false}},{"id":67,"type":"Reroute","pos":[-86.5906935091898,690.9580502534923],"size":[75,26],"flags":{},"order":6,"mode":0,"inputs":[{"name":"","type":"*","link":152}],"outputs":[{"name":"","type":"VAE","links":[142]}],"properties":{"showOutputText":false,"horizontal":false}},{"id":14,"type":"PreviewImage","pos":[1713.5381320312501,-264.6858476562499],"size":[537.9034423828125,705.2806396484375],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":140}],"outputs":[],"properties":{"Node name for S&R":"PreviewImage","cnr_id":"comfy-core","ver":"0.3.18"},"widgets_values":[]},{"id":64,"type":"Prompt (LoraManager)","pos":[480.4259475454679,-147.75189975683824],"size":[400,200],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":134},{"localized_name":"seed","name":"seed","shape":7,"type":"INT","link":null},{"localized_name":"trigger_words1","name":"trigger_words1","shape":7,"type":"STRING","link":135},{"localized_name":"text","name":"text","type":"AUTOCOMPLETE_TEXT_PROMPT,STRING","widget":{"name":"text"},"link":null},{"name":"trigger_words2","type":"STRING","link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[136]},{"localized_name":"PROMPT","name":"PROMPT","type":"STRING","links":null}],"properties":{"Node name for S&R":"Prompt (LoraManager)","cnr_id":"comfyui-lora-manager","ver":"3c0bfcb22692daa7635370b86b9d4d541462016d","__lm_widget_ids":["__lm_autocomplete_meta_text","text"]},"widgets_values":[{"version":1,"textWidgetName":"text"},"adult,\n1woman, volumetric lighting, ambient occlusion, luminescent background, masterpiece, best quality, absurdres,masterpiece, best quality, very awa, absurdres,,mage,dynamic pose,dynamic angle,upper body focus, floating hair,impressionism, excellent depth of field, partly realistic texture, dramatic lighting, sharp focus, newest, absurdres, highres, very aesthetic, masterpiece, eye-catching, beautiful body, detailed skin features, beautiful eye details, bright colors, vivid colors, extreme contrast, foreshortening, high resolution, best quality, ultra high definition, extremely high detail, wide angle, cinematic field of view, perfect composition,\nBREAK\nelf,blonde hair,long hair,braid,pointy ears, green eyes, choker,capelet, dress,belt,pouch,staff,holding staff,\n<lora:ppw_v7_animv4_1_r2:0.6> <lora:748cm_illu:0.6> 7481llu <lora:69yottea_illu_v2:0.4> <lora:illustrious_all_rated_v1:0.6> masterpiece, best quality, very aesthetic, absurdres..."],"color":"#232","bgcolor":"#353"},{"id":66,"type":"Prompt (LoraManager)","pos":[480.4259475454679,99.8049184249798],"size":[400,200],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":137},{"localized_name":"seed","name":"seed","shape":7,"type":"INT","link":null},{"localized_name":"trigger_words1","name":"trigger_words1","shape":7,"type":"STRING","link":null},{"localized_name":"text","name":"text","type":"AUTOCOMPLETE_TEXT_PROMPT,STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[138]},{"localized_name":"PROMPT","name":"PROMPT","type":"STRING","links":null}],"properties":{"Node name for S&R":"Prompt (LoraManager)","cnr_id":"comfyui-lora-manager","ver":"3c0bfcb22692daa7635370b86b9d4d541462016d","__lm_widget_ids":["__lm_autocomplete_meta_text","text"]},"widgets_values":[{"version":1,"textWidgetName":"text"},"embedding:lazyneg, lowres,bad anatomy,blurry,(worst quality:1.8),low quality,hands bad,(normal quality:1.3),bad hands,mutated hands and fingers,extra legs,extra arms,duplicate,cropped,jpeg,artifacts,long body,multiple breasts,mutated,disfigured,bad proportions,bad feet,ugly,text font ui,missing limb,monochrome,face bad, crown, tiara, jewelry, earring,pubes,pubic hair, censored,black bars, four legs,ugly hands,big earring,hoop earring,sleeves,collar,glasses, extra fingers,sunglasses, (hat:1.3),multiple hands..."],"color":"#322","bgcolor":"#533"},{"id":3,"type":"KSampler","pos":[1066.9926186604139,-4.25493111593072],"size":[315,262],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":145},{"localized_name":"positive","name":"positive","type":"CONDITIONING","link":136},{"localized_name":"negative","name":"negative","type":"CONDITIONING","link":138},{"localized_name":"latent_image","name":"latent_image","type":"LATENT","link":2},{"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":[7]}],"properties":{"Node name for S&R":"KSampler","cnr_id":"comfy-core","ver":"0.3.18"},"widgets_values":[42,"fixed",30,7,"euler_ancestral","karras",1]},{"id":69,"type":"Reroute","pos":[835.2971423620593,-329.0323103037686],"size":[75,26],"flags":{},"order":9,"mode":0,"inputs":[{"name":"","type":"*","link":144}],"outputs":[{"name":"","type":"MODEL","links":[145]}],"properties":{"showOutputText":false,"horizontal":false}},{"id":5,"type":"EmptyLatentImage","pos":[530.6200616135536,486.04497468484044],"size":[315,106],"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","slot_index":0,"links":[2]}],"properties":{"Node name for S&R":"EmptyLatentImage","cnr_id":"comfy-core","ver":"0.3.18"},"widgets_values":[1024,1024,1]},{"id":74,"type":"Lora Pool (LoraManager)","pos":[-1685.4451716213698,-389.1334099183523],"size":[664,558],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"pool_config","name":"pool_config","type":"LORA_POOL_CONFIG","widget":{"name":"pool_config"},"link":null}],"outputs":[{"localized_name":"POOL_CONFIG","name":"POOL_CONFIG","type":"POOL_CONFIG","links":[147]}],"properties":{"Node name for S&R":"Lora Pool (LoraManager)","cnr_id":"comfyui-lora-manager","ver":"688baef2f0d877c7198a127e335bc36e927dd424"},"widgets_values":[{"version":2,"filters":{"baseModels":["Illustrious"],"tags":{"include":[],"exclude":[]},"folders":{"include":[],"exclude":[]},"license":{"noCreditRequired":true,"allowSelling":false},"namePatterns":{"include":[],"exclude":[],"useRegex":false}},"preview":{"matchCount":162,"lastUpdated":1775013887779}}]},{"id":55,"type":"TriggerWord Toggle (LoraManager)","pos":[-117.10650479770214,138.53850016031464],"size":[415.05371900826435,284],"flags":{"collapsed":false},"order":11,"mode":0,"inputs":[{"localized_name":"group_mode","name":"group_mode","type":"BOOLEAN","widget":{"name":"group_mode"},"link":null},{"localized_name":"default_active","name":"default_active","type":"BOOLEAN","widget":{"name":"default_active"},"link":null},{"localized_name":"allow_strength_adjustment","name":"allow_strength_adjustment","type":"BOOLEAN","widget":{"name":"allow_strength_adjustment"},"link":null},{"name":"trigger_words","shape":7,"type":"string","link":123}],"outputs":[{"localized_name":"filtered_trigger_words","name":"filtered_trigger_words","type":"STRING","links":[135]}],"properties":{"Node name for S&R":"TriggerWord Toggle (LoraManager)","cnr_id":"comfyui-lora-manager","ver":"ad56cafd62e42e67f282a967627f26b8fa6ce00a"},"widgets_values":[true,[{"text":"createconcept","active":true},{"text":"DS-Illu","active":true}],false,[],""],"color":"#323","bgcolor":"#535"},{"id":56,"type":"Lora Loader (LoraManager)","pos":[-117.10650479770214,-332.0917106187047],"size":[420.8453125,352],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":150},{"localized_name":"text","name":"text","type":"AUTOCOMPLETE_TEXT_LORAS","widget":{"name":"text"},"link":null},{"name":"clip","shape":7,"type":"CLIP","link":151},{"name":"lora_stack","shape":7,"type":"LORA_STACK","link":148}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[144]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":[134,137]},{"localized_name":"trigger_words","name":"trigger_words","type":"STRING","links":[123]},{"localized_name":"loaded_loras","name":"loaded_loras","type":"STRING","links":[]}],"properties":{"Node name for S&R":"Lora Loader (LoraManager)","cnr_id":"comfyui-lora-manager","ver":"ad56cafd62e42e67f282a967627f26b8fa6ce00a","__lm_widget_ids":["__lm_autocomplete_meta_text","text","loras"]},"widgets_values":[{"version":1,"textWidgetName":"text"},"",[]]},{"id":81,"type":"MarkdownNote","pos":[-933.7250261105644,467.7969241398853],"size":[672.2314049586773,111.23966942148752],"flags":{},"order":2,"mode":0,"inputs":[],"outputs":[],"title":"LoRA Randomizer Node Usage","properties":{},"widgets_values":["- Based on your randomization settings, the Lora Randomizer node selects a subset of LoRAs from the pool defined by `pool_config`. \n- This selected set is then used for the **next render**. \n- If **Always Randomize** is enabled, a new selection will be generated automatically after each execution.\n- Use **Reuse Last** to restore the previous LoRAs, and switch automatically to Fixed mode for repeated generation."],"color":"#432","bgcolor":"#653"},{"id":82,"type":"MarkdownNote","pos":[-1680.0182119523981,278.93506443557567],"size":[672.2314049586773,111.23966942148752],"flags":{},"order":3,"mode":0,"inputs":[],"outputs":[],"title":"LoRA Pool Node Usage","properties":{},"widgets_values":["- Define filtering conditions and outputs a __pool configuration__ for random selection"],"color":"#432","bgcolor":"#653"},{"id":76,"type":"Lora Randomizer (LoraManager)","pos":[-950.0431669810579,-389.55756288231436],"size":[664,791.3000000000001],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"pool_config","name":"pool_config","shape":7,"type":"POOL_CONFIG","link":147},{"localized_name":"randomizer_config","name":"randomizer_config","type":"RANDOMIZER_CONFIG","widget":{"name":"randomizer_config"},"link":null},{"localized_name":"loras","name":"loras","type":"LORAS","widget":{"name":"loras"},"link":null}],"outputs":[{"localized_name":"LORA_STACK","name":"LORA_STACK","type":"LORA_STACK","links":[148]}],"properties":{"Node name for S&R":"Lora Randomizer (LoraManager)","cnr_id":"comfyui-lora-manager","ver":"688baef2f0d877c7198a127e335bc36e927dd424"},"widgets_values":[{"count_mode":"range","count_fixed":3,"count_min":2,"count_max":3,"model_strength_min":-0.5,"model_strength_max":0.8000000000000007,"use_same_clip_strength":true,"clip_strength_min":0,"clip_strength_max":1,"roll_mode":"always","last_used":[{"name":"Vector_Paintings-illus","strength":0.65,"clipStrength":0.65,"active":true,"expanded":false,"locked":false},{"name":"Avis_Units_Scarlet_Ace_-_Monster_Hunter_Wilds_Game_OC","strength":-0.43,"clipStrength":-0.43,"active":true,"expanded":false,"locked":false},{"name":"Niji_oil_animme","strength":0.72,"clipStrength":0.72,"active":true,"expanded":false,"locked":false}],"use_recommended_strength":true,"recommended_strength_scale_min":0.5,"recommended_strength_scale_max":1,"execution_seed":null,"next_seed":null},[]]},{"id":84,"type":"Checkpoint Loader (LoraManager)","pos":[-1503.8243872608577,655.3163530271735],"size":[327.960546875,98],"flags":{},"order":4,"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","links":[150]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":[151]},{"localized_name":"VAE","name":"VAE","type":"VAE","links":[152]}],"properties":{"Node name for S&R":"Checkpoint Loader (LoraManager)"},"widgets_values":["Illustrious/anime/aMixIllustrious_aMix.safetensors"]}],"links":[[2,5,0,3,3,"LATENT"],[7,3,0,8,0,"LATENT"],[123,56,2,55,3,"string"],[134,56,1,64,0,"CLIP"],[135,55,0,64,2,"STRING"],[136,64,0,3,1,"CONDITIONING"],[137,56,1,66,0,"CLIP"],[138,66,0,3,2,"CONDITIONING"],[140,8,0,14,0,"IMAGE"],[142,67,0,68,0,"*"],[143,68,0,8,1,"VAE"],[144,56,0,69,0,"*"],[145,69,0,3,0,"MODEL"],[147,74,0,76,0,"POOL_CONFIG"],[148,76,0,56,3,"LORA_STACK"],[150,84,0,56,0,"MODEL"],[151,84,1,56,2,"CLIP"],[152,84,2,67,0,"VAE"]],"groups":[{"id":1,"title":"Lora Randomizer","bounding":[-1695.4451716213698,-462.7334099183523,1433.0999999999997,874.9000000000001],"color":"#8A8","font_size":24,"flags":{}}],"config":{},"extra":{"ds":{"scale":0.7419291777315971,"offset":[2547.929479166053,341.4144193414803]},"frontendVersion":"1.16.8","VHS_latentpreview":false,"VHS_latentpreviewrate":0,"VHS_MetadataImage":true,"VHS_KeepIntermediate":true},"version":0.4} |