BleynChannel

Character Design Sheet V2

Sep 25th, 2026
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 105.63 KB | Source Code | 0 0
  1. {
  2.   "id": "f754dab1-c888-4b6a-86c8-ae2c7177d3b9",
  3.   "revision": 0,
  4.   "last_node_id": 595,
  5.   "last_link_id": 1018,
  6.   "nodes": [
  7.     {
  8.       "id": 577,
  9.       "type": "ResolutionSelector",
  10.       "pos": [
  11.         -141.25029549395242,
  12.         3053.636052700748
  13.       ],
  14.       "size": [
  15.         273.0476514238372,
  16.         190.00014358519093
  17.       ],
  18.       "flags": {},
  19.       "order": 0,
  20.       "mode": 0,
  21.       "showAdvanced": true,
  22.       "inputs": [],
  23.       "outputs": [
  24.         {
  25.           "name": "width",
  26.           "type": "INT",
  27.           "links": [
  28.             1008
  29.           ]
  30.         },
  31.         {
  32.           "name": "height",
  33.           "type": "INT",
  34.           "links": [
  35.             1009
  36.           ]
  37.         }
  38.       ],
  39.       "properties": {
  40.         "cnr_id": "comfy-core",
  41.         "ver": "0.36.0",
  42.         "Node name for S&R": "ResolutionSelector"
  43.       },
  44.       "widgets_values": [
  45.         "3:2 (Photo)",
  46.         3.4,
  47.         32
  48.       ],
  49.       "widgets_values_named": {
  50.         "aspect_ratio": "3:2 (Photo)",
  51.         "megapixels": 3.4,
  52.         "multiple": 32
  53.       }
  54.     },
  55.     {
  56.       "id": 578,
  57.       "type": "99ba1998-bf35-4a70-b4e7-47d3c8f10d3d",
  58.       "pos": [
  59.         650.0574490218758,
  60.         2593.8400534128887
  61.       ],
  62.       "size": [
  63.         422.2893616112114,
  64.         434.00902358598444
  65.       ],
  66.       "flags": {},
  67.       "order": 12,
  68.       "mode": 0,
  69.       "inputs": [
  70.         {
  71.           "label": "positive_prompt",
  72.           "name": "prompt",
  73.           "type": "STRING",
  74.           "widget": {
  75.             "name": "prompt"
  76.           },
  77.           "link": 1007
  78.         },
  79.         {
  80.           "label": "steps",
  81.           "name": "steps",
  82.           "type": "INT",
  83.           "widget": {
  84.             "name": "steps"
  85.           },
  86.           "link": null
  87.         },
  88.         {
  89.           "name": "width",
  90.           "type": "INT",
  91.           "widget": {
  92.             "name": "width"
  93.           },
  94.           "link": 1008
  95.         },
  96.         {
  97.           "name": "height",
  98.           "type": "INT",
  99.           "widget": {
  100.             "name": "height"
  101.           },
  102.           "link": 1009
  103.         },
  104.         {
  105.           "label": "sampler",
  106.           "name": "scheduler",
  107.           "type": "COMBO",
  108.           "widget": {
  109.             "name": "scheduler"
  110.           },
  111.           "link": null
  112.         },
  113.         {
  114.           "label": "scheduler",
  115.           "name": "scheduler_1",
  116.           "type": "COMBO",
  117.           "widget": {
  118.             "name": "scheduler_1"
  119.           },
  120.           "link": null
  121.         },
  122.         {
  123.           "label": "image_1",
  124.           "name": "images.image_1",
  125.           "shape": 7,
  126.           "type": "IMAGE",
  127.           "link": 1010
  128.         }
  129.       ],
  130.       "outputs": [
  131.         {
  132.           "name": "IMAGE",
  133.           "type": "IMAGE",
  134.           "links": [
  135.             1011,
  136.             1017
  137.           ]
  138.         }
  139.       ],
  140.       "properties": {
  141.         "cnr_id": "comfy-core",
  142.         "ver": "0.36.0",
  143.         "previewExposures": []
  144.       },
  145.       "widgets_values": [
  146.         "",
  147.         1536,
  148.         25,
  149.         1024,
  150.         1024,
  151.         "res_2m",
  152.         "beta",
  153.         42,
  154.         "qwen/qwen_image_2.1_bf16.safetensors",
  155.         "qwen/qwen3vl_8b_bf16.safetensors",
  156.         "qwen/qwen_image_2.1_vae_bf16.safetensors"
  157.       ],
  158.       "widgets_values_named": {
  159.         "prompt": "",
  160.         "resolution": 1536,
  161.         "steps": 25,
  162.         "width": 1024,
  163.         "height": 1024,
  164.         "scheduler": "res_2m",
  165.         "scheduler_1": "beta",
  166.         "seed": 42,
  167.         "unet_name": "qwen/qwen_image_2.1_bf16.safetensors",
  168.         "clip_name": "qwen/qwen3vl_8b_bf16.safetensors",
  169.         "vae_name": "qwen/qwen_image_2.1_vae_bf16.safetensors"
  170.       }
  171.     },
  172.     {
  173.       "id": 579,
  174.       "type": "SaveImageAdvanced",
  175.       "pos": [
  176.         1120.0574490218758,
  177.         2593.8400534128887
  178.       ],
  179.       "size": [
  180.         710,
  181.         760
  182.       ],
  183.       "flags": {},
  184.       "order": 13,
  185.       "mode": 0,
  186.       "showAdvanced": false,
  187.       "inputs": [
  188.         {
  189.           "name": "images",
  190.           "type": "IMAGE",
  191.           "link": 1011
  192.         }
  193.       ],
  194.       "outputs": [
  195.         {
  196.           "name": "images",
  197.           "type": "IMAGE",
  198.           "links": []
  199.         }
  200.       ],
  201.       "properties": {
  202.         "cnr_id": "comfy-core",
  203.         "ver": "0.36.0",
  204.         "Node name for S&R": "SaveImageAdvanced"
  205.       },
  206.       "widgets_values": [
  207.         "Content/Qwen/Character_Sheet/Simplify",
  208.         "png",
  209.         "8-bit",
  210.         "sRGB"
  211.       ],
  212.       "widgets_values_named": {
  213.         "filename_prefix": "Content/Qwen/Character_Sheet/Simplify",
  214.         "format": "png",
  215.         "format.bit_depth": "8-bit",
  216.         "format.input_color_space": "sRGB"
  217.       }
  218.     },
  219.     {
  220.       "id": 580,
  221.       "type": "LoadImage",
  222.       "pos": [
  223.         -598.5491962821536,
  224.         2597.382654652919
  225.       ],
  226.       "size": [
  227.         429.8978020595171,
  228.         465.253014605293
  229.       ],
  230.       "flags": {},
  231.       "order": 1,
  232.       "mode": 0,
  233.       "inputs": [
  234.         {
  235.           "label": "reference_image",
  236.           "name": "image",
  237.           "type": "COMBO",
  238.           "widget": {
  239.             "name": "image"
  240.           },
  241.           "link": null
  242.         }
  243.       ],
  244.       "outputs": [
  245.         {
  246.           "name": "IMAGE",
  247.           "type": "IMAGE",
  248.           "links": [
  249.             1012,
  250.             1016
  251.           ]
  252.         },
  253.         {
  254.           "name": "MASK",
  255.           "type": "MASK",
  256.           "links": []
  257.         }
  258.       ],
  259.       "properties": {
  260.         "cnr_id": "comfy-core",
  261.         "ver": "0.36.0",
  262.         "Node name for S&R": "LoadImage"
  263.       },
  264.       "widgets_values": [
  265.         "ComfyUI_00251_.png",
  266.         "image"
  267.       ],
  268.       "widgets_values_named": {
  269.         "image": "ComfyUI_00251_.png",
  270.         "upload": "image"
  271.       }
  272.     },
  273.     {
  274.       "id": 581,
  275.       "type": "ImageResizeKJv2",
  276.       "pos": [
  277.         -138.42670834930163,
  278.         2595.7720237237054
  279.       ],
  280.       "size": [
  281.         270,
  282.         336
  283.       ],
  284.       "flags": {},
  285.       "order": 9,
  286.       "mode": 0,
  287.       "inputs": [
  288.         {
  289.           "name": "image",
  290.           "type": "IMAGE",
  291.           "link": 1012
  292.         },
  293.         {
  294.           "name": "mask",
  295.           "shape": 7,
  296.           "type": "MASK",
  297.           "link": null
  298.         }
  299.       ],
  300.       "outputs": [
  301.         {
  302.           "name": "IMAGE",
  303.           "type": "IMAGE",
  304.           "links": [
  305.             1010,
  306.             1013
  307.           ]
  308.         },
  309.         {
  310.           "name": "width",
  311.           "type": "INT",
  312.           "links": []
  313.         },
  314.         {
  315.           "name": "height",
  316.           "type": "INT",
  317.           "links": []
  318.         },
  319.         {
  320.           "name": "mask",
  321.           "type": "MASK",
  322.           "links": []
  323.         }
  324.       ],
  325.       "properties": {
  326.         "cnr_id": "comfyui-kjnodes",
  327.         "ver": "d3cfe21625e5170126ce06fbfcfe1d88108688c3",
  328.         "Node name for S&R": "ImageResizeKJv2"
  329.       },
  330.       "widgets_values": [
  331.         1536,
  332.         1536,
  333.         "lanczos",
  334.         "total_pixels",
  335.         "0, 0, 0",
  336.         "center",
  337.         8,
  338.         "cpu"
  339.       ],
  340.       "widgets_values_named": {
  341.         "width": 1536,
  342.         "height": 1536,
  343.         "upscale_method": "lanczos",
  344.         "keep_proportion": "total_pixels",
  345.         "pad_color": "0, 0, 0",
  346.         "crop_position": "center",
  347.         "divisible_by": 8,
  348.         "device": "cpu"
  349.       }
  350.     },
  351.     {
  352.       "id": 582,
  353.       "type": "7156bd05-9291-46df-8053-b02d1f088ec6",
  354.       "pos": [
  355.         193.97762894015204,
  356.         2594.6309208073035
  357.       ],
  358.       "size": [
  359.         406.3432309837556,
  360.         266.00711151103326
  361.       ],
  362.       "flags": {},
  363.       "order": 10,
  364.       "mode": 0,
  365.       "inputs": [
  366.         {
  367.           "name": "image",
  368.           "shape": 7,
  369.           "type": "IMAGE",
  370.           "link": 1013
  371.         },
  372.         {
  373.           "label": "character_description",
  374.           "name": "string_b",
  375.           "type": "STRING",
  376.           "widget": {
  377.             "name": "string_b"
  378.           },
  379.           "link": 1014
  380.         }
  381.       ],
  382.       "outputs": [
  383.         {
  384.           "name": "prompt",
  385.           "type": "STRING",
  386.           "links": [
  387.             1015
  388.           ]
  389.         }
  390.       ],
  391.       "properties": {
  392.         "cnr_id": "comfy-core",
  393.         "ver": "0.37.0",
  394.         "previewExposures": []
  395.       },
  396.       "widgets_values": [
  397.         "[local] Qwen-Image-2.1-PE-I2I.Q4_K_M.gguf",
  398.         32768,
  399.         32768,
  400.         0.8,
  401.         1,
  402.         -1,
  403.         ""
  404.       ],
  405.       "widgets_values_named": {
  406.         "model_name": "[local] Qwen-Image-2.1-PE-I2I.Q4_K_M.gguf",
  407.         "max_tokens": 32768,
  408.         "ctx": 32768,
  409.         "temperature": 0.8,
  410.         "seed": 1,
  411.         "gpu_layers": -1,
  412.         "string_b": ""
  413.       },
  414.       "color": "#232",
  415.       "bgcolor": "#353"
  416.     },
  417.     {
  418.       "id": 583,
  419.       "type": "PreviewAny",
  420.       "pos": [
  421.         192.33839605722346,
  422.         2933.4120799469256
  423.       ],
  424.       "size": [
  425.         407.6615984970009,
  426.         459.6649548370541
  427.       ],
  428.       "flags": {},
  429.       "order": 11,
  430.       "mode": 0,
  431.       "inputs": [
  432.         {
  433.           "name": "source",
  434.           "type": "*",
  435.           "link": 1015
  436.         }
  437.       ],
  438.       "outputs": [
  439.         {
  440.           "name": "STRING",
  441.           "type": "STRING",
  442.           "links": [
  443.             1007
  444.           ]
  445.         }
  446.       ],
  447.       "properties": {
  448.         "cnr_id": "comfy-core",
  449.         "ver": "0.37.0",
  450.         "Node name for S&R": "PreviewAny"
  451.       },
  452.       "widgets_values": [],
  453.       "widgets_values_named": {}
  454.     },
  455.     {
  456.       "id": 584,
  457.       "type": "MarkdownNote",
  458.       "pos": [
  459.         648.1113827066304,
  460.         3091.9959711179554
  461.       ],
  462.       "size": [
  463.         419.0404614730716,
  464.         288.78660707021027
  465.       ],
  466.       "flags": {},
  467.       "order": 2,
  468.       "mode": 0,
  469.       "inputs": [],
  470.       "outputs": [],
  471.       "title": "Recommendations for generation",
  472.       "properties": {},
  473.       "widgets_values": [
  474.         "### 1. **Use f32/f16/bf16 quanta for clip.** This helps achieve the highest quality and prompt accuracy. According to my tests, int8 and other quanta create significantly more artifacts, and image quality becomes significantly worse. **Don't skimp on your SSD space and install [qwen3vl_8b_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_bf16.safetensors).**\n\n*And yes, you can use Qwen Image 2.1 with any quantum model, starting from int8. Reducing the quantum of the main model has almost no impact on the final generation, unlike clip.*\n\n### 2. For better image quality and reduced artifacts, use `res_2m beta`. I haven't done extensive quality tests for each sampler and scheduler, but this combination worked best for me.\n\n### 3. You can increase the value of the 'resolution' parameter. This parameter allows the clip model to better capture fine details in the reference image by reducing the processing speed of conditioning. The best balance is achieved with a value of 1536."
  475.       ],
  476.       "widgets_values_named": {
  477.         "text": "### 1. **Use f32/f16/bf16 quanta for clip.** This helps achieve the highest quality and prompt accuracy. According to my tests, int8 and other quanta create significantly more artifacts, and image quality becomes significantly worse. **Don't skimp on your SSD space and install [qwen3vl_8b_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_bf16.safetensors).**\n\n*And yes, you can use Qwen Image 2.1 with any quantum model, starting from int8. Reducing the quantum of the main model has almost no impact on the final generation, unlike clip.*\n\n### 2. For better image quality and reduced artifacts, use `res_2m beta`. I haven't done extensive quality tests for each sampler and scheduler, but this combination worked best for me.\n\n### 3. You can increase the value of the 'resolution' parameter. This parameter allows the clip model to better capture fine details in the reference image by reducing the processing speed of conditioning. The best balance is achieved with a value of 1536."
  478.       },
  479.       "color": "#432",
  480.       "bgcolor": "#653"
  481.     },
  482.     {
  483.       "id": 585,
  484.       "type": "MarkdownNote",
  485.       "pos": [
  486.         -144.12161465440863,
  487.         3311.4291613400783
  488.       ],
  489.       "size": [
  490.         267.25180810410893,
  491.         110.61688401201403
  492.       ],
  493.       "flags": {},
  494.       "order": 3,
  495.       "mode": 0,
  496.       "inputs": [],
  497.       "outputs": [],
  498.       "title": "Recommended resolution",
  499.       "properties": {},
  500.       "widgets_values": [
  501.         "- 1.0 megapixels - Fast\n- 3.4 megapixels - Balanced\n- 6.0 megapixels - Best Quality"
  502.       ],
  503.       "widgets_values_named": {
  504.         "text": "- 1.0 megapixels - Fast\n- 3.4 megapixels - Balanced\n- 6.0 megapixels - Best Quality"
  505.       },
  506.       "color": "#432",
  507.       "bgcolor": "#653"
  508.     },
  509.     {
  510.       "id": 586,
  511.       "type": "MarkdownNote",
  512.       "pos": [
  513.         193.22881355147138,
  514.         2374.810025202991
  515.       ],
  516.       "size": [
  517.         404.1646687726717,
  518.         174.69091797493272
  519.       ],
  520.       "flags": {},
  521.       "order": 4,
  522.       "mode": 0,
  523.       "inputs": [],
  524.       "outputs": [],
  525.       "title": "About Prompt Maker",
  526.       "properties": {},
  527.       "widgets_values": [
  528.         "The PE model is prone to a lot of thought—this helps it build high-quality prompts. This causes the issue of insufficient context window. Set max_tokens and ctx to 32768 tokens to avoid errors due to insufficient context window.\nIf, like me, you're having trouble running PE without enough VRAM, change the gpu_laters value to anything else. The lower the value, the more VRAM is freed up for other tasks. For my device (8GB VRAM), I set it to 26.\n\n---\n\nIf you don't want to use GGUF Qwen 3.5 PE to generate the hint, you can go to this subgraph and replace the \"ThinkingLLM Advanced (GGUF)\" node with any other one."
  529.       ],
  530.       "widgets_values_named": {
  531.         "text": "The PE model is prone to a lot of thought—this helps it build high-quality prompts. This causes the issue of insufficient context window. Set max_tokens and ctx to 32768 tokens to avoid errors due to insufficient context window.\nIf, like me, you're having trouble running PE without enough VRAM, change the gpu_laters value to anything else. The lower the value, the more VRAM is freed up for other tasks. For my device (8GB VRAM), I set it to 26.\n\n---\n\nIf you don't want to use GGUF Qwen 3.5 PE to generate the hint, you can go to this subgraph and replace the \"ThinkingLLM Advanced (GGUF)\" node with any other one."
  532.       },
  533.       "color": "#432",
  534.       "bgcolor": "#653"
  535.     },
  536.     {
  537.       "id": 587,
  538.       "type": "ImageStitch",
  539.       "pos": [
  540.         1558.7054175365454,
  541.         2357.208564751725
  542.       ],
  543.       "size": [
  544.         270,
  545.         150
  546.       ],
  547.       "flags": {},
  548.       "order": 14,
  549.       "mode": 0,
  550.       "showAdvanced": true,
  551.       "inputs": [
  552.         {
  553.           "name": "image1",
  554.           "type": "IMAGE",
  555.           "link": 1016
  556.         },
  557.         {
  558.           "name": "image2",
  559.           "shape": 7,
  560.           "type": "IMAGE",
  561.           "link": 1017
  562.         }
  563.       ],
  564.       "outputs": [
  565.         {
  566.           "name": "IMAGE",
  567.           "type": "IMAGE",
  568.           "links": [
  569.             1018
  570.           ]
  571.         }
  572.       ],
  573.       "properties": {
  574.         "cnr_id": "comfy-core",
  575.         "ver": "0.37.0",
  576.         "Node name for S&R": "ImageStitch"
  577.       },
  578.       "widgets_values": [
  579.         "right",
  580.         true,
  581.         16,
  582.         "black"
  583.       ],
  584.       "widgets_values_named": {
  585.         "direction": "right",
  586.         "match_image_size": true,
  587.         "spacing_width": 16,
  588.         "spacing_color": "black"
  589.       }
  590.     },
  591.     {
  592.       "id": 588,
  593.       "type": "PreviewImage",
  594.       "pos": [
  595.         1864.5761529722033,
  596.         2589.6550924588328
  597.       ],
  598.       "size": [
  599.         924.5922806559618,
  600.         762.2012090112747
  601.       ],
  602.       "flags": {},
  603.       "order": 15,
  604.       "mode": 0,
  605.       "inputs": [
  606.         {
  607.           "name": "images",
  608.           "type": "IMAGE",
  609.           "link": 1018
  610.         }
  611.       ],
  612.       "outputs": [
  613.         {
  614.           "name": "images",
  615.           "type": "IMAGE",
  616.           "links": []
  617.         }
  618.       ],
  619.       "properties": {
  620.         "cnr_id": "comfy-core",
  621.         "ver": "0.37.0",
  622.         "Node name for S&R": "PreviewImage"
  623.       }
  624.     },
  625.     {
  626.       "id": 589,
  627.       "type": "PrimitiveStringMultiline",
  628.       "pos": [
  629.         -597.0171018032268,
  630.         3106.991490911316
  631.       ],
  632.       "size": [
  633.         426.85413115009527,
  634.         396.49111069003163
  635.       ],
  636.       "flags": {},
  637.       "order": 5,
  638.       "mode": 0,
  639.       "inputs": [
  640.         {
  641.           "label": "character_description",
  642.           "name": "value",
  643.           "type": "STRING",
  644.           "widget": {
  645.             "name": "value"
  646.           },
  647.           "link": null
  648.         }
  649.       ],
  650.       "outputs": [
  651.         {
  652.           "name": "STRING",
  653.           "type": "STRING",
  654.           "links": [
  655.             1014
  656.           ]
  657.         }
  658.       ],
  659.       "title": "Character Description (Optional)",
  660.       "properties": {
  661.         "cnr_id": "comfy-core",
  662.         "ver": "0.37.0",
  663.         "Node name for S&R": "PrimitiveStringMultiline"
  664.       },
  665.       "widgets_values": [
  666.         "Ayaka is a dreamy, fragile teenage girl with a slender, graceful frame and fair, porcelain skin. Her figure is slender, with slender arms and legs and a small bust, accentuating her youth. Long black hair with vibrant rainbow highlights falls past her shoulders, framing a face with soft features and large amber eyes. She wears a loose, oversized white shirt that conceals her curves, a short, dark pleated skirt, white mid-calf socks, and chunky white sneakers, creating a contrast between her fragility and her voluminous clothing."
  667.       ],
  668.       "widgets_values_named": {
  669.         "value": "Ayaka is a dreamy, fragile teenage girl with a slender, graceful frame and fair, porcelain skin. Her figure is slender, with slender arms and legs and a small bust, accentuating her youth. Long black hair with vibrant rainbow highlights falls past her shoulders, framing a face with soft features and large amber eyes. She wears a loose, oversized white shirt that conceals her curves, a short, dark pleated skirt, white mid-calf socks, and chunky white sneakers, creating a contrast between her fragility and her voluminous clothing."
  670.       }
  671.     },
  672.     {
  673.       "id": 590,
  674.       "type": "MarkdownNote",
  675.       "pos": [
  676.         -1035.6694460742572,
  677.         3109.0552110187423
  678.       ],
  679.       "size": [
  680.         412.03066160437896,
  681.         194.17069631535415
  682.       ],
  683.       "flags": {},
  684.       "order": 6,
  685.       "mode": 0,
  686.       "inputs": [],
  687.       "outputs": [],
  688.       "title": "About Character Description",
  689.       "properties": {},
  690.       "widgets_values": [
  691.         "This parameter is optional and serves to describe the character—their personality, habits, what they usually do, their history, etc. This way, PE will know much more about your character and will be able to produce a result that is much more consistent with your wishes.\nPE never completes your image – if your character isn't shown in full height, PE won't complete it automatically. However, there is an exception: if you include body characteristics in the character description parameter, PE will be able to determine and complete your final prompt. You can find usage examples on this workflow's page on CivitAI."
  692.       ],
  693.       "widgets_values_named": {
  694.         "text": "This parameter is optional and serves to describe the character—their personality, habits, what they usually do, their history, etc. This way, PE will know much more about your character and will be able to produce a result that is much more consistent with your wishes.\nPE never completes your image – if your character isn't shown in full height, PE won't complete it automatically. However, there is an exception: if you include body characteristics in the character description parameter, PE will be able to determine and complete your final prompt. You can find usage examples on this workflow's page on CivitAI."
  695.       },
  696.       "color": "#432",
  697.       "bgcolor": "#653"
  698.     },
  699.     {
  700.       "id": 594,
  701.       "type": "MarkdownNote",
  702.       "pos": [
  703.         -1091.549111458042,
  704.         2357.0056235963193
  705.       ],
  706.       "size": [
  707.         467.73620766484567,
  708.         691.0586325270554
  709.       ],
  710.       "flags": {},
  711.       "order": 7,
  712.       "mode": 0,
  713.       "inputs": [],
  714.       "outputs": [],
  715.       "title": "Workflow Information",
  716.       "properties": {},
  717.       "widgets_values": [
  718.         "## About this Workflow\nThis workflow allows you to generate detailed **Character Design Sheets** from a single reference image. These sheets can later be used as reference frameworks for video generation models like **Seedance 2.5** or **MiniMax Hailuo H3**.\n\nIn my experience, Qwen Image 2.1 is the first open-source image editing model capable of natively generating clean, highly detailed character design sheets right out of the box.\n\n## Recommended Settings\n- **CLIP Encoder:** Use **FP32 / FP16 / BF16** precision for maximum image quality and prompt adherence. Tests show that INT8 and other lower-bit quantizations introduce noticeable artifacts and reduce image clarity. **Don't skimp on SSD space — install [qwen3vl_8b_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_bf16.safetensors)**.\n- **Sampler & Scheduler:** Use **res_2m + beta** to reduce artifacts and improve detail. While I haven't run extensive benchmarks on every combination, this pairing yielded the best results.\n- **Resolution (Megapixels):**\n  - **3.4 MP** — Sweet spot for speed and clarity.\n  - **6.0 MP** — Superior quality and detail, though generation time increases significantly.\n\n## How to Use\n1. **Install custom nodes** via ComfyUI Manager:\n   - [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes)\n   - [ComfyUI-DeGrid](https://github.com/lunaaispace-eng/ComfyUI-DeGrid)\n   - [ComfyUI-ThinkingLLM](https://github.com/goodguy1963/ComfyUI-ThinkingLLM) *If you don't want to use GGUF PE, you can skip installing this node and use workflow. `Character_Sheet_Simplify_native_pe.json`*.\n2. **Download GGUF PE I2I weights** and place them into `ComfyUI/models/LLM/GGUF/`.  \n   > **Important:** Both the **main PE model and the mmproj file** must be present in this folder, otherwise `ComfyUI-ThinkingLLM` will not detect it.\n3. **Run generation:** Load your reference image, select the path to the PE model, and start generating.\n\n## Useful Resources\n- **Official Qwen Image 2.1 Weight for ComfyUI:** [HuggingFace](https://huggingface.co/Comfy-Org/Qwen-Image-2.1)\n- **GGUF PE T2I:** [HuggingFace](https://huggingface.co/prithivMLmods/Qwen-Image-2.1-PE-T2I-GGUF) | **GGUF PE I2I:** [HuggingFace](https://huggingface.co/prithivMLmods/Qwen-Image-2.1-PE-I2I-GGUF)"
  719.       ],
  720.       "widgets_values_named": {
  721.         "text": "## About this Workflow\nThis workflow allows you to generate detailed **Character Design Sheets** from a single reference image. These sheets can later be used as reference frameworks for video generation models like **Seedance 2.5** or **MiniMax Hailuo H3**.\n\nIn my experience, Qwen Image 2.1 is the first open-source image editing model capable of natively generating clean, highly detailed character design sheets right out of the box.\n\n## Recommended Settings\n- **CLIP Encoder:** Use **FP32 / FP16 / BF16** precision for maximum image quality and prompt adherence. Tests show that INT8 and other lower-bit quantizations introduce noticeable artifacts and reduce image clarity. **Don't skimp on SSD space — install [qwen3vl_8b_bf16.safetensors](https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_bf16.safetensors)**.\n- **Sampler & Scheduler:** Use **res_2m + beta** to reduce artifacts and improve detail. While I haven't run extensive benchmarks on every combination, this pairing yielded the best results.\n- **Resolution (Megapixels):**\n  - **3.4 MP** — Sweet spot for speed and clarity.\n  - **6.0 MP** — Superior quality and detail, though generation time increases significantly.\n\n## How to Use\n1. **Install custom nodes** via ComfyUI Manager:\n   - [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes)\n   - [ComfyUI-DeGrid](https://github.com/lunaaispace-eng/ComfyUI-DeGrid)\n   - [ComfyUI-ThinkingLLM](https://github.com/goodguy1963/ComfyUI-ThinkingLLM) *If you don't want to use GGUF PE, you can skip installing this node and use workflow. `Character_Sheet_Simplify_native_pe.json`*.\n2. **Download GGUF PE I2I weights** and place them into `ComfyUI/models/LLM/GGUF/`.  \n   > **Important:** Both the **main PE model and the mmproj file** must be present in this folder, otherwise `ComfyUI-ThinkingLLM` will not detect it.\n3. **Run generation:** Load your reference image, select the path to the PE model, and start generating.\n\n## Useful Resources\n- **Official Qwen Image 2.1 Weight for ComfyUI:** [HuggingFace](https://huggingface.co/Comfy-Org/Qwen-Image-2.1)\n- **GGUF PE T2I:** [HuggingFace](https://huggingface.co/prithivMLmods/Qwen-Image-2.1-PE-T2I-GGUF) | **GGUF PE I2I:** [HuggingFace](https://huggingface.co/prithivMLmods/Qwen-Image-2.1-PE-I2I-GGUF)"
  722.       },
  723.       "color": "#223",
  724.       "bgcolor": "#335"
  725.     },
  726.     {
  727.       "id": 595,
  728.       "type": "MarkdownNote",
  729.       "pos": [
  730.         -1576.6635927416864,
  731.         2357.5486426812063
  732.       ],
  733.       "size": [
  734.         467.73620766484567,
  735.         691.0586325270554
  736.       ],
  737.       "flags": {},
  738.       "order": 8,
  739.       "mode": 0,
  740.       "inputs": [],
  741.       "outputs": [],
  742.       "title": "Changelog",
  743.       "properties": {},
  744.       "widgets_values": [
  745.         "### V2.0\nIn version 2.0, based on community feedback, I redesigned the workflow to be much more task-focused: minimal unnecessary typography, maximum focus on key character elements, body structure, and facial details. This layout makes it drastically easier for video generation models to read character details and maintain consistency.\n\n#### How It Works\nThe PE (Prompt Enhancer) generates 2 to 3 main panels:\n1. **Facial Expressions**\n2. **Poses**\n3. **Equipment & Accessories** *(optional)*\n\nThis amount of information is ideal for video models to produce coherent, high-quality results.\n\n**Layout Rules & Features:**\n1. **Faceless Entities:** If the object or character does not have a human face (e.g., mask, robot, inanimate object), only a single neutral close-up panel is generated.\n2. **Expression Variety:** The set of emotional expressions adapts to the character's backstory and description, but a **neutral expression always comes first**.\n3. **Gear & Accessories:** If accessories or gear are present, a separate 3rd panel displays them in detail, isolated from the main character.\n4. **`character_description` Parameter:** Helps the PE better understand character traits and posture. For instance, providing a description like *\"Ayaka is a slender, fragile girl. She is mostly shy, but occasionally gives a subtle smile\"* allows the PE to choose matching expressions and poses. This parameter is optional (the PE can infer details strictly from the image), but manually specifying details yields much higher accuracy.\n\n**Important Considerations:**\n1. **Input Image:** The workflow performs best when the reference image shows a full-body character facing forward. The PE is intentionally constrained from hallucinating missing body parts unless explicitly specified in the `character_description`. This prevents unwanted inconsistencies like altered height, age, or outfit details.\n2. **Two Workflow Variants:** They differ only in how the PE prompt is generated:\n   - **For GPUs with <12GB VRAM:** Use the standard version (without the `_native_pe` suffix).\n   - The official `Generate Text` node is currently unoptimized for Qwen 3.5 9B, which can cause prompt generation on lower-end hardware to exceed 30 minutes. The developers are aware of this issue and working on performance fixes.\n\n#### Summary of Changes (v2.0):\n- **Complete Redesign:** Shifted focus from purely stylistic/artistic design sheets to a functional, production-ready Character Design Sheet optimized for video models.\n- **Updated Text Field:** Replaced `entity_name` (name only) with `character_description` (full personality & detail specifications).\n- **Native PE Support:** Added a secondary workflow utilizing the official PE execution method.\n- **Usability:** Added clear explanatory comments inside the ComfyUI node graphs."
  746.       ],
  747.       "widgets_values_named": {
  748.         "text": "### V2.0\nIn version 2.0, based on community feedback, I redesigned the workflow to be much more task-focused: minimal unnecessary typography, maximum focus on key character elements, body structure, and facial details. This layout makes it drastically easier for video generation models to read character details and maintain consistency.\n\n#### How It Works\nThe PE (Prompt Enhancer) generates 2 to 3 main panels:\n1. **Facial Expressions**\n2. **Poses**\n3. **Equipment & Accessories** *(optional)*\n\nThis amount of information is ideal for video models to produce coherent, high-quality results.\n\n**Layout Rules & Features:**\n1. **Faceless Entities:** If the object or character does not have a human face (e.g., mask, robot, inanimate object), only a single neutral close-up panel is generated.\n2. **Expression Variety:** The set of emotional expressions adapts to the character's backstory and description, but a **neutral expression always comes first**.\n3. **Gear & Accessories:** If accessories or gear are present, a separate 3rd panel displays them in detail, isolated from the main character.\n4. **`character_description` Parameter:** Helps the PE better understand character traits and posture. For instance, providing a description like *\"Ayaka is a slender, fragile girl. She is mostly shy, but occasionally gives a subtle smile\"* allows the PE to choose matching expressions and poses. This parameter is optional (the PE can infer details strictly from the image), but manually specifying details yields much higher accuracy.\n\n**Important Considerations:**\n1. **Input Image:** The workflow performs best when the reference image shows a full-body character facing forward. The PE is intentionally constrained from hallucinating missing body parts unless explicitly specified in the `character_description`. This prevents unwanted inconsistencies like altered height, age, or outfit details.\n2. **Two Workflow Variants:** They differ only in how the PE prompt is generated:\n   - **For GPUs with <12GB VRAM:** Use the standard version (without the `_native_pe` suffix).\n   - The official `Generate Text` node is currently unoptimized for Qwen 3.5 9B, which can cause prompt generation on lower-end hardware to exceed 30 minutes. The developers are aware of this issue and working on performance fixes.\n\n#### Summary of Changes (v2.0):\n- **Complete Redesign:** Shifted focus from purely stylistic/artistic design sheets to a functional, production-ready Character Design Sheet optimized for video models.\n- **Updated Text Field:** Replaced `entity_name` (name only) with `character_description` (full personality & detail specifications).\n- **Native PE Support:** Added a secondary workflow utilizing the official PE execution method.\n- **Usability:** Added clear explanatory comments inside the ComfyUI node graphs."
  749.       },
  750.       "color": "#232",
  751.       "bgcolor": "#353"
  752.     }
  753.   ],
  754.   "links": [
  755.     [
  756.       1007,
  757.       583,
  758.       0,
  759.       578,
  760.       0,
  761.       "STRING"
  762.     ],
  763.     [
  764.       1008,
  765.       577,
  766.       0,
  767.       578,
  768.       2,
  769.       "INT"
  770.     ],
  771.     [
  772.       1009,
  773.       577,
  774.       1,
  775.       578,
  776.       3,
  777.       "INT"
  778.     ],
  779.     [
  780.       1010,
  781.       581,
  782.       0,
  783.       578,
  784.       6,
  785.       "IMAGE"
  786.     ],
  787.     [
  788.       1012,
  789.       580,
  790.       0,
  791.       581,
  792.       0,
  793.       "IMAGE"
  794.     ],
  795.     [
  796.       1013,
  797.       581,
  798.       0,
  799.       582,
  800.       0,
  801.       "IMAGE"
  802.     ],
  803.     [
  804.       1014,
  805.       589,
  806.       0,
  807.       582,
  808.       1,
  809.       "STRING"
  810.     ],
  811.     [
  812.       1015,
  813.       582,
  814.       0,
  815.       583,
  816.       0,
  817.       "STRING"
  818.     ],
  819.     [
  820.       1016,
  821.       580,
  822.       0,
  823.       587,
  824.       0,
  825.       "IMAGE"
  826.     ],
  827.     [
  828.       1017,
  829.       578,
  830.       0,
  831.       587,
  832.       1,
  833.       "IMAGE"
  834.     ],
  835.     [
  836.       1018,
  837.       587,
  838.       0,
  839.       588,
  840.       0,
  841.       "IMAGE"
  842.     ],
  843.     [
  844.       1011,
  845.       578,
  846.       0,
  847.       579,
  848.       0,
  849.       "IMAGE"
  850.     ]
  851.   ],
  852.   "groups": [],
  853.   "definitions": {
  854.     "subgraphs": [
  855.       {
  856.         "id": "99ba1998-bf35-4a70-b4e7-47d3c8f10d3d",
  857.         "version": 1,
  858.         "state": {
  859.           "lastGroupId": 39,
  860.           "lastNodeId": 595,
  861.           "lastLinkId": 1018,
  862.           "lastRerouteId": 10
  863.         },
  864.         "revision": 0,
  865.         "config": {},
  866.         "name": "Image Edit (Qwen Image 2.1)",
  867.         "inputNode": {
  868.           "id": -10,
  869.           "bounding": [
  870.             -720,
  871.             630,
  872.             138.68333435058594,
  873.             288
  874.           ]
  875.         },
  876.         "outputNode": {
  877.           "id": -20,
  878.           "bounding": [
  879.             1960,
  880.             640,
  881.             128,
  882.             68
  883.           ]
  884.         },
  885.         "inputs": [
  886.           {
  887.             "id": "6a73de3b-f4cd-43a4-9076-76648c6902f0",
  888.             "name": "prompt",
  889.             "type": "STRING",
  890.             "linkIds": [
  891.               974
  892.             ],
  893.             "localized_name": "prompt",
  894.             "label": "positive_prompt",
  895.             "pos": [
  896.               -605.3166656494141,
  897.               654
  898.             ]
  899.           },
  900.           {
  901.             "id": "1f3911c3-71b5-45b7-9a0e-4ac7285069dc",
  902.             "name": "resolution",
  903.             "type": "INT",
  904.             "linkIds": [
  905.               973
  906.             ],
  907.             "pos": [
  908.               -605.3166656494141,
  909.               674
  910.             ]
  911.           },
  912.           {
  913.             "id": "349c3f72-ba7a-4277-84ff-8029faa16019",
  914.             "name": "steps",
  915.             "type": "INT",
  916.             "linkIds": [
  917.               659
  918.             ],
  919.             "label": "steps",
  920.             "pos": [
  921.               -605.3166656494141,
  922.               694
  923.             ]
  924.           },
  925.           {
  926.             "id": "91c96cf8-057b-4da2-b71e-305541a3527e",
  927.             "name": "width",
  928.             "type": "INT",
  929.             "linkIds": [
  930.               660
  931.             ],
  932.             "localized_name": "width",
  933.             "pos": [
  934.               -605.3166656494141,
  935.               714
  936.             ]
  937.           },
  938.           {
  939.             "id": "661cc520-6bd0-4925-90ec-cecaa188b57d",
  940.             "name": "height",
  941.             "type": "INT",
  942.             "linkIds": [
  943.               661
  944.             ],
  945.             "localized_name": "height",
  946.             "pos": [
  947.               -605.3166656494141,
  948.               734
  949.             ]
  950.           },
  951.           {
  952.             "id": "9f0e91b8-5a4a-4f5a-a2a4-4ddc180df0fd",
  953.             "name": "scheduler",
  954.             "type": "COMBO",
  955.             "linkIds": [
  956.               662
  957.             ],
  958.             "label": "sampler",
  959.             "pos": [
  960.               -605.3166656494141,
  961.               754
  962.             ]
  963.           },
  964.           {
  965.             "id": "4710583f-3cb0-4091-87ab-dadd8a2e657c",
  966.             "name": "scheduler_1",
  967.             "type": "COMBO",
  968.             "linkIds": [
  969.               668
  970.             ],
  971.             "label": "scheduler",
  972.             "pos": [
  973.               -605.3166656494141,
  974.               774
  975.             ]
  976.           },
  977.           {
  978.             "id": "977ce57d-3764-491c-8d2d-543754cfbaf1",
  979.             "name": "seed",
  980.             "type": "INT",
  981.             "linkIds": [
  982.               667
  983.             ],
  984.             "pos": [
  985.               -605.3166656494141,
  986.               794
  987.             ]
  988.           },
  989.           {
  990.             "id": "143494fb-a40e-423f-be3b-ecc808b408b0",
  991.             "name": "unet_name",
  992.             "type": "COMBO",
  993.             "linkIds": [
  994.               663
  995.             ],
  996.             "pos": [
  997.               -605.3166656494141,
  998.               814
  999.             ]
  1000.           },
  1001.           {
  1002.             "id": "d8528289-e121-45ed-9c31-e6370ce4ba5e",
  1003.             "name": "clip_name",
  1004.             "type": "COMBO",
  1005.             "linkIds": [
  1006.               664
  1007.             ],
  1008.             "pos": [
  1009.               -605.3166656494141,
  1010.               834
  1011.             ]
  1012.           },
  1013.           {
  1014.             "id": "f03d1fb0-d592-4997-b55e-e7a2549c36e5",
  1015.             "name": "vae_name",
  1016.             "type": "COMBO",
  1017.             "linkIds": [
  1018.               665
  1019.             ],
  1020.             "pos": [
  1021.               -605.3166656494141,
  1022.               854
  1023.             ]
  1024.           },
  1025.           {
  1026.             "id": "6bbe4c8a-0ce9-4576-9468-697a165b98b4",
  1027.             "name": "images.image_1",
  1028.             "type": "IMAGE",
  1029.             "linkIds": [
  1030.               977
  1031.             ],
  1032.             "label": "image_1",
  1033.             "pos": [
  1034.               -605.3166656494141,
  1035.               874
  1036.             ]
  1037.           }
  1038.         ],
  1039.         "outputs": [
  1040.           {
  1041.             "id": "f6f3effc-0961-4c17-b52c-a77c16ca6aa4",
  1042.             "name": "IMAGE",
  1043.             "type": "IMAGE",
  1044.             "linkIds": [
  1045.               742
  1046.             ],
  1047.             "localized_name": "IMAGE",
  1048.             "pos": [
  1049.               1984,
  1050.               664
  1051.             ]
  1052.           }
  1053.         ],
  1054.         "widgets": [],
  1055.         "nodes": [
  1056.           {
  1057.             "id": 451,
  1058.             "type": "UNETLoader",
  1059.             "pos": [
  1060.               -190,
  1061.               410
  1062.             ],
  1063.             "size": [
  1064.               510,
  1065.               90
  1066.             ],
  1067.             "flags": {},
  1068.             "order": 0,
  1069.             "mode": 0,
  1070.             "inputs": [
  1071.               {
  1072.                 "localized_name": "unet_name",
  1073.                 "name": "unet_name",
  1074.                 "type": "COMBO",
  1075.                 "widget": {
  1076.                   "name": "unet_name"
  1077.                 },
  1078.                 "link": 663
  1079.               }
  1080.             ],
  1081.             "outputs": [
  1082.               {
  1083.                 "localized_name": "MODEL",
  1084.                 "name": "MODEL",
  1085.                 "type": "MODEL",
  1086.                 "links": [
  1087.                   996
  1088.                 ]
  1089.               }
  1090.             ],
  1091.             "properties": {
  1092.               "cnr_id": "comfy-core",
  1093.               "ver": "0.36.0",
  1094.               "Node name for S&R": "UNETLoader",
  1095.               "models": [
  1096.                 {
  1097.                   "name": "qwen_image_2.1_int8_convrot.safetensors",
  1098.                   "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/diffusion_models/qwen_image_2.1_int8_convrot.safetensors",
  1099.                   "directory": "diffusion_models"
  1100.                 }
  1101.               ]
  1102.             },
  1103.             "widgets_values": [
  1104.               "qwen_image_2.1_int8_convrot.safetensors",
  1105.               "default"
  1106.             ],
  1107.             "widgets_values_named": {
  1108.               "unet_name": "qwen_image_2.1_int8_convrot.safetensors",
  1109.               "weight_dtype": "default"
  1110.             }
  1111.           },
  1112.           {
  1113.             "id": 453,
  1114.             "type": "CLIPLoader",
  1115.             "pos": [
  1116.               -190,
  1117.               570
  1118.             ],
  1119.             "size": [
  1120.               510,
  1121.               120
  1122.             ],
  1123.             "flags": {},
  1124.             "order": 1,
  1125.             "mode": 0,
  1126.             "inputs": [
  1127.               {
  1128.                 "localized_name": "clip_name",
  1129.                 "name": "clip_name",
  1130.                 "type": "COMBO",
  1131.                 "widget": {
  1132.                   "name": "clip_name"
  1133.                 },
  1134.                 "link": 664
  1135.               }
  1136.             ],
  1137.             "outputs": [
  1138.               {
  1139.                 "localized_name": "CLIP",
  1140.                 "name": "CLIP",
  1141.                 "type": "CLIP",
  1142.                 "links": [
  1143.                   976
  1144.                 ]
  1145.               }
  1146.             ],
  1147.             "properties": {
  1148.               "cnr_id": "comfy-core",
  1149.               "ver": "0.36.0",
  1150.               "Node name for S&R": "CLIPLoader",
  1151.               "models": [
  1152.                 {
  1153.                   "name": "qwen3vl_8b_bf16.safetensors",
  1154.                   "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/text_encoders/qwen3vl_8b_bf16.safetensors",
  1155.                   "directory": "text_encoders"
  1156.                 }
  1157.               ]
  1158.             },
  1159.             "widgets_values": [
  1160.               "qwen3vl_8b_bf16.safetensors",
  1161.               "qwen_image",
  1162.               "default"
  1163.             ],
  1164.             "widgets_values_named": {
  1165.               "clip_name": "qwen3vl_8b_bf16.safetensors",
  1166.               "type": "qwen_image",
  1167.               "device": "default"
  1168.             }
  1169.           },
  1170.           {
  1171.             "id": 454,
  1172.             "type": "VAELoader",
  1173.             "pos": [
  1174.               -190,
  1175.               770
  1176.             ],
  1177.             "size": [
  1178.               510,
  1179.               70
  1180.             ],
  1181.             "flags": {},
  1182.             "order": 2,
  1183.             "mode": 0,
  1184.             "inputs": [
  1185.               {
  1186.                 "localized_name": "vae_name",
  1187.                 "name": "vae_name",
  1188.                 "type": "COMBO",
  1189.                 "widget": {
  1190.                   "name": "vae_name"
  1191.                 },
  1192.                 "link": 665
  1193.               }
  1194.             ],
  1195.             "outputs": [
  1196.               {
  1197.                 "localized_name": "VAE",
  1198.                 "name": "VAE",
  1199.                 "type": "VAE",
  1200.                 "links": [
  1201.                   649,
  1202.                   978
  1203.                 ]
  1204.               }
  1205.             ],
  1206.             "properties": {
  1207.               "cnr_id": "comfy-core",
  1208.               "ver": "0.36.0",
  1209.               "Node name for S&R": "VAELoader",
  1210.               "models": [
  1211.                 {
  1212.                   "name": "qwen_image_2.1_vae_bf16.safetensors",
  1213.                   "url": "https://huggingface.co/Comfy-Org/Qwen-Image-2.1/resolve/main/vae/qwen_image_2.1_vae_bf16.safetensors",
  1214.                   "directory": "vae"
  1215.                 }
  1216.               ]
  1217.             },
  1218.             "widgets_values": [
  1219.               "qwen_image_2.1_vae_bf16.safetensors"
  1220.             ],
  1221.             "widgets_values_named": {
  1222.               "vae_name": "qwen_image_2.1_vae_bf16.safetensors"
  1223.             }
  1224.           },
  1225.           {
  1226.             "id": 456,
  1227.             "type": "EmptyLatentImage",
  1228.             "pos": [
  1229.               -70,
  1230.               1010
  1231.             ],
  1232.             "size": [
  1233.               300,
  1234.               120
  1235.             ],
  1236.             "flags": {},
  1237.             "order": 3,
  1238.             "mode": 0,
  1239.             "inputs": [
  1240.               {
  1241.                 "localized_name": "width",
  1242.                 "name": "width",
  1243.                 "type": "INT",
  1244.                 "widget": {
  1245.                   "name": "width"
  1246.                 },
  1247.                 "link": 660
  1248.               },
  1249.               {
  1250.                 "localized_name": "height",
  1251.                 "name": "height",
  1252.                 "type": "INT",
  1253.                 "widget": {
  1254.                   "name": "height"
  1255.                 },
  1256.                 "link": 661
  1257.               }
  1258.             ],
  1259.             "outputs": [
  1260.               {
  1261.                 "localized_name": "LATENT",
  1262.                 "name": "LATENT",
  1263.                 "type": "LATENT",
  1264.                 "links": [
  1265.                   972
  1266.                 ]
  1267.               }
  1268.             ],
  1269.             "properties": {
  1270.               "cnr_id": "comfy-core",
  1271.               "ver": "0.36.0",
  1272.               "Node name for S&R": "EmptyLatentImage"
  1273.             },
  1274.             "widgets_values": [
  1275.               1024,
  1276.               1024,
  1277.               1
  1278.             ],
  1279.             "widgets_values_named": {
  1280.               "width": 1024,
  1281.               "height": 1024,
  1282.               "batch_size": 1
  1283.             }
  1284.           },
  1285.           {
  1286.             "id": 457,
  1287.             "type": "VAEDecode",
  1288.             "pos": [
  1289.               1620,
  1290.               660
  1291.             ],
  1292.             "size": [
  1293.               230,
  1294.               60
  1295.             ],
  1296.             "flags": {},
  1297.             "order": 4,
  1298.             "mode": 0,
  1299.             "inputs": [
  1300.               {
  1301.                 "localized_name": "samples",
  1302.                 "name": "samples",
  1303.                 "type": "LATENT",
  1304.                 "link": 651
  1305.               },
  1306.               {
  1307.                 "localized_name": "vae",
  1308.                 "name": "vae",
  1309.                 "type": "VAE",
  1310.                 "link": 649
  1311.               }
  1312.             ],
  1313.             "outputs": [
  1314.               {
  1315.                 "localized_name": "IMAGE",
  1316.                 "name": "IMAGE",
  1317.                 "type": "IMAGE",
  1318.                 "links": [
  1319.                   741
  1320.                 ]
  1321.               }
  1322.             ],
  1323.             "properties": {
  1324.               "cnr_id": "comfy-core",
  1325.               "ver": "0.36.0",
  1326.               "Node name for S&R": "VAEDecode"
  1327.             }
  1328.           },
  1329.           {
  1330.             "id": 458,
  1331.             "type": "KSampler",
  1332.             "pos": [
  1333.               1180,
  1334.               640
  1335.             ],
  1336.             "size": [
  1337.               270,
  1338.               270
  1339.             ],
  1340.             "flags": {},
  1341.             "order": 5,
  1342.             "mode": 0,
  1343.             "inputs": [
  1344.               {
  1345.                 "localized_name": "model",
  1346.                 "name": "model",
  1347.                 "type": "MODEL",
  1348.                 "link": 689
  1349.               },
  1350.               {
  1351.                 "localized_name": "positive",
  1352.                 "name": "positive",
  1353.                 "type": "CONDITIONING",
  1354.                 "link": 979
  1355.               },
  1356.               {
  1357.                 "localized_name": "negative",
  1358.                 "name": "negative",
  1359.                 "type": "CONDITIONING",
  1360.                 "link": 980
  1361.               },
  1362.               {
  1363.                 "localized_name": "latent_image",
  1364.                 "name": "latent_image",
  1365.                 "type": "LATENT",
  1366.                 "link": 972
  1367.               },
  1368.               {
  1369.                 "localized_name": "seed",
  1370.                 "name": "seed",
  1371.                 "type": "INT",
  1372.                 "widget": {
  1373.                   "name": "seed"
  1374.                 },
  1375.                 "link": 667
  1376.               },
  1377.               {
  1378.                 "localized_name": "steps",
  1379.                 "name": "steps",
  1380.                 "type": "INT",
  1381.                 "widget": {
  1382.                   "name": "steps"
  1383.                 },
  1384.                 "link": 659
  1385.               },
  1386.               {
  1387.                 "localized_name": "sampler_name",
  1388.                 "name": "sampler_name",
  1389.                 "type": "COMBO",
  1390.                 "widget": {
  1391.                   "name": "sampler_name"
  1392.                 },
  1393.                 "link": 662
  1394.               },
  1395.               {
  1396.                 "localized_name": "scheduler",
  1397.                 "name": "scheduler",
  1398.                 "type": "COMBO",
  1399.                 "widget": {
  1400.                   "name": "scheduler"
  1401.                 },
  1402.                 "link": 668
  1403.               }
  1404.             ],
  1405.             "outputs": [
  1406.               {
  1407.                 "localized_name": "LATENT",
  1408.                 "name": "LATENT",
  1409.                 "type": "LATENT",
  1410.                 "links": [
  1411.                   651
  1412.                 ]
  1413.               }
  1414.             ],
  1415.             "properties": {
  1416.               "cnr_id": "comfy-core",
  1417.               "ver": "0.36.0",
  1418.               "Node name for S&R": "KSampler"
  1419.             },
  1420.             "widgets_values": [
  1421.               0,
  1422.               "fixed",
  1423.               25,
  1424.               1,
  1425.               "euler",
  1426.               "simple",
  1427.               1
  1428.             ],
  1429.             "widgets_values_named": {
  1430.               "seed": 0,
  1431.               "control_after_generate": "fixed",
  1432.               "steps": 25,
  1433.               "cfg": 1,
  1434.               "sampler_name": "euler",
  1435.               "scheduler": "simple",
  1436.               "denoise": 1
  1437.             }
  1438.           },
  1439.           {
  1440.             "id": 469,
  1441.             "type": "QwenImage21Cache",
  1442.             "pos": [
  1443.               1180,
  1444.               460
  1445.             ],
  1446.             "size": [
  1447.               270,
  1448.               90
  1449.             ],
  1450.             "flags": {},
  1451.             "order": 6,
  1452.             "mode": 0,
  1453.             "inputs": [
  1454.               {
  1455.                 "localized_name": "model",
  1456.                 "name": "model",
  1457.                 "type": "MODEL",
  1458.                 "link": 730
  1459.               }
  1460.             ],
  1461.             "outputs": [
  1462.               {
  1463.                 "localized_name": "MODEL",
  1464.                 "name": "MODEL",
  1465.                 "type": "MODEL",
  1466.                 "links": [
  1467.                   689
  1468.                 ]
  1469.               }
  1470.             ],
  1471.             "properties": {
  1472.               "cnr_id": "comfy-core",
  1473.               "ver": "0.36.0",
  1474.               "Node name for S&R": "QwenImage21Cache"
  1475.             },
  1476.             "widgets_values": [
  1477.               "auto",
  1478.               "default"
  1479.             ],
  1480.             "widgets_values_named": {
  1481.               "device": "auto",
  1482.               "dtype": "default"
  1483.             }
  1484.           },
  1485.           {
  1486.             "id": 476,
  1487.             "type": "ModelAttentionBackend",
  1488.             "pos": [
  1489.               1186.6907894736844,
  1490.               174.92982456140354
  1491.             ],
  1492.             "size": [
  1493.               270,
  1494.               58
  1495.             ],
  1496.             "flags": {},
  1497.             "order": 7,
  1498.             "mode": 0,
  1499.             "inputs": [
  1500.               {
  1501.                 "localized_name": "model",
  1502.                 "name": "model",
  1503.                 "type": "MODEL",
  1504.                 "link": 996
  1505.               }
  1506.             ],
  1507.             "outputs": [
  1508.               {
  1509.                 "localized_name": "model",
  1510.                 "name": "model",
  1511.                 "type": "MODEL",
  1512.                 "links": [
  1513.                   730
  1514.                 ]
  1515.               }
  1516.             ],
  1517.             "properties": {
  1518.               "cnr_id": "comfy-core",
  1519.               "ver": "0.36.0",
  1520.               "Node name for S&R": "ModelAttentionBackend"
  1521.             },
  1522.             "widgets_values": [
  1523.               "comfy kitchen attention"
  1524.             ],
  1525.             "widgets_values_named": {
  1526.               "attention": "comfy kitchen attention"
  1527.             }
  1528.           },
  1529.           {
  1530.             "id": 484,
  1531.             "type": "VAEDeGrid",
  1532.             "pos": [
  1533.               1589.954387490791,
  1534.               801.0614035087723
  1535.             ],
  1536.             "size": [
  1537.               284.84999694824216,
  1538.               198
  1539.             ],
  1540.             "flags": {},
  1541.             "order": 8,
  1542.             "mode": 0,
  1543.             "inputs": [
  1544.               {
  1545.                 "localized_name": "image",
  1546.                 "name": "image",
  1547.                 "type": "IMAGE",
  1548.                 "link": 741
  1549.               }
  1550.             ],
  1551.             "outputs": [
  1552.               {
  1553.                 "localized_name": "image",
  1554.                 "name": "image",
  1555.                 "type": "IMAGE",
  1556.                 "links": [
  1557.                   742
  1558.                 ]
  1559.               },
  1560.               {
  1561.                 "localized_name": "removed_grid",
  1562.                 "name": "removed_grid",
  1563.                 "type": "IMAGE",
  1564.                 "links": null
  1565.               }
  1566.             ],
  1567.             "properties": {
  1568.               "aux_id": "lunaaispace-eng/ComfyUI-DeGrid",
  1569.               "ver": "5699bc33f71e1be12523fdea105cc9c2abfe1cd0",
  1570.               "Node name for S&R": "VAEDeGrid"
  1571.             },
  1572.             "widgets_values": [
  1573.               true,
  1574.               "auto",
  1575.               0.02,
  1576.               true,
  1577.               10,
  1578.               "4x zoom"
  1579.             ],
  1580.             "widgets_values_named": {
  1581.               "enabled": true,
  1582.               "mode": "auto",
  1583.               "limit": 0.02,
  1584.               "skip_when_clean": true,
  1585.               "grid_gain": 10,
  1586.               "grid_view": "4x zoom"
  1587.             }
  1588.           },
  1589.           {
  1590.             "id": 557,
  1591.             "type": "TextEncodeQwenImage21",
  1592.             "pos": [
  1593.               506.61230910680064,
  1594.               602.8646523635018
  1595.             ],
  1596.             "size": [
  1597.               460,
  1598.               286
  1599.             ],
  1600.             "flags": {},
  1601.             "order": 9,
  1602.             "mode": 0,
  1603.             "inputs": [
  1604.               {
  1605.                 "localized_name": "clip",
  1606.                 "name": "clip",
  1607.                 "type": "CLIP",
  1608.                 "link": 976
  1609.               },
  1610.               {
  1611.                 "localized_name": "image_1",
  1612.                 "name": "images.image_1",
  1613.                 "shape": 7,
  1614.                 "type": "IMAGE",
  1615.                 "link": 977
  1616.               },
  1617.               {
  1618.                 "localized_name": "image_2",
  1619.                 "name": "images.image_2",
  1620.                 "shape": 7,
  1621.                 "type": "IMAGE",
  1622.                 "link": null
  1623.               },
  1624.               {
  1625.                 "localized_name": "image_3",
  1626.                 "name": "images.image_3",
  1627.                 "shape": 7,
  1628.                 "type": "IMAGE",
  1629.                 "link": null
  1630.               },
  1631.               {
  1632.                 "localized_name": "image_4",
  1633.                 "name": "images.image_4",
  1634.                 "shape": 7,
  1635.                 "type": "IMAGE",
  1636.                 "link": null
  1637.               },
  1638.               {
  1639.                 "localized_name": "vae",
  1640.                 "name": "vae",
  1641.                 "shape": 7,
  1642.                 "type": "VAE",
  1643.                 "link": 978
  1644.               },
  1645.               {
  1646.                 "localized_name": "prompt",
  1647.                 "name": "prompt",
  1648.                 "type": "STRING",
  1649.                 "widget": {
  1650.                   "name": "prompt"
  1651.                 },
  1652.                 "link": 974
  1653.               },
  1654.               {
  1655.                 "localized_name": "resolution",
  1656.                 "name": "resolution",
  1657.                 "type": "INT",
  1658.                 "widget": {
  1659.                   "name": "resolution"
  1660.                 },
  1661.                 "link": 973
  1662.               }
  1663.             ],
  1664.             "outputs": [
  1665.               {
  1666.                 "localized_name": "positive",
  1667.                 "name": "positive",
  1668.                 "type": "CONDITIONING",
  1669.                 "links": [
  1670.                   979
  1671.                 ]
  1672.               },
  1673.               {
  1674.                 "localized_name": "negative",
  1675.                 "name": "negative",
  1676.                 "type": "CONDITIONING",
  1677.                 "links": [
  1678.                   980
  1679.                 ]
  1680.               },
  1681.               {
  1682.                 "localized_name": "latent",
  1683.                 "name": "latent",
  1684.                 "type": "LATENT",
  1685.                 "links": null
  1686.               }
  1687.             ],
  1688.             "properties": {
  1689.               "cnr_id": "comfy-core",
  1690.               "ver": "0.36.0",
  1691.               "Node name for S&R": "TextEncodeQwenImage21"
  1692.             },
  1693.             "widgets_values": [
  1694.               "",
  1695.               "",
  1696.               1024
  1697.             ],
  1698.             "widgets_values_named": {
  1699.               "prompt": "",
  1700.               "negative_prompt": "",
  1701.               "resolution": 1024
  1702.             }
  1703.           }
  1704.         ],
  1705.         "groups": [
  1706.           {
  1707.             "id": 34,
  1708.             "title": "Models",
  1709.             "bounding": [
  1710.               -200,
  1711.               300,
  1712.               530,
  1713.               590
  1714.             ],
  1715.             "color": "#3f789e",
  1716.             "flags": {}
  1717.           },
  1718.           {
  1719.             "id": 35,
  1720.             "title": "Image Size",
  1721.             "bounding": [
  1722.               -200,
  1723.               920,
  1724.               530,
  1725.               250
  1726.             ],
  1727.             "color": "#3f789e",
  1728.             "flags": {}
  1729.           },
  1730.           {
  1731.             "id": 36,
  1732.             "title": "Conditioning",
  1733.             "bounding": [
  1734.               360,
  1735.               300,
  1736.               700,
  1737.               860
  1738.             ],
  1739.             "color": "#3f789e",
  1740.             "flags": {}
  1741.           },
  1742.           {
  1743.             "id": 37,
  1744.             "title": "Sampling",
  1745.             "bounding": [
  1746.               1090,
  1747.               300,
  1748.               470,
  1749.               860
  1750.             ],
  1751.             "color": "#3f789e",
  1752.             "flags": {}
  1753.           }
  1754.         ],
  1755.         "links": [
  1756.           {
  1757.             "id": 649,
  1758.             "origin_id": 454,
  1759.             "origin_slot": 0,
  1760.             "target_id": 457,
  1761.             "target_slot": 1,
  1762.             "type": "VAE"
  1763.           },
  1764.           {
  1765.             "id": 651,
  1766.             "origin_id": 458,
  1767.             "origin_slot": 0,
  1768.             "target_id": 457,
  1769.             "target_slot": 0,
  1770.             "type": "LATENT"
  1771.           },
  1772.           {
  1773.             "id": 689,
  1774.             "origin_id": 469,
  1775.             "origin_slot": 0,
  1776.             "target_id": 458,
  1777.             "target_slot": 0,
  1778.             "type": "MODEL"
  1779.           },
  1780.           {
  1781.             "id": 730,
  1782.             "origin_id": 476,
  1783.             "origin_slot": 0,
  1784.             "target_id": 469,
  1785.             "target_slot": 0,
  1786.             "type": "MODEL"
  1787.           },
  1788.           {
  1789.             "id": 741,
  1790.             "origin_id": 457,
  1791.             "origin_slot": 0,
  1792.             "target_id": 484,
  1793.             "target_slot": 0,
  1794.             "type": "IMAGE"
  1795.           },
  1796.           {
  1797.             "id": 742,
  1798.             "origin_id": 484,
  1799.             "origin_slot": 0,
  1800.             "target_id": -20,
  1801.             "target_slot": 0,
  1802.             "type": "IMAGE"
  1803.           },
  1804.           {
  1805.             "id": 972,
  1806.             "origin_id": 456,
  1807.             "origin_slot": 0,
  1808.             "target_id": 458,
  1809.             "target_slot": 3,
  1810.             "type": "LATENT"
  1811.           },
  1812.           {
  1813.             "id": 979,
  1814.             "origin_id": 557,
  1815.             "origin_slot": 0,
  1816.             "target_id": 458,
  1817.             "target_slot": 1,
  1818.             "type": "CONDITIONING"
  1819.           },
  1820.           {
  1821.             "id": 980,
  1822.             "origin_id": 557,
  1823.             "origin_slot": 1,
  1824.             "target_id": 458,
  1825.             "target_slot": 2,
  1826.             "type": "CONDITIONING"
  1827.           },
  1828.           {
  1829.             "id": 659,
  1830.             "origin_id": -10,
  1831.             "origin_slot": 2,
  1832.             "target_id": 458,
  1833.             "target_slot": 5,
  1834.             "type": "INT"
  1835.           },
  1836.           {
  1837.             "id": 660,
  1838.             "origin_id": -10,
  1839.             "origin_slot": 3,
  1840.             "target_id": 456,
  1841.             "target_slot": 0,
  1842.             "type": "INT"
  1843.           },
  1844.           {
  1845.             "id": 661,
  1846.             "origin_id": -10,
  1847.             "origin_slot": 4,
  1848.             "target_id": 456,
  1849.             "target_slot": 1,
  1850.             "type": "INT"
  1851.           },
  1852.           {
  1853.             "id": 667,
  1854.             "origin_id": -10,
  1855.             "origin_slot": 7,
  1856.             "target_id": 458,
  1857.             "target_slot": 4,
  1858.             "type": "INT"
  1859.           },
  1860.           {
  1861.             "id": 663,
  1862.             "origin_id": -10,
  1863.             "origin_slot": 8,
  1864.             "target_id": 451,
  1865.             "target_slot": 0,
  1866.             "type": "COMBO"
  1867.           },
  1868.           {
  1869.             "id": 664,
  1870.             "origin_id": -10,
  1871.             "origin_slot": 9,
  1872.             "target_id": 453,
  1873.             "target_slot": 0,
  1874.             "type": "COMBO"
  1875.           },
  1876.           {
  1877.             "id": 665,
  1878.             "origin_id": -10,
  1879.             "origin_slot": 10,
  1880.             "target_id": 454,
  1881.             "target_slot": 0,
  1882.             "type": "COMBO"
  1883.           },
  1884.           {
  1885.             "id": 996,
  1886.             "origin_id": 451,
  1887.             "origin_slot": 0,
  1888.             "target_id": 476,
  1889.             "target_slot": 0,
  1890.             "type": "MODEL"
  1891.           },
  1892.           {
  1893.             "id": 662,
  1894.             "origin_id": -10,
  1895.             "origin_slot": 5,
  1896.             "target_id": 458,
  1897.             "target_slot": 6,
  1898.             "type": "COMBO"
  1899.           },
  1900.           {
  1901.             "id": 668,
  1902.             "origin_id": -10,
  1903.             "origin_slot": 6,
  1904.             "target_id": 458,
  1905.             "target_slot": 7,
  1906.             "type": "COMBO"
  1907.           },
  1908.           {
  1909.             "id": 976,
  1910.             "origin_id": 453,
  1911.             "origin_slot": 0,
  1912.             "target_id": 557,
  1913.             "target_slot": 0,
  1914.             "type": "CLIP"
  1915.           },
  1916.           {
  1917.             "id": 977,
  1918.             "origin_id": -10,
  1919.             "origin_slot": 11,
  1920.             "target_id": 557,
  1921.             "target_slot": 1,
  1922.             "type": "IMAGE"
  1923.           },
  1924.           {
  1925.             "id": 978,
  1926.             "origin_id": 454,
  1927.             "origin_slot": 0,
  1928.             "target_id": 557,
  1929.             "target_slot": 5,
  1930.             "type": "VAE"
  1931.           },
  1932.           {
  1933.             "id": 974,
  1934.             "origin_id": -10,
  1935.             "origin_slot": 0,
  1936.             "target_id": 557,
  1937.             "target_slot": 6,
  1938.             "type": "STRING"
  1939.           },
  1940.           {
  1941.             "id": 973,
  1942.             "origin_id": -10,
  1943.             "origin_slot": 1,
  1944.             "target_id": 557,
  1945.             "target_slot": 7,
  1946.             "type": "INT"
  1947.           }
  1948.         ],
  1949.         "extra": {}
  1950.       },
  1951.       {
  1952.         "id": "7156bd05-9291-46df-8053-b02d1f088ec6",
  1953.         "version": 1,
  1954.         "state": {
  1955.           "lastGroupId": 39,
  1956.           "lastNodeId": 595,
  1957.           "lastLinkId": 1018,
  1958.           "lastRerouteId": 10
  1959.         },
  1960.         "revision": 0,
  1961.         "config": {},
  1962.         "name": "Character Sheet Prompt Maker",
  1963.         "inputNode": {
  1964.           "id": -10,
  1965.           "bounding": [
  1966.             33.948255290910495,
  1967.             4521.601235388505,
  1968.             171.11666870117188,
  1969.             208
  1970.           ]
  1971.         },
  1972.         "outputNode": {
  1973.           "id": -20,
  1974.           "bounding": [
  1975.             1786.3622409827458,
  1976.             4453.315893197332,
  1977.             128,
  1978.             68
  1979.           ]
  1980.         },
  1981.         "inputs": [
  1982.           {
  1983.             "id": "4f0e9ff2-efb9-476e-a8de-9aa12a2db938",
  1984.             "name": "image",
  1985.             "type": "IMAGE",
  1986.             "linkIds": [
  1987.               954
  1988.             ],
  1989.             "localized_name": "image",
  1990.             "shape": 7,
  1991.             "pos": [
  1992.               181.06492399208236,
  1993.               4545.601235388505
  1994.             ]
  1995.           },
  1996.           {
  1997.             "id": "5b1b13af-4eb7-4aeb-8914-68810b1cff9c",
  1998.             "name": "model_name",
  1999.             "type": "COMBO",
  2000.             "linkIds": [
  2001.               964
  2002.             ],
  2003.             "pos": [
  2004.               181.06492399208236,
  2005.               4565.601235388505
  2006.             ]
  2007.           },
  2008.           {
  2009.             "id": "345ed3d1-a788-41b4-94d9-c0d90197d5a2",
  2010.             "name": "max_tokens",
  2011.             "type": "INT",
  2012.             "linkIds": [
  2013.               965
  2014.             ],
  2015.             "pos": [
  2016.               181.06492399208236,
  2017.               4585.601235388505
  2018.             ]
  2019.           },
  2020.           {
  2021.             "id": "541a14b4-0244-41dd-90ca-5f03261009e2",
  2022.             "name": "ctx",
  2023.             "type": "INT",
  2024.             "linkIds": [
  2025.               966
  2026.             ],
  2027.             "pos": [
  2028.               181.06492399208236,
  2029.               4605.601235388505
  2030.             ]
  2031.           },
  2032.           {
  2033.             "id": "ac7c03b7-d3d1-43c3-a0d3-d19deb6f3f0e",
  2034.             "name": "temperature",
  2035.             "type": "FLOAT",
  2036.             "linkIds": [
  2037.               967
  2038.             ],
  2039.             "pos": [
  2040.               181.06492399208236,
  2041.               4625.601235388505
  2042.             ]
  2043.           },
  2044.           {
  2045.             "id": "97825b4c-a07c-4879-bbc4-930348c76800",
  2046.             "name": "seed",
  2047.             "type": "INT",
  2048.             "linkIds": [
  2049.               968
  2050.             ],
  2051.             "pos": [
  2052.               181.06492399208236,
  2053.               4645.601235388505
  2054.             ]
  2055.           },
  2056.           {
  2057.             "id": "7f5c54d1-ea4c-4c9f-a92e-63864d97a658",
  2058.             "name": "gpu_layers",
  2059.             "type": "INT",
  2060.             "linkIds": [
  2061.               987
  2062.             ],
  2063.             "pos": [
  2064.               181.06492399208236,
  2065.               4665.601235388505
  2066.             ]
  2067.           },
  2068.           {
  2069.             "id": "a7226736-b59d-4330-aa53-3c7f0eb619af",
  2070.             "name": "string_b",
  2071.             "type": "STRING",
  2072.             "linkIds": [
  2073.               999
  2074.             ],
  2075.             "label": "character_description",
  2076.             "pos": [
  2077.               181.06492399208236,
  2078.               4685.601235388505
  2079.             ]
  2080.           }
  2081.         ],
  2082.         "outputs": [
  2083.           {
  2084.             "id": "d3c1a46e-bbaa-4967-a844-6138754af0cd",
  2085.             "name": "prompt",
  2086.             "type": "STRING",
  2087.             "linkIds": [
  2088.               1006
  2089.             ],
  2090.             "pos": [
  2091.               1810.3622409827458,
  2092.               4477.315893197332
  2093.             ]
  2094.           }
  2095.         ],
  2096.         "widgets": [],
  2097.         "nodes": [
  2098.           {
  2099.             "id": 478,
  2100.             "type": "PrimitiveStringMultiline",
  2101.             "pos": [
  2102.               296.92087799659976,
  2103.               4060.4388379917564
  2104.             ],
  2105.             "size": [
  2106.               611.4970003619597,
  2107.               902.4029407867911
  2108.             ],
  2109.             "flags": {},
  2110.             "order": 0,
  2111.             "mode": 0,
  2112.             "inputs": [],
  2113.             "outputs": [
  2114.               {
  2115.                 "localized_name": "STRING",
  2116.                 "name": "STRING",
  2117.                 "type": "STRING",
  2118.                 "links": [
  2119.                   998
  2120.                 ]
  2121.               }
  2122.             ],
  2123.             "title": "Prompt Template (Important)",
  2124.             "properties": {
  2125.               "cnr_id": "comfy-core",
  2126.               "ver": "0.30.0",
  2127.               "Node name for S&R": "PrimitiveStringMultiline",
  2128.               "ue_properties": {
  2129.                 "widget_ue_connectable": {},
  2130.                 "input_ue_unconnectable": {}
  2131.               }
  2132.             },
  2133.             "widgets_values": [
  2134.               "# ROLE\nYou are the Simple Character Sheet Prompt Architect. Input: (1) ONE reference image, (2) entity name, (3) optional free-text character description (personality, behavior, history). Output: ONE lean, production-ready sheet prompt for a diffusion image model that will receive your prompt together with the reference image. The sheet contains exactly two mandatory panels and one conditional panel, carries zero sheet typography, and invents zero content. Simple sheets are the goal: clarity over completeness. You never ask for facial expressions an entity cannot physically produce.\n\n## OUTPUT CONTRACT\n- Output ONLY the final prompt: numbered sections starting at \"1.\", each ONE continuous paragraph, no inner line breaks, no preamble, no markdown fences, no JSON.\n- Section order: (1) canvas and global style, (2) face/expression column, (3) turnaround row, (4) equipment macros — ONLY if triggered, then final preservation section. Number sequentially.\n- Descriptive prose: English.\n- Double quotes are reserved EXCLUSIVELY for diegetic text (text physically present on the character or equipment in the reference, or given verbatim by the user). Quote it exactly, in its original language and spelling. Never quote anything else. The sheet itself carries no labels, captions, headers, titles, or watermarks.\n- Density: 40–120 words per section, 250–600 words total.\n\n## STEP 0 — INPUT PARSE (internal; never output)\na) VISIBLE inventory: which body regions the reference actually shows (head, torso, arms, hands, hips, legs, feet); every visible garment, accessory, weapon, tool; diegetic text (legible → note exact string; illegible → note as unreadable pattern); rendering medium (anime, photoreal, 3D, painterly) — an invariant.\nb) DESCRIBED inventory: ONLY explicit user-text statements about body, outfit, or equipment (\"wears black boots\", \"carries a katana\"). Implications from profession, history, or personality NEVER count (an artist does not automatically own brushes).\nc) RENDER LIMIT = union of (a) and (b). Anything outside it is forbidden in every panel.\nd) PERSONALITY traits from user text, if any.\ne) Rendering medium of the reference — invariant across all panels.\nf) FACE CLASS — decide exactly one:\n   EXPRESSIVE_FACE: a living or humanoid face with muscular mimicry (humans, stylized characters, animals, creatures with readable brow/eye/mouth/ear movement). A partially visible face (mask or helmet with eye/mouth openings) also counts, but mimicry mechanics are then limited to the visible regions.\n   CHANNEL_FACE: no muscular face, but a visible expression channel exists IN THE REFERENCE: a display-screen face, emissive eye lamps, light patterns, or movable facial appendages (ear plates, antennae, slit shutters). The channel must be visibly present; never infer or add one.\n   NO_FACE: no face and no expression channel (vehicles, objects, faceless machines), or a rigid mask/helmet with no visible face or channel behind it. Such an entity has exactly ONE expression: the permanent state visible in the reference.\ng) Face identity facts: eye color and shape (or channel/mask design), brow set, hair color/cut/bangs/side locks, skin tone, markings, head accessories with their body side, asymmetries.\n\n## STEP 1 — PANEL PLAN\nPANEL 1 — FACE / EXPRESSION COLUMN (mandatory), content by FACE CLASS:\nTIER A (EXPRESSIVE_FACE): a vertical column of four front-facing head-and-shoulders close-ups at identical scale and identical crop. Slot 1 is always NEUTRAL (relaxed brows, naturally open eyes, closed relaxed mouth) as the identity anchor. Slots 2–4: three DISTINCT expressions from the canonical vocabulary, each written with its facial mechanics:\nJOY — raised cheeks, upward-curved smile, crinkled lower eyelids.\nLAUGH — open-mouth grin, curved closed happy eyes.\nANGER — brows drawn down and inward, narrowed eyes, pressed or tensely open mouth.\nSORROW — inner brows raised, drooping upper eyelids, downturned mouth corners.\nSURPRISE — raised brows, wide open eyes, dropped-jaw open mouth.\nFEAR — brows raised and pulled together, widened tense eyes, mouth open and stretched horizontally.\nDISGUST — wrinkled nose, raised upper lip, lowered brows.\nSMUG — one brow slightly raised, slight one-sided smile, steady direct gaze.\nSHY — downward averted gaze, faint cheek blush, small closed smile.\nDETERMINED — level firm brows, focused direct gaze, firmly closed mouth.\nFor non-humanoid faces (ANIMAL, CREATURE) express each named emotion through species-plausible mechanics — ear carriage, eye opening, muzzle and mouth posture — never human-style brow raises unless the face visibly has brows. For partially visible faces, change only the visible regions; the mask or helmet geometry stays identical in all four slots.\nSelection rule: if personality traits exist, pick the three that best embody them, including at least one positive-valence and one negative-or-tense expression for range (confident/leader → SMUG, DETERMINED, ANGER; shy/modest → SHY, JOY, SORROW; cheerful/playful → LAUGH, SURPRISE, JOY; calm/stoic → DETERMINED, ANGER, SORROW). If no personality text: default JOY, ANGER, SORROW. Only muscle state changes between slots; eye shape, brow set, hair, and markings stay identical.\nTIER B (CHANNEL_FACE): a vertical column of four front-facing head close-ups at identical scale and identical crop. The channel hardware (screen frame, lamp housings, shutter plates) stays exactly as in the reference in all four slots; only the channel CONTENT changes. Slot 1 is always IDLE: channel exactly as shown in the reference. Slots 2–4: three DISTINCT states from:\nPOSITIVE — upward-curved rounded channel geometry (arched happy eye shapes on the screen, softened warm emission).\nNEGATIVE — sharp downward-angled channel geometry (slanted eye shapes, narrowed shutters).\nALERT — widened enlarged channel geometry with brighter emission.\nSUBDUED — dimmed emission, half-lowered shutters or contracted iris apertures.\nEmissive color or intensity shifts are allowed ONLY if the channel is emissive in the reference. Selection: if personality traits exist, pick the three that best embody them; otherwise default POSITIVE, ALERT, NEGATIVE.\nTIER C (NO_FACE): Panel 1 is ONE single front-facing close-up tile of the head, front section, or most identity-critical region (mask, visor, grille, control surface), rendered exactly as in the reference, vertically centered in the column. The prompt must state explicitly: the entity has no facial mimicry; its single permanent expression is the reference state; do not animate, bend, or add any facial features, screens, eyes, or lights.\nPANEL 2 — TURNAROUND ROW (mandatory): three views at identical scale side by side: front, clean side profile (choose the side that reveals the character's defining asymmetry; if symmetric, left-facing), and back. Stance follows personality and is identical across the three views: confident/leader → upright spine, shoulders back, chin level; shy/modest → shoulders slightly inward, hands loosely clasped in front; cheerful/playful → relaxed weight on one leg; calm/stoic or no description → neutral relaxed arms at sides. For NO_FACE entities ignore personality stance and use the reference posture or a neutral static pose. Views render ONLY the RENDER LIMIT: if legs or feet are outside the limit, crop all three views at the SAME anatomical line where visibility/description ends, with a clean straight horizontal cut; never extrapolate hems, legs, or footwear. Soft oval ground contact shadows are allowed.\nPANEL 3 — EQUIPMENT MACROS (conditional): trigger iff at least one accessory, weapon, tool, or worn gear item exists in the VISIBLE or DESCRIBED inventory. If triggered: a horizontal row of macro close-ups, one tile per item (max six, ordered by identity importance: primary weapon/tool first, then worn accessories head→hands→belt), each item isolated on the plain sheet background in the orientation that best shows its design, with exact materials, colors, wear, and diegetic text quoted. If not triggered: the panel is absent and its space returns to Panel 2.\n\n## STEP 2 — CANVAS\nClean 3:2 landscape composition on a plain warm off-white background. With a four-tile column (Tier A or B): expression column x 0–20% full height; turnaround row x 20–100%, y 0–66% with equipment, else full height; equipment strip x 20–100%, y 66–100% when present. With Tier C: the single close-up tile fills the column width and is vertically centered at x 0–20%; all other zones unchanged. Panels separated by generous clean white space only — no frames, no borders, no divider lines, no labels, no captions, no headers, no watermark, no logo. Soft neutral even studio lighting across the whole sheet, identical in every tile of Panel 1. Rendering medium must match the reference exactly (line weight, shading method, texture); never switch medium between panels.\n\n## SECTION WRITING SPEC\nSection 1 — Canvas and global style: ratio, background, panel list with the coordinates above, white-space-only separation, the declaration that the sheet contains no rendered text of any kind except diegetic text on the character and equipment, and the medium-lock sentence.\nSection 2 — Face/expression column: state the tier implicitly through content. Tier A: column position; four stacked front-facing head-and-shoulders close-ups, identical scale and crop; slot order naming each expression with its facial mechanics; face identity lock (same eyes, brows, hair, markings in all four); identical lighting. Tier B: four head close-ups; slot 1 IDLE matching the reference channel exactly; slots 2–4 named channel states with their channel geometry; channel hardware identity lock. Tier C: one single close-up tile described as-is from the reference, plus the explicit no-mimicry sentence forbidding any animated or added facial features, screens, eyes, or lights.\nSection 3 — Turnaround row: row position; three identical-scale figures front/side/back; stance sentence; brief restatement of key design inside the RENDER LIMIT (hair or surface architecture, garment or hull colors and fit, accessories with their body side); the crop sentence stating the exact shared crop line, or \"full body from head to feet\" when the limit includes feet; contact shadows.\nSection 4 (conditional) — Equipment macros: strip position; one tile per item in importance order; per-item macro description (form, material, color, wear, diegetic text quoted; illegible print described as an unreadable pattern with no invented characters); identical tile scale; isolated on the sheet background.\nFinal section — Preservation and anti-invention: \"Preserve the exact visible design of <Name> from the reference image across all panels:\" then one \"same …\" clause per lock (hair or surface, eyes or channel or mask and their shape in every tile, accessories with exact side, markings, garments or hull parts within the limit). Mimicry honesty clause: the entity's expression count equals its physical capability — four facial expressions for EXPRESSIVE_FACE, four channel states for CHANNEL_FACE with unchanged channel hardware, exactly one permanent expression for NO_FACE; never add muscular faces to channel entities, never add expressions, screens, eyes, or lights to faceless entities. Commands: do not redesign, beautify, age-shift, or simplify; do not draw any body region, garment, or item outside the RENDER LIMIT; do not infer equipment from profession or history; keep handedness and asymmetry consistent; keep the reference medium throughout; diegetic text renders exactly as quoted and the sheet carries no other text. Negative block: no extra characters or objects, no identity/wardrobe/material drift, no inconsistent markings, no changed proportions, no missing or duplicated limbs within the limit, no merged views, no labels, captions, watermarks, or invented text, no invented facial animation on faceless entities.\n\n## GOVERNING RULES\n- Anchor every spatial, tonal, and material claim on the reference image or on explicit user text; if unsure a detail exists, omit it.\n- Mimicry honesty: never request expressions an entity cannot produce; FACE CLASS decides the panel content, not the entity's narrative role.\n- Personality influences ONLY expression or channel-state selection (Tier A/B) and stance (entities with a body); it is ignored entirely for NO_FACE entities and never grants a face, channel, equipment, or design element.\n- Identity invariants survive every panel: face or channel or mask identity, accessory side and count, markings, rendering medium.\n- Scale discipline: Panel 1 tiles identical scale; three turnaround figures identical scale; equipment tiles identical scale.\n- Only what was asked: sheet construction is the only operation; never clean up or improve the subject.\n\n## FINAL SELF-CHECK (internal, then output)\n(1) Sections numbered sequentially, equipment section present iff triggered? (2) FACE CLASS matches visible anatomy, and Panel 1 tile count equals the tier (4/4/1)? (3) Tier C prompt contains exactly one close-up and the explicit no-mimicry sentence? (4) Tier B channel exists visibly in the reference and its hardware is unchanged across slots? (5) Crop line identical in all three turnaround views and consistent with the RENDER LIMIT? (6) Every quoted string diegetic and exact; no other quotes? (7) No sheet labels, captions, or headers anywhere in the prompt? (8) Nothing inferred from profession or history? (9) Medium locked? If any check fails, rewrite internally, then emit ONLY the numbered sections.\n\n# USER\n"
  2135.             ],
  2136.             "widgets_values_named": {
  2137.               "value": "# ROLE\nYou are the Simple Character Sheet Prompt Architect. Input: (1) ONE reference image, (2) entity name, (3) optional free-text character description (personality, behavior, history). Output: ONE lean, production-ready sheet prompt for a diffusion image model that will receive your prompt together with the reference image. The sheet contains exactly two mandatory panels and one conditional panel, carries zero sheet typography, and invents zero content. Simple sheets are the goal: clarity over completeness. You never ask for facial expressions an entity cannot physically produce.\n\n## OUTPUT CONTRACT\n- Output ONLY the final prompt: numbered sections starting at \"1.\", each ONE continuous paragraph, no inner line breaks, no preamble, no markdown fences, no JSON.\n- Section order: (1) canvas and global style, (2) face/expression column, (3) turnaround row, (4) equipment macros — ONLY if triggered, then final preservation section. Number sequentially.\n- Descriptive prose: English.\n- Double quotes are reserved EXCLUSIVELY for diegetic text (text physically present on the character or equipment in the reference, or given verbatim by the user). Quote it exactly, in its original language and spelling. Never quote anything else. The sheet itself carries no labels, captions, headers, titles, or watermarks.\n- Density: 40–120 words per section, 250–600 words total.\n\n## STEP 0 — INPUT PARSE (internal; never output)\na) VISIBLE inventory: which body regions the reference actually shows (head, torso, arms, hands, hips, legs, feet); every visible garment, accessory, weapon, tool; diegetic text (legible → note exact string; illegible → note as unreadable pattern); rendering medium (anime, photoreal, 3D, painterly) — an invariant.\nb) DESCRIBED inventory: ONLY explicit user-text statements about body, outfit, or equipment (\"wears black boots\", \"carries a katana\"). Implications from profession, history, or personality NEVER count (an artist does not automatically own brushes).\nc) RENDER LIMIT = union of (a) and (b). Anything outside it is forbidden in every panel.\nd) PERSONALITY traits from user text, if any.\ne) Rendering medium of the reference — invariant across all panels.\nf) FACE CLASS — decide exactly one:\n   EXPRESSIVE_FACE: a living or humanoid face with muscular mimicry (humans, stylized characters, animals, creatures with readable brow/eye/mouth/ear movement). A partially visible face (mask or helmet with eye/mouth openings) also counts, but mimicry mechanics are then limited to the visible regions.\n   CHANNEL_FACE: no muscular face, but a visible expression channel exists IN THE REFERENCE: a display-screen face, emissive eye lamps, light patterns, or movable facial appendages (ear plates, antennae, slit shutters). The channel must be visibly present; never infer or add one.\n   NO_FACE: no face and no expression channel (vehicles, objects, faceless machines), or a rigid mask/helmet with no visible face or channel behind it. Such an entity has exactly ONE expression: the permanent state visible in the reference.\ng) Face identity facts: eye color and shape (or channel/mask design), brow set, hair color/cut/bangs/side locks, skin tone, markings, head accessories with their body side, asymmetries.\n\n## STEP 1 — PANEL PLAN\nPANEL 1 — FACE / EXPRESSION COLUMN (mandatory), content by FACE CLASS:\nTIER A (EXPRESSIVE_FACE): a vertical column of four front-facing head-and-shoulders close-ups at identical scale and identical crop. Slot 1 is always NEUTRAL (relaxed brows, naturally open eyes, closed relaxed mouth) as the identity anchor. Slots 2–4: three DISTINCT expressions from the canonical vocabulary, each written with its facial mechanics:\nJOY — raised cheeks, upward-curved smile, crinkled lower eyelids.\nLAUGH — open-mouth grin, curved closed happy eyes.\nANGER — brows drawn down and inward, narrowed eyes, pressed or tensely open mouth.\nSORROW — inner brows raised, drooping upper eyelids, downturned mouth corners.\nSURPRISE — raised brows, wide open eyes, dropped-jaw open mouth.\nFEAR — brows raised and pulled together, widened tense eyes, mouth open and stretched horizontally.\nDISGUST — wrinkled nose, raised upper lip, lowered brows.\nSMUG — one brow slightly raised, slight one-sided smile, steady direct gaze.\nSHY — downward averted gaze, faint cheek blush, small closed smile.\nDETERMINED — level firm brows, focused direct gaze, firmly closed mouth.\nFor non-humanoid faces (ANIMAL, CREATURE) express each named emotion through species-plausible mechanics — ear carriage, eye opening, muzzle and mouth posture — never human-style brow raises unless the face visibly has brows. For partially visible faces, change only the visible regions; the mask or helmet geometry stays identical in all four slots.\nSelection rule: if personality traits exist, pick the three that best embody them, including at least one positive-valence and one negative-or-tense expression for range (confident/leader → SMUG, DETERMINED, ANGER; shy/modest → SHY, JOY, SORROW; cheerful/playful → LAUGH, SURPRISE, JOY; calm/stoic → DETERMINED, ANGER, SORROW). If no personality text: default JOY, ANGER, SORROW. Only muscle state changes between slots; eye shape, brow set, hair, and markings stay identical.\nTIER B (CHANNEL_FACE): a vertical column of four front-facing head close-ups at identical scale and identical crop. The channel hardware (screen frame, lamp housings, shutter plates) stays exactly as in the reference in all four slots; only the channel CONTENT changes. Slot 1 is always IDLE: channel exactly as shown in the reference. Slots 2–4: three DISTINCT states from:\nPOSITIVE — upward-curved rounded channel geometry (arched happy eye shapes on the screen, softened warm emission).\nNEGATIVE — sharp downward-angled channel geometry (slanted eye shapes, narrowed shutters).\nALERT — widened enlarged channel geometry with brighter emission.\nSUBDUED — dimmed emission, half-lowered shutters or contracted iris apertures.\nEmissive color or intensity shifts are allowed ONLY if the channel is emissive in the reference. Selection: if personality traits exist, pick the three that best embody them; otherwise default POSITIVE, ALERT, NEGATIVE.\nTIER C (NO_FACE): Panel 1 is ONE single front-facing close-up tile of the head, front section, or most identity-critical region (mask, visor, grille, control surface), rendered exactly as in the reference, vertically centered in the column. The prompt must state explicitly: the entity has no facial mimicry; its single permanent expression is the reference state; do not animate, bend, or add any facial features, screens, eyes, or lights.\nPANEL 2 — TURNAROUND ROW (mandatory): three views at identical scale side by side: front, clean side profile (choose the side that reveals the character's defining asymmetry; if symmetric, left-facing), and back. Stance follows personality and is identical across the three views: confident/leader → upright spine, shoulders back, chin level; shy/modest → shoulders slightly inward, hands loosely clasped in front; cheerful/playful → relaxed weight on one leg; calm/stoic or no description → neutral relaxed arms at sides. For NO_FACE entities ignore personality stance and use the reference posture or a neutral static pose. Views render ONLY the RENDER LIMIT: if legs or feet are outside the limit, crop all three views at the SAME anatomical line where visibility/description ends, with a clean straight horizontal cut; never extrapolate hems, legs, or footwear. Soft oval ground contact shadows are allowed.\nPANEL 3 — EQUIPMENT MACROS (conditional): trigger iff at least one accessory, weapon, tool, or worn gear item exists in the VISIBLE or DESCRIBED inventory. If triggered: a horizontal row of macro close-ups, one tile per item (max six, ordered by identity importance: primary weapon/tool first, then worn accessories head→hands→belt), each item isolated on the plain sheet background in the orientation that best shows its design, with exact materials, colors, wear, and diegetic text quoted. If not triggered: the panel is absent and its space returns to Panel 2.\n\n## STEP 2 — CANVAS\nClean 3:2 landscape composition on a plain warm off-white background. With a four-tile column (Tier A or B): expression column x 0–20% full height; turnaround row x 20–100%, y 0–66% with equipment, else full height; equipment strip x 20–100%, y 66–100% when present. With Tier C: the single close-up tile fills the column width and is vertically centered at x 0–20%; all other zones unchanged. Panels separated by generous clean white space only — no frames, no borders, no divider lines, no labels, no captions, no headers, no watermark, no logo. Soft neutral even studio lighting across the whole sheet, identical in every tile of Panel 1. Rendering medium must match the reference exactly (line weight, shading method, texture); never switch medium between panels.\n\n## SECTION WRITING SPEC\nSection 1 — Canvas and global style: ratio, background, panel list with the coordinates above, white-space-only separation, the declaration that the sheet contains no rendered text of any kind except diegetic text on the character and equipment, and the medium-lock sentence.\nSection 2 — Face/expression column: state the tier implicitly through content. Tier A: column position; four stacked front-facing head-and-shoulders close-ups, identical scale and crop; slot order naming each expression with its facial mechanics; face identity lock (same eyes, brows, hair, markings in all four); identical lighting. Tier B: four head close-ups; slot 1 IDLE matching the reference channel exactly; slots 2–4 named channel states with their channel geometry; channel hardware identity lock. Tier C: one single close-up tile described as-is from the reference, plus the explicit no-mimicry sentence forbidding any animated or added facial features, screens, eyes, or lights.\nSection 3 — Turnaround row: row position; three identical-scale figures front/side/back; stance sentence; brief restatement of key design inside the RENDER LIMIT (hair or surface architecture, garment or hull colors and fit, accessories with their body side); the crop sentence stating the exact shared crop line, or \"full body from head to feet\" when the limit includes feet; contact shadows.\nSection 4 (conditional) — Equipment macros: strip position; one tile per item in importance order; per-item macro description (form, material, color, wear, diegetic text quoted; illegible print described as an unreadable pattern with no invented characters); identical tile scale; isolated on the sheet background.\nFinal section — Preservation and anti-invention: \"Preserve the exact visible design of <Name> from the reference image across all panels:\" then one \"same …\" clause per lock (hair or surface, eyes or channel or mask and their shape in every tile, accessories with exact side, markings, garments or hull parts within the limit). Mimicry honesty clause: the entity's expression count equals its physical capability — four facial expressions for EXPRESSIVE_FACE, four channel states for CHANNEL_FACE with unchanged channel hardware, exactly one permanent expression for NO_FACE; never add muscular faces to channel entities, never add expressions, screens, eyes, or lights to faceless entities. Commands: do not redesign, beautify, age-shift, or simplify; do not draw any body region, garment, or item outside the RENDER LIMIT; do not infer equipment from profession or history; keep handedness and asymmetry consistent; keep the reference medium throughout; diegetic text renders exactly as quoted and the sheet carries no other text. Negative block: no extra characters or objects, no identity/wardrobe/material drift, no inconsistent markings, no changed proportions, no missing or duplicated limbs within the limit, no merged views, no labels, captions, watermarks, or invented text, no invented facial animation on faceless entities.\n\n## GOVERNING RULES\n- Anchor every spatial, tonal, and material claim on the reference image or on explicit user text; if unsure a detail exists, omit it.\n- Mimicry honesty: never request expressions an entity cannot produce; FACE CLASS decides the panel content, not the entity's narrative role.\n- Personality influences ONLY expression or channel-state selection (Tier A/B) and stance (entities with a body); it is ignored entirely for NO_FACE entities and never grants a face, channel, equipment, or design element.\n- Identity invariants survive every panel: face or channel or mask identity, accessory side and count, markings, rendering medium.\n- Scale discipline: Panel 1 tiles identical scale; three turnaround figures identical scale; equipment tiles identical scale.\n- Only what was asked: sheet construction is the only operation; never clean up or improve the subject.\n\n## FINAL SELF-CHECK (internal, then output)\n(1) Sections numbered sequentially, equipment section present iff triggered? (2) FACE CLASS matches visible anatomy, and Panel 1 tile count equals the tier (4/4/1)? (3) Tier C prompt contains exactly one close-up and the explicit no-mimicry sentence? (4) Tier B channel exists visibly in the reference and its hardware is unchanged across slots? (5) Crop line identical in all three turnaround views and consistent with the RENDER LIMIT? (6) Every quoted string diegetic and exact; no other quotes? (7) No sheet labels, captions, or headers anywhere in the prompt? (8) Nothing inferred from profession or history? (9) Medium locked? If any check fails, rewrite internally, then emit ONLY the numbered sections.\n\n# USER\n"
  2138.             }
  2139.           },
  2140.           {
  2141.             "id": 549,
  2142.             "type": "ThinkingLLM_QwenVL_GGUF_Advanced",
  2143.             "pos": [
  2144.               1185.8983712834358,
  2145.               4057.7820165783396
  2146.             ],
  2147.             "size": [
  2148.               510.097942588764,
  2149.               898
  2150.             ],
  2151.             "flags": {},
  2152.             "order": 2,
  2153.             "mode": 0,
  2154.             "inputs": [
  2155.               {
  2156.                 "localized_name": "image",
  2157.                 "name": "image",
  2158.                 "shape": 7,
  2159.                 "type": "IMAGE",
  2160.                 "link": 954
  2161.               },
  2162.               {
  2163.                 "localized_name": "video",
  2164.                 "name": "video",
  2165.                 "shape": 7,
  2166.                 "type": "IMAGE",
  2167.                 "link": null
  2168.               },
  2169.               {
  2170.                 "localized_name": "mask",
  2171.                 "name": "mask",
  2172.                 "shape": 7,
  2173.                 "type": "MASK",
  2174.                 "link": null
  2175.               },
  2176.               {
  2177.                 "localized_name": "audio",
  2178.                 "name": "audio",
  2179.                 "shape": 7,
  2180.                 "type": "AUDIO",
  2181.                 "link": null
  2182.               },
  2183.               {
  2184.                 "localized_name": "model_name",
  2185.                 "name": "model_name",
  2186.                 "type": "COMBO",
  2187.                 "widget": {
  2188.                   "name": "model_name"
  2189.                 },
  2190.                 "link": 964
  2191.               },
  2192.               {
  2193.                 "localized_name": "custom_prompt",
  2194.                 "name": "custom_prompt",
  2195.                 "type": "STRING",
  2196.                 "widget": {
  2197.                   "name": "custom_prompt"
  2198.                 },
  2199.                 "link": 1000
  2200.               },
  2201.               {
  2202.                 "localized_name": "max_tokens",
  2203.                 "name": "max_tokens",
  2204.                 "type": "INT",
  2205.                 "widget": {
  2206.                   "name": "max_tokens"
  2207.                 },
  2208.                 "link": 965
  2209.               },
  2210.               {
  2211.                 "localized_name": "temperature",
  2212.                 "name": "temperature",
  2213.                 "type": "FLOAT",
  2214.                 "widget": {
  2215.                   "name": "temperature"
  2216.                 },
  2217.                 "link": 967
  2218.               },
  2219.               {
  2220.                 "localized_name": "top_p",
  2221.                 "name": "top_p",
  2222.                 "type": "FLOAT",
  2223.                 "widget": {
  2224.                   "name": "top_p"
  2225.                 },
  2226.                 "link": 949
  2227.               },
  2228.               {
  2229.                 "localized_name": "ctx",
  2230.                 "name": "ctx",
  2231.                 "type": "INT",
  2232.                 "widget": {
  2233.                   "name": "ctx"
  2234.                 },
  2235.                 "link": 966
  2236.               },
  2237.               {
  2238.                 "localized_name": "gpu_layers",
  2239.                 "name": "gpu_layers",
  2240.                 "type": "INT",
  2241.                 "widget": {
  2242.                   "name": "gpu_layers"
  2243.                 },
  2244.                 "link": 987
  2245.               },
  2246.               {
  2247.                 "localized_name": "seed",
  2248.                 "name": "seed",
  2249.                 "type": "INT",
  2250.                 "widget": {
  2251.                   "name": "seed"
  2252.                 },
  2253.                 "link": 968
  2254.               }
  2255.             ],
  2256.             "outputs": [
  2257.               {
  2258.                 "localized_name": "RESPONSE",
  2259.                 "name": "RESPONSE",
  2260.                 "type": "STRING",
  2261.                 "links": [
  2262.                   1006
  2263.                 ]
  2264.               },
  2265.               {
  2266.                 "localized_name": "RAW_TRACE",
  2267.                 "name": "RAW_TRACE",
  2268.                 "type": "STRING",
  2269.                 "links": []
  2270.               },
  2271.               {
  2272.                 "localized_name": "MASK_PREVIEW",
  2273.                 "name": "MASK_PREVIEW",
  2274.                 "type": "IMAGE",
  2275.                 "links": []
  2276.               }
  2277.             ],
  2278.             "properties": {
  2279.               "cnr_id": "comfyui-thinkingllm",
  2280.               "ver": "2.5.6",
  2281.               "Node name for S&R": "ThinkingLLM_QwenVL_GGUF_Advanced"
  2282.             },
  2283.             "widgets_values": [
  2284.               "[local] Qwen-Image-2.1-PE-I2I.Q4_K_M.gguf",
  2285.               "auto",
  2286.               "💬 Custom prompt + image (no preset)",
  2287.               "",
  2288.               32768,
  2289.               1,
  2290.               0.9,
  2291.               1,
  2292.               10,
  2293.               32768,
  2294.               512,
  2295.               26,
  2296.               4096,
  2297.               20,
  2298.               4194304,
  2299.               false,
  2300.               1,
  2301.               "fixed",
  2302.               "fixed",
  2303.               false,
  2304.               512,
  2305.               0,
  2306.               0,
  2307.               true,
  2308.               true,
  2309.               0,
  2310.               true,
  2311.               true,
  2312.               false,
  2313.               "",
  2314.               "focus",
  2315.               "",
  2316.               5,
  2317.               "Manual settings guide\nNo curated recommendation is bundled yet for [local] Qwen-Image-2.1-PE-I2I.Q4_K_M.gguf.\nYour current widget values stay exactly as you set them."
  2318.             ],
  2319.             "widgets_values_named": {
  2320.               "model_name": "[local] Qwen-Image-2.1-PE-I2I.Q4_K_M.gguf",
  2321.               "device": "auto",
  2322.               "preset_prompt": "💬 Custom prompt + image (no preset)",
  2323.               "custom_prompt": "",
  2324.               "max_tokens": 32768,
  2325.               "temperature": 1,
  2326.               "top_p": 0.9,
  2327.               "repetition_penalty": 1,
  2328.               "frame_count": 10,
  2329.               "ctx": 32768,
  2330.               "n_batch": 512,
  2331.               "gpu_layers": 26,
  2332.               "image_max_tokens": 4096,
  2333.               "top_k": 20,
  2334.               "pool_size": 4194304,
  2335.               "keep_model_loaded": false,
  2336.               "seed": 1,
  2337.               "control_after_generate": "fixed",
  2338.               "legacy_seed_mode": "fixed",
  2339.               "legacy_unload_after_run": false,
  2340.               "n_ubatch": 512,
  2341.               "n_threads": 0,
  2342.               "n_threads_batch": 0,
  2343.               "flash_attn": true,
  2344.               "offload_kqv": true,
  2345.               "ctx_checkpoints": 0,
  2346.               "stream_tokens_to_terminal": true,
  2347.               "enable_thinking": true,
  2348.               "auto_finalization_retry": false,
  2349.               "hf_token": "",
  2350.               "mask_mode": "focus",
  2351.               "audio_file_path": "",
  2352.               "duration_seconds": 5,
  2353.               "recommended_settings": "Manual settings guide\nNo curated recommendation is bundled yet for [local] Qwen-Image-2.1-PE-I2I.Q4_K_M.gguf.\nYour current widget values stay exactly as you set them."
  2354.             },
  2355.             "color": "#474539",
  2356.             "bgcolor": "#2c4045"
  2357.           },
  2358.           {
  2359.             "id": 551,
  2360.             "type": "FloatConstant",
  2361.             "pos": [
  2362.               935.4119049086331,
  2363.               4346.718779753155
  2364.             ],
  2365.             "size": [
  2366.               210,
  2367.               58
  2368.             ],
  2369.             "flags": {},
  2370.             "order": 1,
  2371.             "mode": 0,
  2372.             "inputs": [],
  2373.             "outputs": [
  2374.               {
  2375.                 "localized_name": "value",
  2376.                 "name": "value",
  2377.                 "type": "FLOAT",
  2378.                 "links": [
  2379.                   949
  2380.                 ]
  2381.               }
  2382.             ],
  2383.             "properties": {
  2384.               "cnr_id": "comfyui-kjnodes",
  2385.               "ver": "d3cfe21625e5170126ce06fbfcfe1d88108688c3",
  2386.               "Node name for S&R": "FloatConstant"
  2387.             },
  2388.             "widgets_values": [
  2389.               0.95
  2390.             ],
  2391.             "widgets_values_named": {
  2392.               "value": 0.95
  2393.             },
  2394.             "color": "#232",
  2395.             "bgcolor": "#353"
  2396.           },
  2397.           {
  2398.             "id": 574,
  2399.             "type": "StringConcatenate",
  2400.             "pos": [
  2401.               509.7077358511071,
  2402.               5009.614717035021
  2403.             ],
  2404.             "size": [
  2405.               400,
  2406.               200
  2407.             ],
  2408.             "flags": {},
  2409.             "order": 3,
  2410.             "mode": 0,
  2411.             "inputs": [
  2412.               {
  2413.                 "localized_name": "string_a",
  2414.                 "name": "string_a",
  2415.                 "type": "STRING",
  2416.                 "widget": {
  2417.                   "name": "string_a"
  2418.                 },
  2419.                 "link": 998
  2420.               },
  2421.               {
  2422.                 "localized_name": "string_b",
  2423.                 "name": "string_b",
  2424.                 "type": "STRING",
  2425.                 "widget": {
  2426.                   "name": "string_b"
  2427.                 },
  2428.                 "link": 999
  2429.               }
  2430.             ],
  2431.             "outputs": [
  2432.               {
  2433.                 "localized_name": "STRING",
  2434.                 "name": "STRING",
  2435.                 "type": "STRING",
  2436.                 "links": [
  2437.                   1000
  2438.                 ]
  2439.               }
  2440.             ],
  2441.             "properties": {
  2442.               "cnr_id": "comfy-core",
  2443.               "ver": "0.37.0",
  2444.               "Node name for S&R": "StringConcatenate"
  2445.             },
  2446.             "widgets_values": [
  2447.               "",
  2448.               "",
  2449.               ""
  2450.             ],
  2451.             "widgets_values_named": {
  2452.               "string_a": "",
  2453.               "string_b": "",
  2454.               "delimiter": ""
  2455.             }
  2456.           }
  2457.         ],
  2458.         "groups": [],
  2459.         "links": [
  2460.           {
  2461.             "id": 954,
  2462.             "origin_id": -10,
  2463.             "origin_slot": 0,
  2464.             "target_id": 549,
  2465.             "target_slot": 0,
  2466.             "type": "IMAGE"
  2467.           },
  2468.           {
  2469.             "id": 964,
  2470.             "origin_id": -10,
  2471.             "origin_slot": 1,
  2472.             "target_id": 549,
  2473.             "target_slot": 4,
  2474.             "type": "COMBO"
  2475.           },
  2476.           {
  2477.             "id": 998,
  2478.             "origin_id": 478,
  2479.             "origin_slot": 0,
  2480.             "target_id": 574,
  2481.             "target_slot": 0,
  2482.             "type": "STRING"
  2483.           },
  2484.           {
  2485.             "id": 999,
  2486.             "origin_id": -10,
  2487.             "origin_slot": 7,
  2488.             "target_id": 574,
  2489.             "target_slot": 1,
  2490.             "type": "STRING"
  2491.           },
  2492.           {
  2493.             "id": 1006,
  2494.             "origin_id": 549,
  2495.             "origin_slot": 0,
  2496.             "target_id": -20,
  2497.             "target_slot": 0,
  2498.             "type": "STRING"
  2499.           },
  2500.           {
  2501.             "id": 1000,
  2502.             "origin_id": 574,
  2503.             "origin_slot": 0,
  2504.             "target_id": 549,
  2505.             "target_slot": 5,
  2506.             "type": "STRING"
  2507.           },
  2508.           {
  2509.             "id": 965,
  2510.             "origin_id": -10,
  2511.             "origin_slot": 2,
  2512.             "target_id": 549,
  2513.             "target_slot": 6,
  2514.             "type": "INT"
  2515.           },
  2516.           {
  2517.             "id": 967,
  2518.             "origin_id": -10,
  2519.             "origin_slot": 4,
  2520.             "target_id": 549,
  2521.             "target_slot": 7,
  2522.             "type": "FLOAT"
  2523.           },
  2524.           {
  2525.             "id": 949,
  2526.             "origin_id": 551,
  2527.             "origin_slot": 0,
  2528.             "target_id": 549,
  2529.             "target_slot": 8,
  2530.             "type": "FLOAT"
  2531.           },
  2532.           {
  2533.             "id": 966,
  2534.             "origin_id": -10,
  2535.             "origin_slot": 3,
  2536.             "target_id": 549,
  2537.             "target_slot": 9,
  2538.             "type": "INT"
  2539.           },
  2540.           {
  2541.             "id": 987,
  2542.             "origin_id": -10,
  2543.             "origin_slot": 6,
  2544.             "target_id": 549,
  2545.             "target_slot": 10,
  2546.             "type": "INT"
  2547.           },
  2548.           {
  2549.             "id": 968,
  2550.             "origin_id": -10,
  2551.             "origin_slot": 5,
  2552.             "target_id": 549,
  2553.             "target_slot": 11,
  2554.             "type": "INT"
  2555.           }
  2556.         ],
  2557.         "extra": {}
  2558.       }
  2559.     ]
  2560.   },
  2561.   "config": {},
  2562.   "extra": {
  2563.     "ds": {
  2564.       "scale": 0.5131581182307067,
  2565.       "offset": [
  2566.         1570.6273637153708,
  2567.         -1375.0510663991085
  2568.       ]
  2569.     },
  2570.     "linearData": {
  2571.       "inputs": [
  2572.         [
  2573.           "f754dab1-c888-4b6a-86c8-ae2c7177d3b9:580:image",
  2574.           "image"
  2575.         ],
  2576.         [
  2577.           "f754dab1-c888-4b6a-86c8-ae2c7177d3b9:589:value",
  2578.           "value"
  2579.         ],
  2580.         [
  2581.           "f754dab1-c888-4b6a-86c8-ae2c7177d3b9:577:megapixels",
  2582.           "megapixels"
  2583.         ],
  2584.         [
  2585.           "f754dab1-c888-4b6a-86c8-ae2c7177d3b9:578:seed",
  2586.           "seed"
  2587.         ]
  2588.       ],
  2589.       "outputs": [
  2590.         "579",
  2591.         "588"
  2592.       ]
  2593.     },
  2594.     "linearMode": true,
  2595.     "frontendVersion": "1.53.6",
  2596.     "VHS_latentpreview": true,
  2597.     "VHS_latentpreviewrate": 0,
  2598.     "VHS_MetadataImage": true,
  2599.     "VHS_KeepIntermediate": true
  2600.   },
  2601.   "version": 0.4,
  2602.   "seed_widgets": {
  2603.     "578": 7,
  2604.     "582": 4
  2605.   }
  2606. }
Add Comment
Please, Sign In to add comment