- Add execution flow with batch management and queue system - Implement Z-axis support for multiple grid pages with labels - Add model caching manager with intelligent memory management - Create progress tracking system with WebSocket support - Write comprehensive test suite (59 tests, 100% passing) - Add example workflows and detailed documentation - Optimize grid assembly with better label positioning - Support for all parameter types including Flux guidance
213 lines
5.4 KiB
JSON
213 lines
5.4 KiB
JSON
{
|
|
"last_node_id": 10,
|
|
"last_link_id": 15,
|
|
"nodes": [
|
|
{
|
|
"id": 1,
|
|
"type": "XYZPlotController",
|
|
"pos": [100, 100],
|
|
"size": [400, 300],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{"name": "grid_data", "type": "XYZ_GRID", "links": [10]},
|
|
{"name": "x_string", "type": "STRING", "links": [11]},
|
|
{"name": "y_float", "type": "FLOAT", "links": [12]}
|
|
],
|
|
"properties": {},
|
|
"widgets_values": [
|
|
"model",
|
|
"sd_xl_base_1.0.safetensors, dreamshaperXL_v2.safetensors",
|
|
"Model: ",
|
|
"cfg_scale",
|
|
"5, 7.5, 10",
|
|
"CFG: ",
|
|
true,
|
|
"none",
|
|
"",
|
|
"",
|
|
true,
|
|
false
|
|
]
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "CheckpointLoaderSimple",
|
|
"pos": [550, 100],
|
|
"size": [315, 98],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{"name": "ckpt_name", "type": "STRING", "link": 11}
|
|
],
|
|
"outputs": [
|
|
{"name": "MODEL", "type": "MODEL", "links": [1]},
|
|
{"name": "CLIP", "type": "CLIP", "links": [2, 3]},
|
|
{"name": "VAE", "type": "VAE", "links": [4]}
|
|
],
|
|
"properties": {},
|
|
"widgets_values": ["sd_xl_base_1.0.safetensors"]
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "CLIPTextEncode",
|
|
"pos": [550, 250],
|
|
"size": [400, 200],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{"name": "clip", "type": "CLIP", "link": 2}
|
|
],
|
|
"outputs": [
|
|
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [5]}
|
|
],
|
|
"properties": {},
|
|
"widgets_values": ["a beautiful landscape with mountains and a lake, highly detailed, professional photography"]
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": "CLIPTextEncode",
|
|
"pos": [550, 500],
|
|
"size": [400, 200],
|
|
"flags": {},
|
|
"order": 3,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{"name": "clip", "type": "CLIP", "link": 3}
|
|
],
|
|
"outputs": [
|
|
{"name": "CONDITIONING", "type": "CONDITIONING", "links": [6]}
|
|
],
|
|
"properties": {},
|
|
"widgets_values": ["blurry, low quality, distorted"]
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "EmptyLatentImage",
|
|
"pos": [1000, 100],
|
|
"size": [315, 106],
|
|
"flags": {},
|
|
"order": 4,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{"name": "LATENT", "type": "LATENT", "links": [7]}
|
|
],
|
|
"properties": {},
|
|
"widgets_values": [1024, 1024, 1]
|
|
},
|
|
{
|
|
"id": 6,
|
|
"type": "KSampler",
|
|
"pos": [1000, 250],
|
|
"size": [315, 262],
|
|
"flags": {},
|
|
"order": 5,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{"name": "model", "type": "MODEL", "link": 1},
|
|
{"name": "positive", "type": "CONDITIONING", "link": 5},
|
|
{"name": "negative", "type": "CONDITIONING", "link": 6},
|
|
{"name": "latent_image", "type": "LATENT", "link": 7},
|
|
{"name": "cfg", "type": "FLOAT", "link": 12}
|
|
],
|
|
"outputs": [
|
|
{"name": "LATENT", "type": "LATENT", "links": [8]}
|
|
],
|
|
"properties": {},
|
|
"widgets_values": [42, "fixed", 20, 7.5, "euler", "normal", 1]
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": "VAEDecode",
|
|
"pos": [1350, 250],
|
|
"size": [210, 46],
|
|
"flags": {},
|
|
"order": 6,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{"name": "samples", "type": "LATENT", "link": 8},
|
|
{"name": "vae", "type": "VAE", "link": 4}
|
|
],
|
|
"outputs": [
|
|
{"name": "IMAGE", "type": "IMAGE", "links": [9]}
|
|
],
|
|
"properties": {}
|
|
},
|
|
{
|
|
"id": 8,
|
|
"type": "ImageGridCombiner",
|
|
"pos": [1600, 250],
|
|
"size": [315, 200],
|
|
"flags": {},
|
|
"order": 7,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{"name": "images", "type": "IMAGE", "link": 9},
|
|
{"name": "grid_data", "type": "XYZ_GRID", "link": 10}
|
|
],
|
|
"outputs": [
|
|
{"name": "grid_image", "type": "IMAGE", "links": [13]},
|
|
{"name": "grid_info", "type": "STRING", "links": null}
|
|
],
|
|
"properties": {},
|
|
"widgets_values": [20, 10, 30, 30, true]
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": "SaveImage",
|
|
"pos": [1950, 250],
|
|
"size": [315, 270],
|
|
"flags": {},
|
|
"order": 8,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{"name": "images", "type": "IMAGE", "link": 13}
|
|
],
|
|
"outputs": [],
|
|
"properties": {},
|
|
"widgets_values": ["model_cfg_comparison"]
|
|
}
|
|
],
|
|
"links": [
|
|
[1, 2, 0, 6, 0, "MODEL"],
|
|
[2, 2, 1, 3, 0, "CLIP"],
|
|
[3, 2, 1, 4, 0, "CLIP"],
|
|
[4, 2, 2, 7, 1, "VAE"],
|
|
[5, 3, 0, 6, 1, "CONDITIONING"],
|
|
[6, 4, 0, 6, 2, "CONDITIONING"],
|
|
[7, 5, 0, 6, 3, "LATENT"],
|
|
[8, 6, 0, 7, 0, "LATENT"],
|
|
[9, 7, 0, 8, 0, "IMAGE"],
|
|
[10, 1, 0, 8, 1, "XYZ_GRID"],
|
|
[11, 1, 1, 2, 0, "STRING"],
|
|
[12, 1, 5, 6, 4, "FLOAT"],
|
|
[13, 8, 0, 9, 0, "IMAGE"]
|
|
],
|
|
"groups": [
|
|
{
|
|
"title": "XYZ Grid Setup",
|
|
"bounding": [80, 20, 440, 380],
|
|
"color": "#3f789e"
|
|
},
|
|
{
|
|
"title": "Image Generation",
|
|
"bounding": [530, 20, 1050, 720],
|
|
"color": "#4c7a3f"
|
|
},
|
|
{
|
|
"title": "Grid Output",
|
|
"bounding": [1580, 170, 700, 400],
|
|
"color": "#7a4c3f"
|
|
}
|
|
],
|
|
"config": {},
|
|
"extra": {
|
|
"info": "This workflow demonstrates a basic 2x3 grid comparing two models at three different CFG scale values. The XYZ Plot Controller automatically handles all 6 iterations."
|
|
},
|
|
"version": 0.4
|
|
} |