{ "id": "82d400d7-0fa8-4ef3-b0a1-2f193da9600d", "revision": 0, "last_node_id": 127, "last_link_id": 224, "nodes": [ { "id": 36, "type": "Note", "pos": [ -74, -470 ], "size": [ 315.70074462890625, 147.9551239013672 ], "flags": {}, "order": 0, "mode": 0, "inputs": [], "outputs": [], "title": "Note - Load Checkpoint BASE", "properties": { "text": "" }, "widgets_values": [ "This is a checkpoint model loader. \n - This is set up automatically with the optimal settings for whatever SD model version you choose to use.\n - In this example, it is for the Base SDXL model\n - This node is also used for SD1.5 and SD2.x models\n \nNOTE: When loading in another person's workflow, be sure to manually choose your own *local* model. This also applies to LoRas and all their deviations" ], "color": "#323", "bgcolor": "#535" }, { "id": 38, "type": "Note", "pos": [ -51.48336410522461, 218.2859344482422 ], "size": [ 284.3257141113281, 123.88604736328125 ], "flags": {}, "order": 1, "mode": 0, "inputs": [], "outputs": [], "title": "Note - Text Prompts", "properties": { "text": "" }, "widgets_values": [ "These nodes are where you include the text for:\n - what you want in the picture (Positive Prompt, Green)\n - or what you don't want in the picture (Negative Prompt, Red)\n\nThis node type is called a \"PrimitiveNode\" if you are searching for the node type." ], "color": "#323", "bgcolor": "#535" }, { "id": 41, "type": "Note", "pos": [ 748.2763061523438, -625.6798706054688 ], "size": [ 320, 120 ], "flags": {}, "order": 2, "mode": 0, "inputs": [], "outputs": [], "title": "Note - VAE Decoder", "properties": { "text": "" }, "widgets_values": [ "This node will take the latent data from the KSampler and, using the VAE, it will decode it into visible data\n\nVAE = Latent --> Visible\n\nThis can then be sent to the Save Image node to be saved as a PNG." ], "color": "#332922", "bgcolor": "#593930" }, { "id": 42, "type": "Note", "pos": [ 384.4081726074219, 383.7042541503906 ], "size": [ 260, 210 ], "flags": {}, "order": 3, "mode": 0, "inputs": [], "outputs": [], "title": "Note - Empty Latent Image", "properties": { "text": "" }, "widgets_values": [ "This node sets the image's resolution in Width and Height.\n\nNOTE: For SDXL, it is recommended to use trained values listed below:\n - 1024 x 1024\n - 1152 x 896\n - 896 x 1152\n - 1216 x 832\n - 832 x 1216\n - 1344 x 768\n - 768 x 1344\n - 1536 x 640\n - 640 x 1536" ], "color": "#323", "bgcolor": "#535" }, { "id": 48, "type": "Note", "pos": [ 769.2327880859375, 646.3826293945312 ], "size": [ 213.90769958496094, 110.17156982421875 ], "flags": {}, "order": 4, "mode": 0, "inputs": [], "outputs": [], "properties": { "text": "" }, "widgets_values": [ "These can be used to control the total sampling steps and the step at which the sampling switches to the refiner." ], "color": "#432", "bgcolor": "#653" }, { "id": 13, "type": "PrimitiveNode", "pos": [ -60.48336410522461, -180.7140655517578 ], "size": [ 300, 160 ], "flags": {}, "order": 5, "mode": 0, "inputs": [], "outputs": [ { "name": "STRING", "type": "STRING", "widget": { "name": "text" }, "slot_index": 0, "links": [ 16 ] } ], "title": "Positive Prompt (Text)", "properties": { "Run widget replace on values": false }, "widgets_values": [ "beautiful young girl on the beach, bikini, blue sky, pixelart" ], "color": "#232", "bgcolor": "#353" }, { "id": 51, "type": "VAELoader", "pos": [ 733, -401 ], "size": [ 315, 58 ], "flags": {}, "order": 6, "mode": 0, "inputs": [], "outputs": [ { "name": "VAE", "type": "VAE", "slot_index": 0, "links": [ 57 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "VAELoader" }, "widgets_values": [ "sdxl_vae_1.0.safetensors" ] }, { "id": 45, "type": "PrimitiveNode", "pos": [ 773, 363 ], "size": [ 210, 82 ], "flags": {}, "order": 7, "mode": 0, "inputs": [], "outputs": [ { "name": "INT", "type": "INT", "widget": { "name": "steps" }, "links": [ 41 ] } ], "title": "steps", "properties": { "Run widget replace on values": false }, "widgets_values": [ 20, "fixed" ], "color": "#432", "bgcolor": "#653" }, { "id": 47, "type": "PrimitiveNode", "pos": [ 771, 510 ], "size": [ 210, 82 ], "flags": {}, "order": 8, "mode": 0, "inputs": [], "outputs": [ { "name": "INT", "type": "INT", "widget": { "name": "end_at_step" }, "slot_index": 0, "links": [ 43 ] } ], "title": "end_at_step", "properties": { "Run widget replace on values": false }, "widgets_values": [ 20, "fixed" ], "color": "#432", "bgcolor": "#653" }, { "id": 17, "type": "VAEDecode", "pos": [ 1071, -258 ], "size": [ 200, 50 ], "flags": {}, "order": 18, "mode": 0, "inputs": [ { "name": "samples", "type": "LATENT", "link": 70 }, { "name": "vae", "type": "VAE", "link": 57 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 210, 223, 224 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "VAEDecode" }, "widgets_values": [], "color": "#332922", "bgcolor": "#593930" }, { "id": 121, "type": "PixelArtDetectorToImage", "pos": [ 1426, -350 ], "size": [ 315, 82 ], "flags": {}, "order": 19, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 210 } ], "outputs": [ { "name": "IMAGE", "shape": 6, "type": "IMAGE", "slot_index": 0, "links": [ 211 ] } ], "properties": { "cnr_id": "comfyui-pixelart-detector", "ver": "fff89dd5649a01302e33c956c6ba285eb9826375", "Node name for S&R": "PixelArtDetectorToImage" }, "widgets_values": [ false, 128 ] }, { "id": 111, "type": "ImageScale", "pos": [ 1794, -377 ], "size": [ 315, 130 ], "flags": {}, "order": 22, "mode": 0, "inputs": [ { "name": "image", "type": "IMAGE", "link": 211 } ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", "slot_index": 0, "links": [ 203 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "ImageScale" }, "widgets_values": [ "nearest-exact", 512, 512, "disabled" ] }, { "id": 116, "type": "SaveImage", "pos": [ 2236, -814 ], "size": [ 484.3656005859375, 556.1629028320312 ], "flags": {}, "order": 24, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 203 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "SaveImage" }, "widgets_values": [ "ComfyUI" ] }, { "id": 118, "type": "SaveImage", "pos": [ 2238, -75 ], "size": [ 484.3656005859375, 556.1629028320312 ], "flags": {}, "order": 23, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 222 } ], "outputs": [], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "SaveImage" }, "widgets_values": [ "ComfyUI" ] }, { "id": 125, "type": "PixelArtLoadPalettes", "pos": [ 1082.7513427734375, 211.56544494628906 ], "size": [ 400, 136 ], "flags": {}, "order": 9, "mode": 0, "inputs": [], "outputs": [ { "name": "paletteList", "type": "LIST", "links": [ 221 ] } ], "properties": { "cnr_id": "comfyui-pixelart-detector", "ver": "fff89dd5649a01302e33c956c6ba285eb9826375", "Node name for S&R": "PixelArtLoadPalettes" }, "widgets_values": [ "31-1x.png", false, "Grid settings. The values will be forwarded to the 'PixelArt Palette Converter to render the grid with all palettes from this node.'", 40, "#f40e12", "#fff", 6, true, 3, "" ] }, { "id": 49, "type": "LoraLoader", "pos": [ 380, -621 ], "size": [ 315, 126 ], "flags": {}, "order": 14, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 46 }, { "name": "clip", "type": "CLIP", "link": 47 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 52 ] }, { "name": "CLIP", "type": "CLIP", "slot_index": 1, "links": [ 50, 51 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "LoraLoader" }, "widgets_values": [ "SDXL\\pixel-art-xl-v1.1.safetensors", 1, 1 ] }, { "id": 6, "type": "CLIPTextEncode", "pos": [ 413.5528564453125, -237.9700927734375 ], "size": [ 210.29940795898438, 88 ], "flags": {}, "order": 15, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 50 }, { "name": "text", "type": "STRING", "widget": { "name": "text" }, "link": 16 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 11 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "beautiful young girl on the beach, bikini, blue sky, pixelart" ], "color": "#232", "bgcolor": "#353" }, { "id": 39, "type": "Note", "pos": [ 411.15283203125, 38.82978057861328 ], "size": [ 214.97518920898438, 88 ], "flags": {}, "order": 10, "mode": 0, "inputs": [], "outputs": [], "title": "Note - CLIP Encode (BASE)", "properties": { "text": "" }, "widgets_values": [ "These nodes receive the text from the prompt and use the optimal CLIP settings for the specified checkpoint model" ], "color": "#323", "bgcolor": "#535" }, { "id": 7, "type": "CLIPTextEncode", "pos": [ 411.952880859375, -100.77001953125 ], "size": [ 210.29940795898438, 88 ], "flags": {}, "order": 16, "mode": 0, "inputs": [ { "name": "clip", "type": "CLIP", "link": 51 }, { "name": "text", "type": "STRING", "widget": { "name": "text" }, "link": 18 } ], "outputs": [ { "name": "CONDITIONING", "type": "CONDITIONING", "slot_index": 0, "links": [ 12 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "CLIPTextEncode" }, "widgets_values": [ "realistic, photorealistic, 3d" ], "color": "#322", "bgcolor": "#533" }, { "id": 14, "type": "PrimitiveNode", "pos": [ -60.48336410522461, 19.285940170288086 ], "size": [ 300, 160 ], "flags": {}, "order": 11, "mode": 0, "inputs": [], "outputs": [ { "name": "STRING", "type": "STRING", "widget": { "name": "text" }, "slot_index": 0, "links": [ 18 ] } ], "title": "Negative Prompt (Text)", "properties": { "Run widget replace on values": false }, "widgets_values": [ "realistic, photorealistic, 3d" ], "color": "#322", "bgcolor": "#533" }, { "id": 5, "type": "EmptyLatentImage", "pos": [ 364.9040832519531, 233.58416748046875 ], "size": [ 300, 110 ], "flags": {}, "order": 12, "mode": 0, "inputs": [], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 27 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "EmptyLatentImage" }, "widgets_values": [ 1024, 1024, 1 ], "color": "#323", "bgcolor": "#535" }, { "id": 10, "type": "KSamplerAdvanced", "pos": [ 731, -299 ], "size": [ 300, 546 ], "flags": {}, "order": 17, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 52 }, { "name": "positive", "type": "CONDITIONING", "link": 11 }, { "name": "negative", "type": "CONDITIONING", "link": 12 }, { "name": "latent_image", "type": "LATENT", "link": 27 }, { "name": "steps", "type": "INT", "widget": { "name": "steps" }, "link": 41 }, { "name": "end_at_step", "type": "INT", "widget": { "name": "end_at_step" }, "link": 43 } ], "outputs": [ { "name": "LATENT", "type": "LATENT", "slot_index": 0, "links": [ 70 ] } ], "title": "KSampler (Advanced) - BASE", "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "KSamplerAdvanced" }, "widgets_values": [ "enable", 485461415230978, "fixed", 20, 8, "euler", "normal", 0, 20, "disable" ], "color": "#223", "bgcolor": "#335" }, { "id": 126, "type": "PixelArtDetectorConverter", "pos": [ 1720, -50 ], "size": [ 400, 420 ], "flags": {}, "order": 20, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 223 }, { "name": "paletteList", "shape": 7, "type": "LIST", "link": 221 } ], "outputs": [ { "name": "IMAGE", "shape": 6, "type": "IMAGE", "links": [ 222 ] } ], "properties": { "cnr_id": "comfyui-pixelart-detector", "ver": "51cf5d2390b15f00e0005609f8cd9a5c8c968486", "Node name for S&R": "PixelArtDetectorConverter" }, "widgets_values": [ "GAMEBOY", 512, 512, "contain", "Image.quantize", 2, true, "Image.quantize", 128, false, "MAXCOVERAGE", "OpenCV.kmeans: only when reducing is enabled.\nRANDOM_CENTERS: Fast but doesn't guarantee same labels for the same image.\nPP_CENTERS: Slow but will yield optimum and consistent results for same input image.\nattempts: to run criteria_max_iterations so it gets the best labels. Increasing this value will slow down the runtime a lot, but improves the colors!\n", "RANDOM_CENTERS", 10, 10, "EUCLIDEAN_SQUARE", "Clean up colors: Iterate and eliminate pixels while there was none left covering less than the 'cleanup_pixels_threshold' of the image.\nOptionally, enable the 'reduce colors' option, which runs before this cleanup. Good cleanup_threshold values: between .01 & .05", true, 0.02, "none" ] }, { "id": 4, "type": "CheckpointLoaderSimple", "pos": [ -90, -620 ], "size": [ 350, 100 ], "flags": {}, "order": 13, "mode": 0, "inputs": [], "outputs": [ { "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 46 ] }, { "name": "CLIP", "type": "CLIP", "slot_index": 1, "links": [ 47 ] }, { "name": "VAE", "type": "VAE", "slot_index": 2, "links": [] } ], "title": "Load Checkpoint - BASE", "properties": { "cnr_id": "comfy-core", "ver": "0.3.49", "Node name for S&R": "CheckpointLoaderSimple" }, "widgets_values": [ "SDXL\\sdxlUnstableDiffusers_v11Rundiffusion.safetensors" ], "color": "#323", "bgcolor": "#535" }, { "id": 127, "type": "PixelArtDetectorSave", "pos": [ 1420, -1050 ], "size": [ 311.421875, 486 ], "flags": {}, "order": 21, "mode": 0, "inputs": [ { "name": "images", "type": "IMAGE", "link": 224 } ], "outputs": [], "properties": { "cnr_id": "comfyui-pixelart-detector", "ver": "51cf5d2390b15f00e0005609f8cd9a5c8c968486", "Node name for S&R": "PixelArtDetectorSave" }, "widgets_values": [ "%date%/PixelArt", false, 128, "lossy", 80, false, true, 512, 512, "contain" ] } ], "links": [ [ 11, 6, 0, 10, 1, "CONDITIONING" ], [ 12, 7, 0, 10, 2, "CONDITIONING" ], [ 16, 13, 0, 6, 1, "STRING" ], [ 18, 14, 0, 7, 1, "STRING" ], [ 27, 5, 0, 10, 3, "LATENT" ], [ 41, 45, 0, 10, 4, "INT" ], [ 43, 47, 0, 10, 5, "INT" ], [ 46, 4, 0, 49, 0, "MODEL" ], [ 47, 4, 1, 49, 1, "CLIP" ], [ 50, 49, 1, 6, 0, "CLIP" ], [ 51, 49, 1, 7, 0, "CLIP" ], [ 52, 49, 0, 10, 0, "MODEL" ], [ 57, 51, 0, 17, 1, "VAE" ], [ 70, 10, 0, 17, 0, "LATENT" ], [ 203, 111, 0, 116, 0, "IMAGE" ], [ 210, 17, 0, 121, 0, "IMAGE" ], [ 211, 121, 0, 111, 0, "IMAGE" ], [ 221, 125, 0, 126, 1, "LIST" ], [ 222, 126, 0, 118, 0, "IMAGE" ], [ 223, 17, 0, 126, 0, "IMAGE" ], [ 224, 17, 0, 127, 0, "IMAGE" ] ], "groups": [ { "id": 1, "title": "Base Prompt", "bounding": [ 390, -330, 258.39996337890625, 480.99981689453125 ], "color": "#3f789e", "font_size": 24, "flags": {} }, { "id": 2, "title": "Text Prompts", "bounding": [ -80, -260, 339, 622 ], "color": "#3f789e", "font_size": 24, "flags": {} }, { "id": 3, "title": "Load in BASE SDXL Model", "bounding": [ -100, -700, 369, 399 ], "color": "#a1309b", "font_size": 24, "flags": {} }, { "id": 4, "title": "Empty Latent Image", "bounding": [ 340, 160, 339, 443 ], "color": "#a1309b", "font_size": 24, "flags": {} }, { "id": 5, "title": "VAE Decoder", "bounding": [ 730, -800, 360, 350 ], "color": "#b06634", "font_size": 24, "flags": {} }, { "id": 6, "title": "Step Control", "bounding": [ 740, 250, 284, 524 ], "color": "#3f789e", "font_size": 24, "flags": {} } ], "config": {}, "extra": { "ds": { "scale": 0.5644739300537773, "offset": [ 117.74289987444925, 1189.8037779124018 ] }, "frontendVersion": "1.25.11", "VHS_latentpreview": false, "VHS_latentpreviewrate": 0, "VHS_MetadataImage": true, "VHS_KeepIntermediate": true }, "version": 0.4 }