Files

317 lines
9.5 KiB
JSON

{
"last_node_id": 20,
"last_link_id": 30,
"nodes": [
{
"id": 1,
"type": "LoadImage",
"pos": [40, 40],
"size": {"0": 315, "1": 314},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{"name": "IMAGE", "type": "IMAGE", "links": [1], "slot_index": 0},
{"name": "MASK", "type": "MASK", "links": null}
],
"properties": {"Node name for S&R": "LoadImage"},
"title": "Source face",
"widgets_values": ["face.jpg", "image"]
},
{
"id": 2,
"type": "AgePromptBuilder",
"pos": [40, 400],
"size": {"0": 360, "1": 320},
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{"name": "positive", "type": "STRING", "links": [2], "slot_index": 0},
{"name": "negative", "type": "STRING", "links": [3], "slot_index": 1},
{"name": "summary", "type": "STRING", "links": [4], "slot_index": 2},
{"name": "target_age", "type": "INT", "links": null, "slot_index": 3}
],
"properties": {"Node name for S&R": "AgePromptBuilder"},
"widgets_values": [
65,
"person",
"unspecified",
"photorealistic portrait, sharp focus, natural studio lighting, neutral background",
"same identity, same facial structure, same eye shape",
"cartoon, illustration, painting, anime, 3d render, deformed, distorted, blurry, low quality, plastic skin, watermark, text",
true
]
},
{
"id": 3,
"type": "UNETLoader",
"pos": [440, 40],
"size": {"0": 315, "1": 82},
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [{"name": "MODEL", "type": "MODEL", "links": [5], "slot_index": 0}],
"properties": {"Node name for S&R": "UNETLoader"},
"widgets_values": ["flux1-dev.safetensors", "default"]
},
{
"id": 4,
"type": "DualCLIPLoader",
"pos": [440, 160],
"size": {"0": 315, "1": 106},
"flags": {},
"order": 3,
"mode": 0,
"inputs": [],
"outputs": [{"name": "CLIP", "type": "CLIP", "links": [6, 7], "slot_index": 0}],
"properties": {"Node name for S&R": "DualCLIPLoader"},
"widgets_values": ["clip_l.safetensors", "t5xxl_fp8_e4m3fn.safetensors", "flux"]
},
{
"id": 5,
"type": "VAELoader",
"pos": [440, 300],
"size": {"0": 315, "1": 58},
"flags": {},
"order": 4,
"mode": 0,
"inputs": [],
"outputs": [{"name": "VAE", "type": "VAE", "links": [8], "slot_index": 0}],
"properties": {"Node name for S&R": "VAELoader"},
"widgets_values": ["ae.safetensors"]
},
{
"id": 6,
"type": "PulidFluxModelLoader",
"pos": [440, 400],
"size": {"0": 315, "1": 58},
"flags": {},
"order": 5,
"mode": 0,
"inputs": [],
"outputs": [{"name": "PULIDFLUX", "type": "PULIDFLUX", "links": [9], "slot_index": 0}],
"properties": {"Node name for S&R": "PulidFluxModelLoader"},
"widgets_values": ["pulid_flux_v0.9.1.safetensors"]
},
{
"id": 7,
"type": "PulidFluxEvaClipLoader",
"pos": [440, 500],
"size": {"0": 315, "1": 26},
"flags": {},
"order": 6,
"mode": 0,
"inputs": [],
"outputs": [{"name": "EVA_CLIP", "type": "EVA_CLIP", "links": [10], "slot_index": 0}],
"properties": {"Node name for S&R": "PulidFluxEvaClipLoader"},
"widgets_values": []
},
{
"id": 8,
"type": "PulidFluxInsightFaceLoader",
"pos": [440, 560],
"size": {"0": 315, "1": 58},
"flags": {},
"order": 7,
"mode": 0,
"inputs": [],
"outputs": [{"name": "FACEANALYSIS", "type": "FACEANALYSIS", "links": [11], "slot_index": 0}],
"properties": {"Node name for S&R": "PulidFluxInsightFaceLoader"},
"widgets_values": ["CUDA"]
},
{
"id": 9,
"type": "ApplyPulidFlux",
"pos": [800, 40],
"size": {"0": 315, "1": 290},
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{"name": "model", "type": "MODEL", "link": 5},
{"name": "pulid_flux", "type": "PULIDFLUX", "link": 9},
{"name": "eva_clip", "type": "EVA_CLIP", "link": 10},
{"name": "face_analysis", "type": "FACEANALYSIS", "link": 11},
{"name": "image", "type": "IMAGE", "link": 1}
],
"outputs": [{"name": "MODEL", "type": "MODEL", "links": [12], "slot_index": 0}],
"properties": {"Node name for S&R": "ApplyPulidFlux"},
"widgets_values": [0.9, 0.0, 1.0, "mean", 1.0, 0.0, 1000, true]
},
{
"id": 10,
"type": "CLIPTextEncode",
"pos": [800, 360],
"size": {"0": 315, "1": 96},
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{"name": "clip", "type": "CLIP", "link": 6},
{"name": "text", "type": "STRING", "link": 2, "widget": {"name": "text"}}
],
"outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [13], "slot_index": 0}],
"properties": {"Node name for S&R": "CLIPTextEncode"},
"title": "Positive (age-conditioned)",
"widgets_values": [""]
},
{
"id": 11,
"type": "CLIPTextEncode",
"pos": [800, 500],
"size": {"0": 315, "1": 96},
"flags": {},
"order": 10,
"mode": 0,
"inputs": [
{"name": "clip", "type": "CLIP", "link": 7},
{"name": "text", "type": "STRING", "link": 3, "widget": {"name": "text"}}
],
"outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [14], "slot_index": 0}],
"properties": {"Node name for S&R": "CLIPTextEncode"},
"title": "Negative",
"widgets_values": [""]
},
{
"id": 12,
"type": "FluxGuidance",
"pos": [1160, 360],
"size": {"0": 315, "1": 58},
"flags": {},
"order": 11,
"mode": 0,
"inputs": [{"name": "conditioning", "type": "CONDITIONING", "link": 13}],
"outputs": [{"name": "CONDITIONING", "type": "CONDITIONING", "links": [15], "slot_index": 0}],
"properties": {"Node name for S&R": "FluxGuidance"},
"widgets_values": [3.5]
},
{
"id": 13,
"type": "EmptySD3LatentImage",
"pos": [1160, 460],
"size": {"0": 315, "1": 106},
"flags": {},
"order": 12,
"mode": 0,
"inputs": [],
"outputs": [{"name": "LATENT", "type": "LATENT", "links": [16], "slot_index": 0}],
"properties": {"Node name for S&R": "EmptySD3LatentImage"},
"widgets_values": [1024, 1024, 1]
},
{
"id": 14,
"type": "KSampler",
"pos": [1520, 40],
"size": {"0": 315, "1": 262},
"flags": {},
"order": 13,
"mode": 0,
"inputs": [
{"name": "model", "type": "MODEL", "link": 12},
{"name": "positive", "type": "CONDITIONING", "link": 15},
{"name": "negative", "type": "CONDITIONING", "link": 14},
{"name": "latent_image", "type": "LATENT", "link": 16}
],
"outputs": [{"name": "LATENT", "type": "LATENT", "links": [17], "slot_index": 0}],
"properties": {"Node name for S&R": "KSampler"},
"widgets_values": [0, "randomize", 20, 1.0, "euler", "simple", 1.0]
},
{
"id": 15,
"type": "VAEDecode",
"pos": [1520, 340],
"size": {"0": 315, "1": 46},
"flags": {},
"order": 14,
"mode": 0,
"inputs": [
{"name": "samples", "type": "LATENT", "link": 17},
{"name": "vae", "type": "VAE", "link": 8}
],
"outputs": [{"name": "IMAGE", "type": "IMAGE", "links": [18], "slot_index": 0}],
"properties": {"Node name for S&R": "VAEDecode"},
"widgets_values": []
},
{
"id": 16,
"type": "SaveImage",
"pos": [1520, 420],
"size": {"0": 315, "1": 270},
"flags": {},
"order": 15,
"mode": 0,
"inputs": [{"name": "images", "type": "IMAGE", "link": 18}],
"outputs": [],
"properties": {},
"widgets_values": ["ageshift_age065"]
},
{
"id": 17,
"type": "PreviewAny",
"pos": [40, 760],
"size": {"0": 360, "1": 76},
"flags": {},
"order": 16,
"mode": 0,
"inputs": [{"name": "source", "type": "*", "link": 4}],
"outputs": [],
"properties": {"Node name for S&R": "PreviewAny"},
"title": "Prompt summary",
"widgets_values": []
}
],
"links": [
[1, 1, 0, 9, 4, "IMAGE"],
[2, 2, 0, 10, 1, "STRING"],
[3, 2, 1, 11, 1, "STRING"],
[4, 2, 2, 17, 0, "STRING"],
[5, 3, 0, 9, 0, "MODEL"],
[6, 4, 0, 10, 0, "CLIP"],
[7, 4, 0, 11, 0, "CLIP"],
[8, 5, 0, 15, 1, "VAE"],
[9, 6, 0, 9, 1, "PULIDFLUX"],
[10, 7, 0, 9, 2, "EVA_CLIP"],
[11, 8, 0, 9, 3, "FACEANALYSIS"],
[12, 9, 0, 14, 0, "MODEL"],
[13, 10, 0, 12, 0, "CONDITIONING"],
[14, 11, 0, 14, 2, "CONDITIONING"],
[15, 12, 0, 14, 1, "CONDITIONING"],
[16, 13, 0, 14, 3, "LATENT"],
[17, 14, 0, 15, 0, "LATENT"],
[18, 15, 0, 16, 0, "IMAGE"]
],
"groups": [
{
"title": "Inputs",
"bounding": [30, 0, 370, 740],
"color": "#3f789e",
"font_size": 24
},
{
"title": "Flux + PuLID loaders",
"bounding": [430, 0, 335, 640],
"color": "#a1309b",
"font_size": 24
},
{
"title": "Apply + condition",
"bounding": [790, 0, 335, 620],
"color": "#629930",
"font_size": 24
},
{
"title": "Sample → decode → save",
"bounding": [1510, 0, 335, 700],
"color": "#b58b2a",
"font_size": 24
}
],
"config": {},
"extra": {},
"version": 0.4
}