From ac7450e369ab08cd2093235030289a7cbe959cbe Mon Sep 17 00:00:00 2001 From: Yahweasel Date: Thu, 15 Jan 2026 12:47:33 -0500 Subject: [PATCH] Adding more demonstration workflows --- README.md | 55 +- workflows/hf_make_ai_trash.json | 1102 +++++++++++++++++++++++++++++ workflows/hf_make_ai_trash.webp | Bin 0 -> 47932 bytes workflows/hf_prompt_enhancer.json | 690 ++++++++++++++++++ workflows/hf_prompt_enhancer.webp | Bin 0 -> 60990 bytes 5 files changed, 1831 insertions(+), 16 deletions(-) create mode 100644 workflows/hf_make_ai_trash.json create mode 100644 workflows/hf_make_ai_trash.webp create mode 100644 workflows/hf_prompt_enhancer.json create mode 100644 workflows/hf_prompt_enhancer.webp diff --git a/README.md b/README.md index 0cced85..dba4b8b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ -# HuggingFace Diffusers for ComfyUI +# HuggingFace Diffusers (and Transformers) for ComfyUI A lot of custom nodes for ComfyUI are really just bindings to HuggingFace -Diffusers, but overly constrained to use them in very particular ways. This set -of custom nodes is intended to be a generic set of bindings for HuggingFace -Diffusers, in theory allowing you to use any pipeline supported by HuggingFace. +Diffusers and/or Transformers, but overly constrained to use them in very +particular ways. This set of custom nodes is intended to be a generic set of +bindings for HuggingFace Diffusers and Transformers, in theory allowing you to +use any pipeline supported by HuggingFace. It also supports bitsandbytes quantization, automatic device mapping, and the other advantages unique to HuggingFace. @@ -17,7 +18,9 @@ I recommend ## Philosophy I've tried to make everything work fairly generically, as unopinionated as I -can manage. +can manage. There are no nodes for specialized tasks. For example, while this +node set is capable of being used for prompt enhancement, there is no “prompt +enhancement” node, because that's simply built from a text-to-text pipeline. Every node that loads a component has some default class that it loads, but you can replace the class simply by its name. For instance, the pipeline loader @@ -42,23 +45,18 @@ set them to `null` (`None`). These are some example workflows, in simple and exploded forms (where by “exploded” I mean “each step done separately”). -[GLM-Image](workflows/hf_glm_image.json) ([exploded])(workflows/hf_glm_image_exploded.json)) +[GLM-Image](workflows/hf_glm_image.json) ([exploded](workflows/hf_glm_image_exploded.json)) (Note: As of the writing of this README, requires the git version of both Diffusers and Transformers.) ![GLM-Image](workflows/hf_glm_image.webp) ![GLM-Image, exploded](workflows/hf_glm_image_exploded.webp) -[LongCat Image](workflows/hf_longcat_image.json) ([exploded](workflows/hf_longcat_image_exploded.json)) -(Note: Requires [my PR](https://github.com/huggingface/diffusers/pull/12963) to + * [Prompt enhancer](workflows/hf_prompt_enhancer.json) ([image](workflows/hf_prompt_enhancer.webp)) + * [LongCat Image](workflows/hf_longcat_image.json) ([exploded](workflows/hf_longcat_image_exploded.json), [image](workflows/hf_longcat_image.webp), [image exploded](workflows/hf_longcat_image_exploded.webp)) + * (Note: Requires [my PR](https://github.com/huggingface/diffusers/pull/12963) to use quantization.) - -![LongCat Image](workflows/hf_longcat_image.webp) -![LongCat Image, exploded](workflows/hf_longcat_image_exploded.webp) - -[SDXL](workflows/hf_sdxl.json) ([exploded](workflows/hf_sdxl_exploded.json)) - -![SDXL](workflows/hf_sdxl.webp) -![SDXL, exploded](workflows/hf_sdxl_exploded.webp) + * [SDXL](workflows/hf_sdxl.json) ([exploded](workflows/hf_sdxl_exploded.json), [image](workflows/hf_sdxl.webp), [image exploded](workflows/hf_sdxl_exploded.webp)) + * [AI trash converter](workflows/hf_make_ai_trash.json) ([image](workflows/hf_make_ai_trash.webp)) ## Nodes @@ -131,3 +129,28 @@ Some examples: Use these to decode/encode HuggingFace latents using HuggingFace VAEs. Automatic if pipelines are run in PIL mode. + +### HF Transformers load pipeline + +Load a HuggingFace *Transformers* (not Diffusers) pipeline. Useful for using an +LLM or VLM as part of a larger workflow, such as prompt enhancement or image +description. + +### HF Transformers create conversation + +Create or extend a conversation in the style used by HuggingFace Transformers. +Can include text or images. To create a multi-turn conversation, create +multiple “create conversation” nodes and chain them together. + +### HF Transformers unpack conversation + +Unpack a part of a conversation in HuggingFace Transformers format. Mostly +useful for unpacking the output of a Transformers pipeline. + +### HF Transformers run pipeline + +Run a HuggingFace Transformers pipeline. Takes anything as input, but for most +pipelines, you want a conversation as input. Outputs the raw result, and if a +conversation was generated, also outputs the extracted conversation. In most +cases, you will want to pass that conversation into an “unpack conversation” +node. diff --git a/workflows/hf_make_ai_trash.json b/workflows/hf_make_ai_trash.json new file mode 100644 index 0000000..bffa5a2 --- /dev/null +++ b/workflows/hf_make_ai_trash.json @@ -0,0 +1,1102 @@ +{ + "id": "cb3a9f62-0c68-4a23-b143-7ffeca8a3d24", + "revision": 0, + "last_node_id": 24, + "last_link_id": 25, + "nodes": [ + { + "id": 10, + "type": "ImageScale", + "pos": [ + 1170, + 450 + ], + "size": [ + 270, + 130 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 6 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 7 + ] + } + ], + "properties": { + "Node name for S&R": "ImageScale" + }, + "widgets_values": [ + "lanczos", + 512, + 512, + "center" + ] + }, + { + "id": 6, + "type": "HFTRunPipeline", + "pos": [ + 1150, + 280 + ], + "size": [ + 292.8333343505859, + 126 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "pipeline", + "type": "HFT_PIPELINE", + "link": 3 + }, + { + "name": "input", + "shape": 7, + "type": "*", + "link": 4 + } + ], + "outputs": [ + { + "name": "raw_result", + "type": "HFT_RESULT", + "links": null + }, + { + "name": "conversation", + "type": "HFT_CONVERSATION", + "links": [ + 5 + ] + } + ], + "properties": { + "Node name for S&R": "HFTRunPipeline" + }, + "widgets_values": [ + 1, + "fixed", + "{\"max_new_tokens\": 128}" + ] + }, + { + "id": 20, + "type": "ImageScaleToTotalPixels", + "pos": [ + 660, + 300 + ], + "size": [ + 270, + 106 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 17 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 18 + ] + } + ], + "properties": { + "Node name for S&R": "ImageScaleToTotalPixels" + }, + "widgets_values": [ + "lanczos", + 1, + 1 + ] + }, + { + "id": 5, + "type": "ImageToPIL", + "pos": [ + 690, + 480 + ], + "size": [ + 147.48333358764648, + 26 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 18 + } + ], + "outputs": [ + { + "name": "PIL_IMAGE", + "type": "PIL_IMAGE", + "links": [ + 2 + ] + } + ], + "properties": { + "Node name for S&R": "ImageToPIL" + }, + "widgets_values": [] + }, + { + "id": 2, + "type": "HFTLoadPipeline", + "pos": [ + 300, + 330 + ], + "size": [ + 299.3666595458984, + 202 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "HFT_PIPELINE", + "type": "HFT_PIPELINE", + "links": [ + 3 + ] + } + ], + "properties": { + "Node name for S&R": "HFTLoadPipeline" + }, + "widgets_values": [ + "image-text-to-text", + "", + "Qwen/Qwen3-VL-2B-Instruct", + "default", + "default", + "{\"attn_implementation\": \"flash_attention_2\"}", + "" + ] + }, + { + "id": 3, + "type": "HFTCreateConversation", + "pos": [ + 650, + 590 + ], + "size": [ + 400, + 200 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "previous", + "shape": 7, + "type": "HFT_CONVERSATION", + "link": null + }, + { + "name": "image", + "shape": 7, + "type": "PIL_IMAGE", + "link": 2 + } + ], + "outputs": [ + { + "name": "HFT_CONVERSATION", + "type": "HFT_CONVERSATION", + "links": [ + 4 + ] + } + ], + "properties": { + "Node name for S&R": "HFTCreateConversation" + }, + "widgets_values": [ + "user", + "Caption this image." + ] + }, + { + "id": 7, + "type": "HFTUnpackConversation", + "pos": [ + 1460, + 330 + ], + "size": [ + 353.3333343505859, + 98 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "conversation", + "type": "HFT_CONVERSATION", + "link": 5 + } + ], + "outputs": [ + { + "name": "role", + "type": "STRING", + "links": null + }, + { + "name": "text", + "type": "STRING", + "links": [ + 10, + 15, + 19 + ] + }, + { + "name": "image", + "type": "PIL_IMAGE", + "links": null + } + ], + "properties": { + "Node name for S&R": "HFTUnpackConversation" + }, + "widgets_values": [ + -1 + ] + }, + { + "id": 8, + "type": "HFDLoadPipeline", + "pos": [ + 1500, + 470 + ], + "size": [ + 314.6333312988281, + 198 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "vae", + "shape": 7, + "type": "HFD_AUTOENCODERKL", + "link": null + }, + { + "name": "text_encoder", + "shape": 7, + "type": "HFT_MODEL", + "link": null + } + ], + "outputs": [ + { + "name": "HFD_PIPELINE", + "type": "HFD_PIPELINE", + "links": [ + 9, + 20 + ] + }, + { + "name": "HFD_AUTOENCODERKL", + "type": "HFD_AUTOENCODERKL", + "links": null + } + ], + "properties": { + "Node name for S&R": "HFDLoadPipeline" + }, + "widgets_values": [ + "AmusedImg2ImgPipeline", + "amused/amused-512", + "default", + false, + "default", + "" + ] + }, + { + "id": 11, + "type": "ImageToPIL", + "pos": [ + 1290, + 630 + ], + "size": [ + 147.48333358764648, + 26 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 7 + } + ], + "outputs": [ + { + "name": "PIL_IMAGE", + "type": "PIL_IMAGE", + "links": [ + 8, + 21 + ] + } + ], + "properties": { + "Node name for S&R": "ImageToPIL" + }, + "widgets_values": [] + }, + { + "id": 12, + "type": "PILToImage", + "pos": [ + 2220, + 330 + ], + "size": [ + 140, + 26 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "PIL_IMAGE", + "link": 11 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 13 + ] + } + ], + "properties": { + "Node name for S&R": "PILToImage" + }, + "widgets_values": [] + }, + { + "id": 14, + "type": "ImageUpscaleWithModel", + "pos": [ + 2500, + 330 + ], + "size": [ + 233.53333129882813, + 46 + ], + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "upscale_model", + "type": "UPSCALE_MODEL", + "link": 12 + }, + { + "name": "image", + "type": "IMAGE", + "link": 13 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 14 + ] + } + ], + "properties": { + "Node name for S&R": "ImageUpscaleWithModel" + }, + "widgets_values": [] + }, + { + "id": 23, + "type": "ImageUpscaleWithModel", + "pos": [ + 2500, + 790 + ], + "size": [ + 233.53333129882813, + 46 + ], + "flags": {}, + "order": 17, + "mode": 0, + "inputs": [ + { + "name": "upscale_model", + "type": "UPSCALE_MODEL", + "link": 25 + }, + { + "name": "image", + "type": "IMAGE", + "link": 22 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 23 + ] + } + ], + "properties": { + "Node name for S&R": "ImageUpscaleWithModel" + }, + "widgets_values": [] + }, + { + "id": 24, + "type": "SaveImage", + "pos": [ + 2750, + 790 + ], + "size": [ + 270, + 270 + ], + "flags": {}, + "order": 19, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 23 + } + ], + "outputs": [], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 22, + "type": "PILToImage", + "pos": [ + 2220, + 790 + ], + "size": [ + 140, + 26 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "PIL_IMAGE", + "link": 24 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 22 + ] + } + ], + "properties": { + "Node name for S&R": "PILToImage" + }, + "widgets_values": [] + }, + { + "id": 13, + "type": "UpscaleModelLoader", + "pos": [ + 2220, + 540 + ], + "size": [ + 270, + 58 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "UPSCALE_MODEL", + "type": "UPSCALE_MODEL", + "links": [ + 12, + 25 + ] + } + ], + "properties": { + "Node name for S&R": "UpscaleModelLoader" + }, + "widgets_values": [ + "002_lightweightSR_DIV2K_s64w8_SwinIR-S_x2.pth" + ] + }, + { + "id": 15, + "type": "SaveImage", + "pos": [ + 2750, + 330 + ], + "size": [ + 270, + 270 + ], + "flags": {}, + "order": 18, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 14 + } + ], + "outputs": [], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 9, + "type": "HFDRunPipeline", + "pos": [ + 1840, + 330 + ], + "size": [ + 357.61667251586914, + 420 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "pipeline", + "type": "HFD_PIPELINE", + "link": 9 + }, + { + "name": "image", + "shape": 7, + "type": "PIL_IMAGE", + "link": 8 + }, + { + "name": "mask_image", + "shape": 7, + "type": "PIL_IMAGE", + "link": null + }, + { + "name": "latents", + "shape": 7, + "type": "LATENT", + "link": null + }, + { + "name": "prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "pooled_prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "negative_prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "negative_pooled_prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "prompt", + "type": "STRING", + "widget": { + "name": "prompt" + }, + "link": 10 + } + ], + "outputs": [ + { + "name": "PIL_IMAGE", + "type": "PIL_IMAGE", + "links": [ + 11 + ] + }, + { + "name": "LATENT", + "type": "LATENT", + "links": null + } + ], + "properties": { + "Node name for S&R": "HFDRunPipeline" + }, + "widgets_values": [ + "a photo of an astronaut riding a horse on mars", + "", + 0, + 0, + 1, + "fixed", + 0, + "pil", + "{\"strength\": 0.25}" + ] + }, + { + "id": 18, + "type": "PreviewAny", + "pos": [ + 1850, + 110 + ], + "size": [ + 210, + 166 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "source", + "type": "*", + "link": 15 + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "PreviewAny" + }, + "widgets_values": [ + null, + null, + null + ] + }, + { + "id": 21, + "type": "HFDRunPipeline", + "pos": [ + 1840, + 790 + ], + "size": [ + 357.61667251586914, + 420 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "pipeline", + "type": "HFD_PIPELINE", + "link": 20 + }, + { + "name": "image", + "shape": 7, + "type": "PIL_IMAGE", + "link": 21 + }, + { + "name": "mask_image", + "shape": 7, + "type": "PIL_IMAGE", + "link": null + }, + { + "name": "latents", + "shape": 7, + "type": "LATENT", + "link": null + }, + { + "name": "prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "pooled_prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "negative_prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "negative_pooled_prompt_embeds", + "shape": 7, + "type": "TENSOR", + "link": null + }, + { + "name": "prompt", + "type": "STRING", + "widget": { + "name": "prompt" + }, + "link": 19 + } + ], + "outputs": [ + { + "name": "PIL_IMAGE", + "type": "PIL_IMAGE", + "links": [ + 24 + ] + }, + { + "name": "LATENT", + "type": "LATENT", + "links": null + } + ], + "properties": { + "Node name for S&R": "HFDRunPipeline" + }, + "widgets_values": [ + "a photo of an astronaut riding a horse on mars", + "", + 0, + 0, + 1, + "fixed", + 0, + "pil", + "{\"strength\": 0.5}" + ] + }, + { + "id": 4, + "type": "LoadImageFromPath", + "pos": [ + 300, + 580 + ], + "size": [ + 270, + 78 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 6, + 17 + ] + }, + { + "name": "MASK", + "type": "MASK", + "links": null + } + ], + "properties": { + "Node name for S&R": "LoadImageFromPath" + }, + "widgets_values": [ + "peace-treaty.png" + ] + } + ], + "links": [ + [ + 2, + 5, + 0, + 3, + 1, + "PIL_IMAGE" + ], + [ + 3, + 2, + 0, + 6, + 0, + "HFT_PIPELINE" + ], + [ + 4, + 3, + 0, + 6, + 1, + "HFT_CONVERSATION" + ], + [ + 5, + 6, + 1, + 7, + 0, + "HFT_CONVERSATION" + ], + [ + 6, + 4, + 0, + 10, + 0, + "IMAGE" + ], + [ + 7, + 10, + 0, + 11, + 0, + "IMAGE" + ], + [ + 8, + 11, + 0, + 9, + 1, + "PIL_IMAGE" + ], + [ + 9, + 8, + 0, + 9, + 0, + "HFD_PIPELINE" + ], + [ + 10, + 7, + 1, + 9, + 8, + "STRING" + ], + [ + 11, + 9, + 0, + 12, + 0, + "PIL_IMAGE" + ], + [ + 12, + 13, + 0, + 14, + 0, + "UPSCALE_MODEL" + ], + [ + 13, + 12, + 0, + 14, + 1, + "IMAGE" + ], + [ + 14, + 14, + 0, + 15, + 0, + "IMAGE" + ], + [ + 15, + 7, + 1, + 18, + 0, + "STRING" + ], + [ + 17, + 4, + 0, + 20, + 0, + "IMAGE" + ], + [ + 18, + 20, + 0, + 5, + 0, + "IMAGE" + ], + [ + 19, + 7, + 1, + 21, + 8, + "STRING" + ], + [ + 20, + 8, + 0, + 21, + 0, + "HFD_PIPELINE" + ], + [ + 21, + 11, + 0, + 21, + 1, + "PIL_IMAGE" + ], + [ + 22, + 22, + 0, + 23, + 1, + "IMAGE" + ], + [ + 23, + 23, + 0, + 24, + 0, + "IMAGE" + ], + [ + 24, + 21, + 0, + 22, + 0, + "PIL_IMAGE" + ], + [ + 25, + 13, + 0, + 23, + 0, + "UPSCALE_MODEL" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 0.578102189781022, + "offset": [ + 0.6060606060602822, + 141.19318181818164 + ] + }, + "workflowRendererVersion": "LG", + "frontendVersion": "1.35.9", + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/workflows/hf_make_ai_trash.webp b/workflows/hf_make_ai_trash.webp new file mode 100644 index 0000000000000000000000000000000000000000..1fa425d2021c8376b4b0fc332807cfab860fe910 GIT binary patch literal 47932 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
h(B;PF@vS{VW9EiWrZ2R12~QoiQx(2owKz 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 literal 0 HcmV?d00001 diff --git a/workflows/hf_prompt_enhancer.json b/workflows/hf_prompt_enhancer.json new file mode 100644 index 0000000..81fb547 --- /dev/null +++ b/workflows/hf_prompt_enhancer.json @@ -0,0 +1,690 @@ +{ + "id": "ec755963-7a99-4853-a631-e26edbd62658", + "revision": 0, + "last_node_id": 14, + "last_link_id": 15, + "nodes": [ + { + "id": 6, + "type": "HFTUnpackConversation", + "pos": [ + 1750, + 290 + ], + "size": [ + 353.3333343505859, + 98 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "conversation", + "type": "HFT_CONVERSATION", + "link": 4 + } + ], + "outputs": [ + { + "name": "role", + "type": "STRING", + "links": null + }, + { + "name": "text", + "type": "STRING", + "links": [ + 5, + 6 + ] + }, + { + "name": "image", + "type": "PIL_IMAGE", + "links": null + } + ], + "properties": { + "Node name for S&R": "HFTUnpackConversation" + }, + "widgets_values": [ + -1 + ] + }, + { + "id": 11, + "type": "ConditioningZeroOut", + "pos": [ + 2180, + 520 + ], + "size": [ + 204.0999984741211, + 26 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "conditioning", + "type": "CONDITIONING", + "link": 10 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 11 + ] + } + ], + "properties": { + "Node name for S&R": "ConditioningZeroOut" + }, + "widgets_values": [] + }, + { + "id": 12, + "type": "EmptyLatentImage", + "pos": [ + 2110, + 590 + ], + "size": [ + 270, + 106 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 12 + ] + } + ], + "properties": { + "Node name for S&R": "EmptyLatentImage" + }, + "widgets_values": [ + 1152, + 896, + 1 + ] + }, + { + "id": 14, + "type": "SaveImage", + "pos": [ + 2840, + 280 + ], + "size": [ + 270, + 270 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 15 + } + ], + "outputs": [], + "properties": {}, + "widgets_values": [ + "ComfyUI" + ] + }, + { + "id": 13, + "type": "VAEDecode", + "pos": [ + 2690, + 280 + ], + "size": [ + 140, + 46 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 13 + }, + { + "name": "vae", + "type": "VAE", + "link": 14 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 15 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecode" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "KSampler", + "pos": [ + 2410, + 280 + ], + "size": [ + 270, + 474 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 8 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 9 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 11 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 12 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 13 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler" + }, + "widgets_values": [ + 1, + "fixed", + 20, + 7, + "euler", + "simple", + 1 + ] + }, + { + "id": 8, + "type": "CheckpointLoaderSimple", + "pos": [ + 1820, + 500 + ], + "size": [ + 270, + 98 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 8 + ] + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 7 + ] + }, + { + "name": "VAE", + "type": "VAE", + "links": [ + 14 + ] + } + ], + "properties": { + "Node name for S&R": "CheckpointLoaderSimple" + }, + "widgets_values": [ + "juggernautXL_juggXIByRundiffusion.safetensors" + ] + }, + { + "id": 3, + "type": "HFTCreateConversation", + "pos": [ + 990, + 530 + ], + "size": [ + 400, + 200 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "previous", + "shape": 7, + "type": "HFT_CONVERSATION", + "link": null + }, + { + "name": "image", + "shape": 7, + "type": "PIL_IMAGE", + "link": null + } + ], + "outputs": [ + { + "name": "HFT_CONVERSATION", + "type": "HFT_CONVERSATION", + "links": [ + 1 + ] + } + ], + "properties": { + "Node name for S&R": "HFTCreateConversation" + }, + "widgets_values": [ + "system", + "You are an expert in writing prompts for AI image generation. Given a user's raw input prompt, expand it into a detailed image generation prompt with specific details to guide a text-to-image model.\n\n## Requirements\n\nStrictly follow all aspects of the user's raw input. Include every element requested (style and content). If the input is vague, invent concrete details, such as lighting, textures, materials, surrounding scene, etc. For characters, describe gender, clothing, hair, expressions, etc. Do not invent unrequested characters.\n\nInclude an overall visual style at the end, such as \". Style: