{"id": "e1a4c7d3-3b6e-4f80-ad9c-gmanski-flux2chars", "revision": 0, "last_node_id": 35, "last_link_id": 42, "nodes": [{"id": 1, "type": "MarkdownNote", "pos": [-1520, -460], "size": [620, 820], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "properties": {"Node name for S&R": "MarkdownNote"}, "widgets_values": ["## Flux 2 Multiple Characters\n\nFour reference photos in, one composed group portrait out, running **FLUX.2 [dev] locally**.\n\n### This no longer needs a paid login\nThe previous version of this template used the `Flux2ProImageNode` API node, which failed with *\"Unauthorized: Please login first to use this node\"* unless you were signed in to a comfy.org account with credits, and billed per image. This rebuild does the same job on local weights: no account, no per-image cost, and it runs offline once the models are on disk.\n\n### Run it\n1. Load a photo into each of the four **Character** nodes. One clear, well-lit face per image works best.\n2. Edit the prompt to describe the scene you want them composed into. Refer to them as a group; FLUX.2 pulls identity from the references.\n3. Queue. Output lands in `output/Gmanski/flux2_characters_00001.png`.\n\n### Fewer than four characters\nMute (Ctrl+M) any Character node you don't need **and** its matching Scale/Encode/Reference pair. The chain is linear, so muting the whole run of a reference is safe; muting only the LoadImage is not.\n\n### How it works\nEach reference is scaled to ~1 MP, VAE-encoded, and chained through `ReferenceLatent` onto both the positive and negative conditioning — the pattern ComfyUI's own Flux.2 edit template uses, and the reason multiple references compose instead of overwriting each other. Sampling is `Flux2Scheduler` → `CFGGuider` (CFG 5) → `SamplerCustomAdvanced` at 20 steps.\n\n### Cost\n- **Download**: ~54 GB (`flux2` pack) — the dev checkpoint, the Mistral-3 text encoder and the Flux.2 VAE.\n- **VRAM**: 40 GB+ recommended. The fp8-mixed checkpoint is 35 GB on its own, and four references add real sequence length on top.\n\n### Safety\nThis produces a local file only. Review it before sharing it anywhere.\n\n### Models\n`gmanski-packs install flux2`.\n"], "title": "Read me: Flux 2 Multiple Characters", "color": "#432", "bgcolor": "#653"}, {"id": 2, "type": "UNETLoader", "pos": [-840, -460], "size": [430, 90], "flags": {}, "order": 1, "mode": 0, "inputs": [{"name": "unet_name", "type": "COMBO", "link": null, "widget": {"name": "unet_name"}}, {"name": "weight_dtype", "type": "COMBO", "link": null, "widget": {"name": "weight_dtype"}}], "outputs": [{"name": "MODEL", "type": "MODEL", "links": [32]}], "properties": {"Node name for S&R": "UNETLoader", "models": [{"name": "flux2_dev_fp8mixed.safetensors", "url": "https://huggingface.co/Comfy-Org/flux2-dev/resolve/main/split_files/diffusion_models/flux2_dev_fp8mixed.safetensors", "directory": "diffusion_models"}]}, "widgets_values": ["flux2_dev_fp8mixed.safetensors", "default"], "title": "FLUX.2 [dev] checkpoint (local — no API node)"}, {"id": 3, "type": "CLIPLoader", "pos": [-840, -330], "size": [430, 110], "flags": {}, "order": 2, "mode": 0, "inputs": [{"name": "clip_name", "type": "COMBO", "link": null, "widget": {"name": "clip_name"}}, {"name": "type", "type": "COMBO", "link": null, "widget": {"name": "type"}}, {"name": "device", "type": "COMBO", "link": null, "widget": {"name": "device"}}], "outputs": [{"name": "CLIP", "type": "CLIP", "links": [1, 3]}], "properties": {"Node name for S&R": "CLIPLoader", "models": [{"name": "mistral_3_small_flux2_fp8.safetensors", "url": "https://huggingface.co/Comfy-Org/flux2-dev/resolve/main/split_files/text_encoders/mistral_3_small_flux2_fp8.safetensors", "directory": "text_encoders"}]}, "widgets_values": ["mistral_3_small_flux2_fp8.safetensors", "flux2", "default"], "title": "Mistral-3 text encoder (type: flux2)"}, {"id": 4, "type": "VAELoader", "pos": [-840, -180], "size": [430, 60], "flags": {}, "order": 3, "mode": 0, "inputs": [{"name": "vae_name", "type": "COMBO", "link": null, "widget": {"name": "vae_name"}}], "outputs": [{"name": "VAE", "type": "VAE", "links": [6, 13, 20, 27, 41]}], "properties": {"Node name for S&R": "VAELoader", "models": [{"name": "flux2-vae.safetensors", "url": "https://huggingface.co/Comfy-Org/flux2-dev/resolve/main/split_files/vae/flux2-vae.safetensors", "directory": "vae"}]}, "widgets_values": ["flux2-vae.safetensors"], "title": "FLUX.2 VAE"}, {"id": 5, "type": "PrimitiveStringMultiline", "pos": [-840, -90], "size": [430, 180], "flags": {}, "order": 4, "mode": 0, "inputs": [{"name": "value", "type": "STRING", "link": null, "widget": {"name": "value"}}], "outputs": [{"name": "STRING", "type": "STRING", "links": [2]}], "properties": {"Node name for S&R": "PrimitiveStringMultiline"}, "widgets_values": ["A photoshoot-style group portrait of the four people from the reference images, standing together against a seamless light grey studio backdrop, soft even key light, each face clearly visible and matching its reference, natural skin texture, sharp focus, plain unbranded clothing, no logos, emblems, brand names, text or watermarks"], "title": "Prompt: the scene to compose them into"}, {"id": 6, "type": "CLIPTextEncode", "pos": [-340, -90], "size": [300, 80], "flags": {}, "order": 5, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 1}, {"name": "text", "type": "STRING", "link": 2, "widget": {"name": "text"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [7]}], "properties": {"Node name for S&R": "CLIPTextEncode"}, "widgets_values": [""], "title": "Encode prompt"}, {"id": 7, "type": "CLIPTextEncode", "pos": [-340, 30], "size": [300, 80], "flags": {}, "order": 6, "mode": 0, "inputs": [{"name": "clip", "type": "CLIP", "link": 3}, {"name": "text", "type": "STRING", "link": null, "widget": {"name": "text"}}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [9]}], "properties": {"Node name for S&R": "CLIPTextEncode"}, "widgets_values": [""], "title": "Negative (empty)"}, {"id": 8, "type": "LoadImage", "pos": [-840, 180], "size": [330, 300], "flags": {}, "order": 7, "mode": 0, "inputs": [{"name": "image", "type": "COMBO", "link": null, "widget": {"name": "image"}}, {"name": "upload", "type": "IMAGEUPLOAD", "link": null, "widget": {"name": "upload"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [4]}, {"name": "MASK", "type": "MASK", "links": []}], "properties": {"Node name for S&R": "LoadImage"}, "widgets_values": ["example.png", "image"], "title": "Character 1"}, {"id": 9, "type": "ImageScaleToTotalPixels", "pos": [-470, 180], "size": [300, 100], "flags": {}, "order": 8, "mode": 0, "inputs": [{"name": "image", "type": "IMAGE", "link": 4}, {"name": "upscale_method", "type": "COMBO", "link": null, "widget": {"name": "upscale_method"}}, {"name": "megapixels", "type": "FLOAT", "link": null, "widget": {"name": "megapixels"}}, {"name": "resolution_steps", "type": "INT", "link": null, "widget": {"name": "resolution_steps"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [5]}], "properties": {"Node name for S&R": "ImageScaleToTotalPixels"}, "widgets_values": ["nearest-exact", 1.0, 1], "title": "Scale 1 to ~1 MP"}, {"id": 10, "type": "VAEEncode", "pos": [-130, 180], "size": [260, 60], "flags": {}, "order": 9, "mode": 0, "inputs": [{"name": "pixels", "type": "IMAGE", "link": 5}, {"name": "vae", "type": "VAE", "link": 6}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [8, 10]}], "properties": {"Node name for S&R": "VAEEncode"}, "widgets_values": [], "title": "Encode 1"}, {"id": 11, "type": "ReferenceLatent", "pos": [190, 180], "size": [260, 60], "flags": {}, "order": 10, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 7}, {"name": "latent", "type": "LATENT", "link": 8}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [14]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 1 -> positive"}, {"id": 12, "type": "ReferenceLatent", "pos": [190, 270], "size": [260, 60], "flags": {}, "order": 11, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 9}, {"name": "latent", "type": "LATENT", "link": 10}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [16]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 1 -> negative"}, {"id": 13, "type": "LoadImage", "pos": [-840, 370], "size": [330, 300], "flags": {}, "order": 12, "mode": 0, "inputs": [{"name": "image", "type": "COMBO", "link": null, "widget": {"name": "image"}}, {"name": "upload", "type": "IMAGEUPLOAD", "link": null, "widget": {"name": "upload"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [11]}, {"name": "MASK", "type": "MASK", "links": []}], "properties": {"Node name for S&R": "LoadImage"}, "widgets_values": ["example.png", "image"], "title": "Character 2"}, {"id": 14, "type": "ImageScaleToTotalPixels", "pos": [-470, 370], "size": [300, 100], "flags": {}, "order": 13, "mode": 0, "inputs": [{"name": "image", "type": "IMAGE", "link": 11}, {"name": "upscale_method", "type": "COMBO", "link": null, "widget": {"name": "upscale_method"}}, {"name": "megapixels", "type": "FLOAT", "link": null, "widget": {"name": "megapixels"}}, {"name": "resolution_steps", "type": "INT", "link": null, "widget": {"name": "resolution_steps"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [12]}], "properties": {"Node name for S&R": "ImageScaleToTotalPixels"}, "widgets_values": ["nearest-exact", 1.0, 1], "title": "Scale 2 to ~1 MP"}, {"id": 15, "type": "VAEEncode", "pos": [-130, 370], "size": [260, 60], "flags": {}, "order": 14, "mode": 0, "inputs": [{"name": "pixels", "type": "IMAGE", "link": 12}, {"name": "vae", "type": "VAE", "link": 13}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [15, 17]}], "properties": {"Node name for S&R": "VAEEncode"}, "widgets_values": [], "title": "Encode 2"}, {"id": 16, "type": "ReferenceLatent", "pos": [190, 370], "size": [260, 60], "flags": {}, "order": 15, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 14}, {"name": "latent", "type": "LATENT", "link": 15}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [21]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 2 -> positive"}, {"id": 17, "type": "ReferenceLatent", "pos": [190, 460], "size": [260, 60], "flags": {}, "order": 16, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 16}, {"name": "latent", "type": "LATENT", "link": 17}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [23]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 2 -> negative"}, {"id": 18, "type": "LoadImage", "pos": [-840, 560], "size": [330, 300], "flags": {}, "order": 17, "mode": 0, "inputs": [{"name": "image", "type": "COMBO", "link": null, "widget": {"name": "image"}}, {"name": "upload", "type": "IMAGEUPLOAD", "link": null, "widget": {"name": "upload"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [18]}, {"name": "MASK", "type": "MASK", "links": []}], "properties": {"Node name for S&R": "LoadImage"}, "widgets_values": ["example.png", "image"], "title": "Character 3"}, {"id": 19, "type": "ImageScaleToTotalPixels", "pos": [-470, 560], "size": [300, 100], "flags": {}, "order": 18, "mode": 0, "inputs": [{"name": "image", "type": "IMAGE", "link": 18}, {"name": "upscale_method", "type": "COMBO", "link": null, "widget": {"name": "upscale_method"}}, {"name": "megapixels", "type": "FLOAT", "link": null, "widget": {"name": "megapixels"}}, {"name": "resolution_steps", "type": "INT", "link": null, "widget": {"name": "resolution_steps"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [19]}], "properties": {"Node name for S&R": "ImageScaleToTotalPixels"}, "widgets_values": ["nearest-exact", 1.0, 1], "title": "Scale 3 to ~1 MP"}, {"id": 20, "type": "VAEEncode", "pos": [-130, 560], "size": [260, 60], "flags": {}, "order": 19, "mode": 0, "inputs": [{"name": "pixels", "type": "IMAGE", "link": 19}, {"name": "vae", "type": "VAE", "link": 20}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [22, 24]}], "properties": {"Node name for S&R": "VAEEncode"}, "widgets_values": [], "title": "Encode 3"}, {"id": 21, "type": "ReferenceLatent", "pos": [190, 560], "size": [260, 60], "flags": {}, "order": 20, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 21}, {"name": "latent", "type": "LATENT", "link": 22}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [28]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 3 -> positive"}, {"id": 22, "type": "ReferenceLatent", "pos": [190, 650], "size": [260, 60], "flags": {}, "order": 21, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 23}, {"name": "latent", "type": "LATENT", "link": 24}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [30]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 3 -> negative"}, {"id": 23, "type": "LoadImage", "pos": [-840, 750], "size": [330, 300], "flags": {}, "order": 22, "mode": 0, "inputs": [{"name": "image", "type": "COMBO", "link": null, "widget": {"name": "image"}}, {"name": "upload", "type": "IMAGEUPLOAD", "link": null, "widget": {"name": "upload"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [25]}, {"name": "MASK", "type": "MASK", "links": []}], "properties": {"Node name for S&R": "LoadImage"}, "widgets_values": ["example.png", "image"], "title": "Character 4"}, {"id": 24, "type": "ImageScaleToTotalPixels", "pos": [-470, 750], "size": [300, 100], "flags": {}, "order": 23, "mode": 0, "inputs": [{"name": "image", "type": "IMAGE", "link": 25}, {"name": "upscale_method", "type": "COMBO", "link": null, "widget": {"name": "upscale_method"}}, {"name": "megapixels", "type": "FLOAT", "link": null, "widget": {"name": "megapixels"}}, {"name": "resolution_steps", "type": "INT", "link": null, "widget": {"name": "resolution_steps"}}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [26]}], "properties": {"Node name for S&R": "ImageScaleToTotalPixels"}, "widgets_values": ["nearest-exact", 1.0, 1], "title": "Scale 4 to ~1 MP"}, {"id": 25, "type": "VAEEncode", "pos": [-130, 750], "size": [260, 60], "flags": {}, "order": 24, "mode": 0, "inputs": [{"name": "pixels", "type": "IMAGE", "link": 26}, {"name": "vae", "type": "VAE", "link": 27}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [29, 31]}], "properties": {"Node name for S&R": "VAEEncode"}, "widgets_values": [], "title": "Encode 4"}, {"id": 26, "type": "ReferenceLatent", "pos": [190, 750], "size": [260, 60], "flags": {}, "order": 25, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 28}, {"name": "latent", "type": "LATENT", "link": 29}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [33]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 4 -> positive"}, {"id": 27, "type": "ReferenceLatent", "pos": [190, 840], "size": [260, 60], "flags": {}, "order": 26, "mode": 0, "inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 30}, {"name": "latent", "type": "LATENT", "link": 31}], "outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [34]}], "properties": {"Node name for S&R": "ReferenceLatent"}, "widgets_values": [], "title": "Reference 4 -> negative"}, {"id": 28, "type": "EmptyFlux2LatentImage", "pos": [500, -460], "size": [300, 110], "flags": {}, "order": 27, "mode": 0, "inputs": [{"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}, {"name": "batch_size", "type": "INT", "link": null, "widget": {"name": "batch_size"}}], "outputs": [{"name": "LATENT", "type": "LATENT", "links": [39]}], "properties": {"Node name for S&R": "EmptyFlux2LatentImage"}, "widgets_values": [1024, 1024, 1], "title": "Output size"}, {"id": 29, "type": "Flux2Scheduler", "pos": [500, -320], "size": [300, 110], "flags": {}, "order": 28, "mode": 0, "inputs": [{"name": "steps", "type": "INT", "link": null, "widget": {"name": "steps"}}, {"name": "width", "type": "INT", "link": null, "widget": {"name": "width"}}, {"name": "height", "type": "INT", "link": null, "widget": {"name": "height"}}], "outputs": [{"name": "SIGMAS", "type": "SIGMAS", "links": [38]}], "properties": {"Node name for S&R": "Flux2Scheduler"}, "widgets_values": [20, 1024, 1024], "title": "Flux2 schedule (20 steps) - match the size above"}, {"id": 30, "type": "KSamplerSelect", "pos": [500, -180], "size": [300, 60], "flags": {}, "order": 29, "mode": 0, "inputs": [{"name": "sampler_name", "type": "COMBO", "link": null, "widget": {"name": "sampler_name"}}], "outputs": [{"name": "SAMPLER", "type": "SAMPLER", "links": [37]}], "properties": {"Node name for S&R": "KSamplerSelect"}, "widgets_values": ["euler"], "title": "Sampler"}, {"id": 31, "type": "RandomNoise", "pos": [500, -90], "size": [300, 90], "flags": {}, "order": 30, "mode": 0, "inputs": [{"name": "noise_seed", "type": "INT", "link": null, "widget": {"name": "noise_seed"}}, {"name": "control_after_generate", "type": "COMBO", "link": null, "widget": {"name": "control_after_generate"}}], "outputs": [{"name": "NOISE", "type": "NOISE", "links": [35]}], "properties": {"Node name for S&R": "RandomNoise"}, "widgets_values": [0, "randomize"], "title": "Seed"}, {"id": 32, "type": "CFGGuider", "pos": [850, -320], "size": [300, 130], "flags": {}, "order": 31, "mode": 0, "inputs": [{"name": "model", "type": "MODEL", "link": 32}, {"name": "positive", "type": "CONDITIONING", "link": 33}, {"name": "negative", "type": "CONDITIONING", "link": 34}, {"name": "cfg", "type": "FLOAT", "link": null, "widget": {"name": "cfg"}}], "outputs": [{"name": "GUIDER", "type": "GUIDER", "links": [36]}], "properties": {"Node name for S&R": "CFGGuider"}, "widgets_values": [5.0], "title": "CFG guider (5)"}, {"id": 33, "type": "SamplerCustomAdvanced", "pos": [850, -140], "size": [300, 150], "flags": {}, "order": 32, "mode": 0, "inputs": [{"name": "noise", "type": "NOISE", "link": 35}, {"name": "guider", "type": "GUIDER", "link": 36}, {"name": "sampler", "type": "SAMPLER", "link": 37}, {"name": "sigmas", "type": "SIGMAS", "link": 38}, {"name": "latent_image", "type": "LATENT", "link": 39}], "outputs": [{"name": "output", "type": "LATENT", "links": [40]}, {"name": "denoised_output", "type": "LATENT", "links": []}], "properties": {"Node name for S&R": "SamplerCustomAdvanced"}, "widgets_values": [], "title": "Sample"}, {"id": 34, "type": "VAEDecode", "pos": [1200, -140], "size": [260, 60], "flags": {}, "order": 33, "mode": 0, "inputs": [{"name": "samples", "type": "LATENT", "link": 40}, {"name": "vae", "type": "VAE", "link": 41}], "outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [42]}], "properties": {"Node name for S&R": "VAEDecode"}, "widgets_values": [], "title": "Decode"}, {"id": 35, "type": "SaveImage", "pos": [1200, -40], "size": [340, 300], "flags": {}, "order": 34, "mode": 0, "inputs": [{"name": "images", "type": "IMAGE", "link": 42}, {"name": "filename_prefix", "type": "STRING", "link": null, "widget": {"name": "filename_prefix"}}], "outputs": [], "properties": {"Node name for S&R": "SaveImage"}, "widgets_values": ["Gmanski/flux2_characters"], "title": "Save"}], "links": [[1, 3, 0, 6, 0, "CLIP"], [2, 5, 0, 6, 1, "STRING"], [3, 3, 0, 7, 0, "CLIP"], [4, 8, 0, 9, 0, "IMAGE"], [5, 9, 0, 10, 0, "IMAGE"], [6, 4, 0, 10, 1, "VAE"], [7, 6, 0, 11, 0, "CONDITIONING"], [8, 10, 0, 11, 1, "LATENT"], [9, 7, 0, 12, 0, "CONDITIONING"], [10, 10, 0, 12, 1, "LATENT"], [11, 13, 0, 14, 0, "IMAGE"], [12, 14, 0, 15, 0, "IMAGE"], [13, 4, 0, 15, 1, "VAE"], [14, 11, 0, 16, 0, "CONDITIONING"], [15, 15, 0, 16, 1, "LATENT"], [16, 12, 0, 17, 0, "CONDITIONING"], [17, 15, 0, 17, 1, "LATENT"], [18, 18, 0, 19, 0, "IMAGE"], [19, 19, 0, 20, 0, "IMAGE"], [20, 4, 0, 20, 1, "VAE"], [21, 16, 0, 21, 0, "CONDITIONING"], [22, 20, 0, 21, 1, "LATENT"], [23, 17, 0, 22, 0, "CONDITIONING"], [24, 20, 0, 22, 1, "LATENT"], [25, 23, 0, 24, 0, "IMAGE"], [26, 24, 0, 25, 0, "IMAGE"], [27, 4, 0, 25, 1, "VAE"], [28, 21, 0, 26, 0, "CONDITIONING"], [29, 25, 0, 26, 1, "LATENT"], [30, 22, 0, 27, 0, "CONDITIONING"], [31, 25, 0, 27, 1, "LATENT"], [32, 2, 0, 32, 0, "MODEL"], [33, 26, 0, 32, 1, "CONDITIONING"], [34, 27, 0, 32, 2, "CONDITIONING"], [35, 31, 0, 33, 0, "NOISE"], [36, 32, 0, 33, 1, "GUIDER"], [37, 30, 0, 33, 2, "SAMPLER"], [38, 29, 0, 33, 3, "SIGMAS"], [39, 28, 0, 33, 4, "LATENT"], [40, 33, 0, 34, 0, "LATENT"], [41, 4, 0, 34, 1, "VAE"], [42, 34, 0, 35, 0, "IMAGE"]], "groups": [], "config": {}, "extra": {"ds": {"scale": 0.62, "offset": [1480, 420]}, "gmanski_template": "flux2-multiple-characters", "generator": "scripts/build_flux2_multiple_characters_workflow.py", "source": "https://gmanski.com/workflows/flux2-multiple-characters"}, "version": 0.4}