317 lines
9.5 KiB
JSON
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
|
|
}
|