{ "id": "00000000-0000-0000-0000-000000000000", "revision": 0, "last_node_id": 20, "last_link_id": 19, "nodes": [ { "id": 1, "type": "MarkdownNote", "pos": [ -1300, -80 ], "size": [ 540, 460 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "properties": { "Node name for S&R": "MarkdownNote", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "## FLUX Redux \u2014 fal `flux/dev/redux` replica (v1 draft)\n\nOfficial ComfyUI Redux example graph with fal's exact defaults. One image in \u2192 variations out.\nNo safety checker (unlike fal). Doubles as the plain single-image Redux workflow.\n\n**Models** (HF `aleph65/ComfyUI`): `diffusion_models/flux1-dev.safetensors` (bf16, dtype\n`default`) \u00b7 `text_encoders/t5xxl_fp16.safetensors` + `clip_l.safetensors` \u00b7 `vae/ae.safetensors`\n\u00b7 `style_models/flux1-redux-dev.safetensors` \u00b7 `clip_vision/sigclip_vision_patch14_384.safetensors`\n\n**fal parity settings** \u2014 prompt empty (fal dev endpoint passes none), FluxGuidance 3.5\n(= guidance_scale), euler / simple / 28 steps / denoise 1.0, 768x1024 (= portrait_4_3),\nApply Style Model strength 1.0 / multiply. Seeds do NOT transfer from fal.\n\n**Extras fal doesn't expose**: type a prompt; lower strength (or switch to `attn_bias`) to let\nthe prompt steer; chain a second Apply Style Model to blend two references.\n" ] }, { "id": 2, "type": "UNETLoader", "pos": [ -720, -80 ], "size": [ 340, 82 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 8 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "UNETLoader", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "flux1-dev.safetensors", "default" ] }, { "id": 3, "type": "DualCLIPLoader", "pos": [ -720, 60 ], "size": [ 340, 130 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [ { "name": "CLIP", "type": "CLIP", "links": [ 3 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "DualCLIPLoader", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "t5xxl_fp16.safetensors", "clip_l.safetensors", "flux", "default" ] }, { "id": 4, "type": "VAELoader", "pos": [ -720, 250 ], "size": [ 340, 58 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [ { "name": "VAE", "type": "VAE", "links": [ 18 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "VAELoader", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "ae.safetensors" ] }, { "id": 5, "type": "LoadImage", "pos": [ -720, 420 ], "size": [ 274, 314 ], "flags": {}, "order": 4, "mode": 0, "inputs": [], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 2 ], "slot_index": 0 }, { "name": "MASK", "type": "MASK", "links": [], "slot_index": 1 } ], "properties": { "Node name for S&R": "LoadImage", "cnr_id": "comfy-core", "ver": "0.27.0" }, "title": "Style reference (Image A)", "widgets_values": [ "style_ref.png", "image" ] }, { "id": 6, "type": "CLIPVisionLoader", "pos": [ -720, 780 ], "size": [ 340, 58 ], "flags": {}, "order": 5, "mode": 0, "inputs": [], "outputs": [ { "name": "CLIP_VISION", "type": "CLIP_VISION", "links": [ 1 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "CLIPVisionLoader", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "sigclip_vision_patch14_384.safetensors" ] }, { "id": 7, "type": "CLIPVisionEncode", "pos": [ -340, 480 ], "size": [ 290, 78 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "name": "clip_vision", "type": "CLIP_VISION", "link": 1 }, { "name": "image", "type": "IMAGE", "link": 2 } ], "outputs": [ { "name": "CLIP_VISION_OUTPUT", "type": "CLIP_VISION_OUTPUT", "links": [ 7 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "CLIPVisionEncode", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "center" ] }, { "id": 8, "type": "StyleModelLoader", "pos": [ -720, 870 ], "size": [ 340, 58 ], "flags": {}, "order": 7, "mode": 0, "inputs": [], "outputs": [ { "name": "STYLE_MODEL", "type": "STYLE_MODEL", "links": [ 6 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "StyleModelLoader", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "flux1-redux-dev.safetensors" ] }, { "id": 9, "type": "CLIPTextEncode", "pos": [ -300, 60 ], "size": [ 400, 160 ], "flags": {}, "order": 8, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 3 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 4 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "CLIPTextEncode", "cnr_id": "comfy-core", "ver": "0.27.0" }, "title": "Prompt (empty = fal parity)", "widgets_values": [ "" ] }, { "id": 10, "type": "FluxGuidance", "pos": [ 140, 60 ], "size": [ 290, 58 ], "flags": {}, "order": 9, "mode": 0, "inputs": [ { "name": "conditioning", "type": "CONDITIONING", "link": 4 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 5 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "FluxGuidance", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ 3.5 ] }, { "id": 11, "type": "StyleModelApply", "pos": [ 140, 200 ], "size": [ 320, 102 ], "flags": {}, "order": 10, "mode": 0, "inputs": [ { "name": "conditioning", "type": "CONDITIONING", "link": 5 }, { "name": "style_model", "type": "STYLE_MODEL", "link": 6 }, { "name": "clip_vision_output", "type": "CLIP_VISION_OUTPUT", "link": 7 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "links": [ 10 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "StyleModelApply", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ 1.0, "multiply" ] }, { "id": 12, "type": "ModelSamplingFlux", "pos": [ 140, -160 ], "size": [ 300, 130 ], "flags": {}, "order": 11, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 8 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 9, 11 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "ModelSamplingFlux", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ 1.15, 0.5, 768, 1024 ] }, { "id": 13, "type": "RandomNoise", "pos": [ 560, -160 ], "size": [ 290, 82 ], "flags": {}, "order": 12, "mode": 0, "inputs": [], "outputs": [ { "name": "NOISE", "type": "NOISE", "links": [ 12 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "RandomNoise", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ 0, "randomize" ] }, { "id": 14, "type": "BasicGuider", "pos": [ 560, 20 ], "size": [ 240, 66 ], "flags": {}, "order": 13, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 9 }, { "name": "conditioning", "type": "CONDITIONING", "link": 10 } ], "outputs": [ { "name": "GUIDER", "type": "GUIDER", "links": [ 13 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "BasicGuider", "cnr_id": "comfy-core", "ver": "0.27.0" } }, { "id": 15, "type": "KSamplerSelect", "pos": [ 560, 140 ], "size": [ 290, 58 ], "flags": {}, "order": 14, "mode": 0, "inputs": [], "outputs": [ { "name": "SAMPLER", "type": "SAMPLER", "links": [ 14 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "KSamplerSelect", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "euler" ] }, { "id": 16, "type": "BasicScheduler", "pos": [ 560, 250 ], "size": [ 290, 106 ], "flags": {}, "order": 15, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 11 } ], "outputs": [ { "name": "SIGMAS", "type": "SIGMAS", "links": [ 15 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "BasicScheduler", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "simple", 28, 1.0 ] }, { "id": 17, "type": "EmptySD3LatentImage", "pos": [ 560, 420 ], "size": [ 290, 106 ], "flags": {}, "order": 16, "mode": 0, "inputs": [], "outputs": [ { "name": "LATENT", "type": "LATENT", "links": [ 16 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "EmptySD3LatentImage", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ 768, 1024, 1 ] }, { "id": 18, "type": "SamplerCustomAdvanced", "pos": [ 980, 60 ], "size": [ 270, 126 ], "flags": {}, "order": 17, "mode": 0, "inputs": [ { "name": "noise", "type": "NOISE", "link": 12 }, { "name": "guider", "type": "GUIDER", "link": 13 }, { "name": "sampler", "type": "SAMPLER", "link": 14 }, { "name": "sigmas", "type": "SIGMAS", "link": 15 }, { "name": "latent_image", "type": "LATENT", "link": 16 } ], "outputs": [ { "name": "output", "type": "LATENT", "links": [ 17 ], "slot_index": 0 }, { "name": "denoised_output", "type": "LATENT", "links": [], "slot_index": 1 } ], "properties": { "Node name for S&R": "SamplerCustomAdvanced", "cnr_id": "comfy-core", "ver": "0.27.0" } }, { "id": 19, "type": "VAEDecode", "pos": [ 1240, 60 ], "size": [ 210, 66 ], "flags": {}, "order": 18, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 17 }, { "name": "vae", "type": "VAE", "link": 18 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "links": [ 19 ], "slot_index": 0 } ], "properties": { "Node name for S&R": "VAEDecode", "cnr_id": "comfy-core", "ver": "0.27.0" } }, { "id": 20, "type": "SaveImage", "pos": [ 1240, 180 ], "size": [ 400, 400 ], "flags": {}, "order": 19, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 19 } ], "outputs": [], "properties": { "Node name for S&R": "SaveImage", "cnr_id": "comfy-core", "ver": "0.27.0" }, "widgets_values": [ "flux-redux/fal-dev" ] } ], "links": [ [ 1, 6, 0, 7, 0, "CLIP_VISION" ], [ 2, 5, 0, 7, 1, "IMAGE" ], [ 3, 3, 0, 9, 0, "CLIP" ], [ 4, 9, 0, 10, 0, "CONDITIONING" ], [ 5, 10, 0, 11, 0, "CONDITIONING" ], [ 6, 8, 0, 11, 1, "STYLE_MODEL" ], [ 7, 7, 0, 11, 2, "CLIP_VISION_OUTPUT" ], [ 8, 2, 0, 12, 0, "MODEL" ], [ 9, 12, 0, 14, 0, "MODEL" ], [ 10, 11, 0, 14, 1, "CONDITIONING" ], [ 11, 12, 0, 16, 0, "MODEL" ], [ 12, 13, 0, 18, 0, "NOISE" ], [ 13, 14, 0, 18, 1, "GUIDER" ], [ 14, 15, 0, 18, 2, "SAMPLER" ], [ 15, 16, 0, 18, 3, "SIGMAS" ], [ 16, 17, 0, 18, 4, "LATENT" ], [ 17, 18, 0, 19, 0, "LATENT" ], [ 18, 4, 0, 19, 1, "VAE" ], [ 19, 19, 0, 20, 0, "IMAGE" ] ], "groups": [ { "id": 1, "title": "STYLE REFERENCE \u2014 Redux", "bounding": [ -740, 340, 940, 700 ], "color": "#3f789e", "font_size": 24, "flags": {} }, { "id": 2, "title": "SAMPLING (fal defaults)", "bounding": [ 540, -220, 1100, 760 ], "color": "#444", "font_size": 24, "flags": {} } ], "config": {}, "extra": {}, "version": 0.4 }