From 4626519a67c54ea81d06eca9bf1f688aaa15c529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=87=E6=98=9F=E5=B9=BB=E6=B5=B7?= <1+qishizhe@noreply.git.lain.asia> Date: Sun, 1 Nov 2026 17:12:51 +0800 Subject: [PATCH] docs: preserve workflow interface and provenance snapshots --- 工作流搭建指南/接口核对/公开来源链接检查.json | 53 + 工作流搭建指南/接口核对/服务版本.json | 7 + 工作流搭建指南/接口核对/示例来源与校验.json | 212 + 工作流搭建指南/接口核对/节点接口快照.json | 4405 +++++++++++++++++ 4 files changed, 4677 insertions(+) create mode 100644 工作流搭建指南/接口核对/公开来源链接检查.json create mode 100644 工作流搭建指南/接口核对/服务版本.json create mode 100644 工作流搭建指南/接口核对/示例来源与校验.json create mode 100644 工作流搭建指南/接口核对/节点接口快照.json diff --git a/工作流搭建指南/接口核对/公开来源链接检查.json b/工作流搭建指南/接口核对/公开来源链接检查.json new file mode 100644 index 0000000..1a73736 --- /dev/null +++ b/工作流搭建指南/接口核对/公开来源链接检查.json @@ -0,0 +1,53 @@ +{ + "checked_date": "2026-10-31", + "results": [ + { + "url": "https://docs.comfy.org/development/core-concepts/properties", + "http_status": 200, + "final_url": "https://docs.comfy.org/basic-concepts/properties", + "reachable": true + }, + { + "url": "https://github.com/Comfy-Org/ComfyUI/blob/master/nodes.py", + "http_status": 200, + "final_url": "https://github.com/Comfy-Org/ComfyUI/blob/master/nodes.py", + "reachable": true + }, + { + "url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_custom_sampler.py", + "http_status": 200, + "final_url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_custom_sampler.py", + "reachable": true + }, + { + "url": "https://docs.comfy.org/tutorials/image/qwen/qwen-image-2-1", + "http_status": 200, + "final_url": "https://docs.comfy.org/tutorials/image/qwen/qwen-image-2-1", + "reachable": true + }, + { + "url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_qwen.py", + "http_status": 200, + "final_url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_qwen.py", + "reachable": true + }, + { + "url": "https://huggingface.co/MiniMaxAI/MiniMax-H3", + "http_status": 200, + "final_url": "https://huggingface.co/MiniMaxAI/MiniMax-H3", + "reachable": true + }, + { + "url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_minimax_h3.py", + "http_status": 200, + "final_url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_minimax_h3.py", + "reachable": true + }, + { + "url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_minimax_music.py", + "http_status": 200, + "final_url": "https://github.com/Comfy-Org/ComfyUI/blob/master/comfy_extras/nodes_minimax_music.py", + "reachable": true + } + ] +} diff --git a/工作流搭建指南/接口核对/服务版本.json b/工作流搭建指南/接口核对/服务版本.json new file mode 100644 index 0000000..1a5ab67 --- /dev/null +++ b/工作流搭建指南/接口核对/服务版本.json @@ -0,0 +1,7 @@ +{ + "checked_date": "2026-10-31", + "base_url": "http://192.168.10.51:8188", + "comfyui_version": "0.39.0", + "nodes_found": 39, + "missing": [] +} diff --git a/工作流搭建指南/接口核对/示例来源与校验.json b/工作流搭建指南/接口核对/示例来源与校验.json new file mode 100644 index 0000000..7847a5a --- /dev/null +++ b/工作流搭建指南/接口核对/示例来源与校验.json @@ -0,0 +1,212 @@ +{ + "checked_date": "2026-10-31", + "status": "PASS", + "new_gpu_jobs": 0, + "new_workflow_submissions": 0, + "example_count": 6, + "asset_count": 6, + "records": [ + { + "name": "01_文生图_ZImage", + "purpose": "角色初始定妆", + "node_count": 10, + "gui_links": 10, + "source_job": "F:\\AI视频项目\\摩西出埃及_应许之路_20261030\\jobs\\C01_Moses_master", + "prompt_id": "6eb1e7ad-b563-4492-88f5-5b41e595e2ae", + "runtime_status": "success", + "historical_executed_api_matches": true, + "workflow_canonical_sha256": "b0d7571bd174b1adcdaa7ef5b0f331797a2742caea2b8f13856b37e3335109bf", + "live_schema_check": "PASS", + "gui_overlaps": [], + "copies": { + "GUI": { + "file": "示例工作流/01_文生图_ZImage.json", + "sha256": "8aebff527189edf3965ec29cb91e89e6f742e4125cf31c9c4d29c6268c538261", + "unchanged_copy": true + }, + "API": { + "file": "示例工作流/01_文生图_ZImage.api.json", + "sha256": "81d1c89217af4b9bb98c7abd5cebbcbc41a91765a6256bd89c6b8d87eae97ac2", + "unchanged_copy": true + } + }, + "assets": [] + }, + { + "name": "02_参考图编辑_Qwen21", + "purpose": "同一角色换场景和构图", + "node_count": 9, + "gui_links": 11, + "source_job": "F:\\AI视频项目\\摩西出埃及_应许之路_20261030\\jobs\\K02_demand", + "prompt_id": "1b6af920-8f25-4c64-a933-aaea90209572", + "runtime_status": "success", + "historical_executed_api_matches": true, + "workflow_canonical_sha256": "20d48f3fd473aed19e11240cc0aedf5678315582f38e246d229894a5307006f8", + "live_schema_check": "PASS", + "gui_overlaps": [], + "copies": { + "GUI": { + "file": "示例工作流/02_参考图编辑_Qwen21.json", + "sha256": "3d5b4c7b808fe6d8b21dafc6f9fed2faa16f620bc25fc33b1738c8e542afc500", + "unchanged_copy": true + }, + "API": { + "file": "示例工作流/02_参考图编辑_Qwen21.api.json", + "sha256": "021c1081d42faa5ee5418e5aa219881c2f84977188dc24734d0f560ba3a5226f", + "unchanged_copy": true + } + }, + "assets": [ + { + "node_id": "1", + "input": "image", + "remote_original": "exodus_20261030/refs/MOSES_M01_master.png", + "local_file": "示例素材/MOSES_M01_master.png", + "sha256": "5e52ecfcff4c36221413f2048047a630faf29557ab2a749796b8d1f31b1286d3" + } + ] + }, + { + "name": "03_图生视频_H3_I2V", + "purpose": "首帧驱动动作与原生声画", + "node_count": 16, + "gui_links": 19, + "source_job": "F:\\AI视频项目\\摩西出埃及_应许之路_20261030\\jobs\\S02_demand", + "prompt_id": "888e97fd-0401-4d09-be3b-4d40482598c8", + "runtime_status": "success", + "historical_executed_api_matches": true, + "workflow_canonical_sha256": "dceb2859cf23dfc9891366cf90ced9e7ffdecc7def25d273e31d6a2552560414", + "live_schema_check": "PASS", + "gui_overlaps": [], + "copies": { + "GUI": { + "file": "示例工作流/03_图生视频_H3_I2V.json", + "sha256": "92cb79dcd126c1bfb1eea5960fb0e42984a0cd5afbb724220edaa477f31b2558", + "unchanged_copy": true + }, + "API": { + "file": "示例工作流/03_图生视频_H3_I2V.api.json", + "sha256": "1668b19c835f1186eb766dd67cc16932f78896bfbf69dc125a305467679689ee", + "unchanged_copy": true + } + }, + "assets": [ + { + "node_id": "1", + "input": "image", + "remote_original": "exodus_20261030/refs/K02_demand.png", + "local_file": "示例素材/K02_demand.png", + "sha256": "8fe69dba8a48abe9e336d8537fd7ceb93430db0a9a58fa3ef37cdec6c7392238" + } + ] + }, + { + "name": "04_多参考对白_H3_Ref2VA", + "purpose": "人物图与音色参考", + "node_count": 17, + "gui_links": 21, + "source_job": "F:\\AI视频项目\\摩西出埃及_应许之路_20261030\\jobs\\S06_courage", + "prompt_id": "fd456989-a181-4b59-b5d4-d131fa7685b5", + "runtime_status": "success", + "historical_executed_api_matches": true, + "workflow_canonical_sha256": "8865d9e06a74283b4a53b73b079b32ef712142eb7d902a715db0ed6c9b1273e3", + "live_schema_check": "PASS", + "gui_overlaps": [], + "copies": { + "GUI": { + "file": "示例工作流/04_多参考对白_H3_Ref2VA.json", + "sha256": "9d3b7e12b1bf823a2e0404d99b944888d1a24ece027e29e4750e0eb82f039138", + "unchanged_copy": true + }, + "API": { + "file": "示例工作流/04_多参考对白_H3_Ref2VA.api.json", + "sha256": "5ec1c669873867859f3cb7419ba84f6603f014949b02b118476dbefa8d72812f", + "unchanged_copy": true + } + }, + "assets": [ + { + "node_id": "1", + "input": "image", + "remote_original": "exodus_20261030/refs/K06_courage.png", + "local_file": "示例素材/K06_courage.png", + "sha256": "014fd26a43c94811472f240f65ea8aa5cbf1e3d068f854b42fe671c665f5432e" + }, + { + "node_id": "2", + "input": "audio", + "remote_original": "exodus_20261030/refs/MOSES_V01_reference.wav", + "local_file": "示例素材/MOSES_V01_reference.wav", + "sha256": "358219ca1586897b62e23764c854686c99338c277bfe2e69482e6ea5f8a5feb1" + } + ] + }, + { + "name": "05_首尾帧视频_H3_FL2V", + "purpose": "两个确定画面之间的变化", + "node_count": 17, + "gui_links": 20, + "source_job": "F:\\AI视频项目\\摩西出埃及_应许之路_20261030\\jobs\\S08_split", + "prompt_id": "c7c45c48-4d43-4296-8ac0-9548f1f82f13", + "runtime_status": "success", + "historical_executed_api_matches": true, + "workflow_canonical_sha256": "b87768749be3cd00960242467d93b79c84f1b183206e65fa2859a906d9081b64", + "live_schema_check": "PASS", + "gui_overlaps": [], + "copies": { + "GUI": { + "file": "示例工作流/05_首尾帧视频_H3_FL2V.json", + "sha256": "1a2681e0649cc109bad651bb5cac2379e1505f83636691b183667edecd761fc8", + "unchanged_copy": true + }, + "API": { + "file": "示例工作流/05_首尾帧视频_H3_FL2V.api.json", + "sha256": "7b3b34797540eae4941868cfb8d6f4beffcb673592c17e3bf0b4388cfedd7eb2", + "unchanged_copy": true + } + }, + "assets": [ + { + "node_id": "1", + "input": "image", + "remote_original": "exodus_20261030/refs/K08R2_ocean_start.png", + "local_file": "示例素材/K08R2_ocean_start.png", + "sha256": "8fdd582a730088e1ef5665187255308997a6347c5699d2135f6bc4d01b4d2a1d" + }, + { + "node_id": "2", + "input": "image", + "remote_original": "exodus_20261030/refs/K08R1_split.png", + "local_file": "示例素材/K08R1_split.png", + "sha256": "1bd92491e34c9d3e13563f7758297aaa6bba60d0991f85334721d8f7857be333" + } + ] + }, + { + "name": "06_配乐_MiniMaxMusic3", + "purpose": "独立原创器乐", + "node_count": 9, + "gui_links": 10, + "source_job": "F:\\AI视频项目\\摩西出埃及_应许之路_20261030\\audio\\music_workflows\\jobs\\M02_red_sea", + "prompt_id": "e63fd9a2-f986-4a83-b799-6831958b300d", + "runtime_status": "success", + "historical_executed_api_matches": true, + "workflow_canonical_sha256": "a5d4091da5822b67729062214744bbc22fc516aaaa1eb915395357f5bc43e2ab", + "live_schema_check": "PASS", + "gui_overlaps": [], + "copies": { + "GUI": { + "file": "示例工作流/06_配乐_MiniMaxMusic3.json", + "sha256": "a5321f21a2d5633aa37e2de5c1ce54fe2de5328dcb86c51653038b932baf8d5b", + "unchanged_copy": true + }, + "API": { + "file": "示例工作流/06_配乐_MiniMaxMusic3.api.json", + "sha256": "e254b6f1da89330895ee71e835b80d225b730e892f0531cb8229542b0934f5f9", + "unchanged_copy": true + } + }, + "assets": [] + } + ] +} diff --git a/工作流搭建指南/接口核对/节点接口快照.json b/工作流搭建指南/接口核对/节点接口快照.json new file mode 100644 index 0000000..e3ad0fb --- /dev/null +++ b/工作流搭建指南/接口核对/节点接口快照.json @@ -0,0 +1,4405 @@ +{ + "CheckpointLoaderSimple": { + "input": { + "required": { + "ckpt_name": [ + [ + "DreamShaper_8_pruned.safetensors", + "Juggernaut-XL_v9_RunDiffusionPhoto_v2.safetensors", + "MOHAWK_v20.safetensors", + "NetaYumev35_pretrained_all_in_one.safetensors", + "aZovyaRPGArtistTools_v4.safetensors", + "ace_step_1.5_turbo_aio.safetensors", + "ace_step_v1_3.5b.safetensors", + "aliceDollMix.safetensors", + "aniverse_thxEd14.safetensors", + "calicomix_v75.safetensors", + "capybara_v0.1.safetensors", + "corbeFusionMix2D_v10.safetensors", + "counterfeitxl_v10.safetensors", + "cyberrealistic_v40.safetensors", + "dreamshaper_8.safetensors", + "epicphotogasm_lastUnicorn.safetensors", + "epicphotogasm_x.safetensors", + "epicrealism_naturalSinRC1VAE.safetensors", + "expmixLine_v3_49939.safetensors", + "flux1-dev-fp8.safetensors", + "flux1-schnell-fp8.safetensors", + "formulaxlXLComfyui_v20Pruned.safetensors", + "hidream_o1_image_bf16.safetensors", + "hidream_o1_image_dev_fp8_scaled.safetensors", + "hunyuan3d-dit-v2-mv-turbo_fp16.safetensors", + "hunyuan3d-dit-v2-mv_fp16.safetensors", + "hunyuan3d-dit-v2_fp16.safetensors", + "hunyuan_3d_v2.1.safetensors", + "imp_v10.safetensors", + "isabelia_v10.safetensors", + "juggernautXL_juggXIByRundiffusion.safetensors", + "juggernautXL_v9Rdphoto2Lightning.safetensors", + "juggernautXL_version5.safetensors", + "leosamsFilmgirlUltra_ultraBaseModel.safetensors", + "ltx-2-19b-dev-fp8.safetensors", + "ltx-2-19b-dev.safetensors", + "ltx-2-19b-distilled.safetensors", + "ltx-2.3-22b-dev-fp8.safetensors", + "ltx-2.3-22b-distilled-fp8.safetensors", + "ltx-av-step-1751000_vocoder_24K.safetensors", + "ltx-video-2b-v0.9.5.safetensors", + "ltx-video-2b-v0.9.safetensors", + "majicmixLux_v2.safetensors", + "majicmixRealistic_v6.safetensors", + "majicmixRealistic_v7.safetensors", + "picxReal_10.safetensors", + "realismByStableYogi_v4LCM.safetensors", + "realisticVisionV51_v51VAE.safetensors", + "realisticVisionV60B1_v60B1VAE_192715.safetensors", + "revAnimated_v122EOL.safetensors", + "sam3.1_multiplex_fp16.safetensors", + "sd3.5_large_fp8_scaled.safetensors", + "sd_xl_base_1.0.safetensors", + "sd_xl_refiner_1.0.safetensors", + "sd_xl_turbo_1.0_fp16.safetensors", + "sdpose_wholebody_fp16.safetensors", + "sdxl-dpo-v1.safetensors", + "stable-audio-open-1.0.safetensors", + "stable_audio_3_medium.safetensors", + "stable_audio_3_medium_base.safetensors", + "svd.safetensors", + "svd_xt-fp16.safetensors", + "svd_xt.safetensors", + "swizz8_XREALBakedvae.safetensors", + "turbovisionxlSuperFastXLBasedOnNew_tvxlV32Bakedvae.safetensors", + "turbovisionxlSuperFastXLBasedOnNew_tvxlV431Bakedvae.safetensors", + "v1-5-pruned-emaonly-fp16.safetensors", + "yue2_3b_int8_convrot.safetensors" + ], + { + "tooltip": "The name of the checkpoint (model) to load." + } + ] + } + }, + "input_order": { + "required": [ + "ckpt_name" + ] + }, + "is_input_list": false, + "output": [ + "MODEL", + "CLIP", + "VAE" + ], + "output_is_list": [ + false, + false, + false + ], + "output_name": [ + "MODEL", + "CLIP", + "VAE" + ], + "name": "CheckpointLoaderSimple", + "display_name": "Load Checkpoint", + "description": "Loads a diffusion model checkpoint, diffusion models are used to denoise latents.", + "python_module": "nodes", + "category": "model/loaders", + "output_node": false, + "has_intermediate_output": false, + "output_tooltips": [ + "The model used for denoising latents.", + "The CLIP model used for encoding text prompts.", + "The VAE model used for encoding and decoding images to and from latent space." + ], + "search_aliases": [ + "load model", + "checkpoint", + "model loader", + "load checkpoint", + "ckpt", + "model" + ] + }, + "UNETLoader": { + "input": { + "required": { + "unet_name": [ + [ + "Chroma1-HD-fp8_scaled_rev2.safetensors", + "Chroma1-HD-fp8mixed.safetensors", + "Chroma1-Radiance-v0.3.safetensors", + "FireRed-Image-Edit-1.0-Lightning-8steps-v1.0.safetensors", + "FireRed-Image-Edit-1.1-transformer.safetensors", + "NewBie-Image-Exp0.1-bf16.safetensors", + "Wan21-WanMove_fp8_scaled_e4m3fn_KJ.safetensors", + "Wan2_1-I2V-14B-480p_fp8_e4m3fn_scaled_KJ.safetensors", + "Wan2_1-I2V-ATI-14B_fp8_e4m3fn.safetensors", + "Wan2_1-VACE_module_14B_bf16.safetensors", + "Wan2_2-Animate-14B_fp8_e4m3fn_scaled_KJ.safetensors", + "acestep_v1.5_turbo.safetensors", + "acestep_v1.5_xl_base_bf16.safetensors", + "acestep_v1.5_xl_sft_bf16.safetensors", + "acestep_v1.5_xl_turbo_bf16.safetensors", + "anima-base-v1.0.safetensors", + "anima-preview3-base.safetensors", + "boogu_image_edit_fp8_scaled.safetensors", + "boogu_image_edit_int8_convrot.safetensors", + "boogu_image_turbo_fp8_scaled.safetensors", + "capybara_v0.1.safetensors", + "causal_forcing-framewise.safetensors", + "chroma-radiance-x0.safetensors", + "chrono_edit_14B_fp16.safetensors", + "ernie-image-turbo.safetensors", + "ernie-image.safetensors", + "fasth3_omniref_8step_pruned_int8_convrot.safetensors", + "fastvideo_fasth3_8step_v2_pruned_int8_convrot.safetensors", + "fibo2_dev_int8_convrot.safetensors", + "fibo2_edit_turbo_int8_convrot.safetensors", + "flux-2-klein-4b-fp8.safetensors", + "flux-2-klein-4b.safetensors", + "flux-2-klein-9b-fp8.safetensors", + "flux-2-klein-9b-kv-fp8.safetensors", + "flux-2-klein-base-4b-fp8.safetensors", + "flux-2-klein-base-4b.safetensors", + "flux-2-klein-base-9b-fp8.safetensors", + "flux.1-fill-dev-OneReward-transformer_fp8.safetensors", + "flux1-canny-dev.safetensors", + "flux1-dev-fp8.safetensors", + "flux1-dev-kontext_fp8_scaled.safetensors", + "flux1-dev.safetensors", + "flux1-fill-dev.safetensors", + "flux1-krea-dev_fp8_scaled.safetensors", + "flux1-schnell.safetensors", + "flux2_dev_fp8mixed.safetensors", + "flux3-image-klein-int8-convrot.safetensors", + "hidream_e1_1_bf16.safetensors", + "hidream_e1_full_bf16.safetensors", + "hidream_i1_dev_fp8.safetensors", + "hidream_i1_fast_fp8.safetensors", + "hidream_i1_full_fp8.safetensors", + "humo_17B_fp8_e4m3fn.safetensors", + "hunyuan_video_t2v_720p_bf16.safetensors", + "hunyuanvideo1.5_1080p_sr_distilled_fp16.safetensors", + "hunyuanvideo1.5_720p_i2v_fp16.safetensors", + "hunyuanvideo1.5_720p_t2v_fp16.safetensors", + "ideogram4_fp8_scaled.safetensors", + "ideogram4_int8_convrot.safetensors", + "ideogram4_unconditional_fp8_scaled.safetensors", + "ideogram4_unconditional_int8_convrot.safetensors", + "joyai_image_edit_int8_convrot.safetensors", + "kandinsky5lite_i2v_5s.safetensors", + "kandinsky5lite_t2i.safetensors", + "kandinsky5lite_t2v_sft_5s.safetensors", + "krea2_turbo_fp8_scaled.safetensors", + "krea2_turbo_int8_convrot.safetensors", + "lens_bf16.safetensors", + "lens_turbo_bf16.safetensors", + "longcat_image_bf16.safetensors", + "longcat_image_edit_bf16.safetensors", + "lotus-depth-d-v1-1.safetensors", + "ltx-2.3-22b-distilled-fp8.safetensors", + "ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors", + "mage_flow_edit_int8_convrot.safetensors", + "mage_flow_edit_turbo_int8_convrot.safetensors", + "mage_flow_int8_convrot.safetensors", + "mage_flow_turbo_int8_convrot.safetensors", + "ming_image_0.1_design_int8_convrot.safetensors", + "minimax_h3_fl2va_bf16.safetensors", + "minimax_h3_fl2va_int8_convrot.safetensors", + "minimax_h3_fl2va_pruned_bf16.safetensors", + "minimax_h3_fl2va_pruned_fp8_scaled.safetensors", + "minimax_h3_fl2va_pruned_int8_convrot.safetensors", + "minimax_h3_hybrid_fl2va_ref2va_b25-49-int8.safetensors", + "minimax_h3_ref2va_bf16.safetensors", + "minimax_h3_ref2va_int8_convrot.safetensors", + "minimax_h3_ref2va_pruned_bf16.safetensors", + "minimax_h3_ref2va_pruned_fp8_scaled.safetensors", + "minimax_h3_ref2va_pruned_int8_convrot.safetensors", + "minimax_music3_dit_fp16.safetensors", + "mochi_preview_bf16.safetensors", + "moss_image_base_int8_convrot.safetensors", + "moss_image_sft_int8_convrot.safetensors", + "omnigen2_fp16.safetensors", + "ovis_image_bf16.safetensors", + "pid_flux1_1024_to_4096_4step_bf16.safetensors", + "pixal3d_int8_convrot.safetensors", + "pixal3d_multiview_int8_convrot.safetensors", + "pixeldit_1300m_1024px_bf16.safetensors", + "qwen_image_2.1_bf16.safetensors", + "qwen_image_2.1_int8_convrot.safetensors", + "qwen_image_2.1_turbo_int8_convrot.safetensors", + "qwen_image_2512_fp8_e4m3fn.safetensors", + "qwen_image_edit_2509_fp8_e4m3fn.safetensors", + "qwen_image_edit_2509_int8_convrot.safetensors", + "qwen_image_edit_2511_bf16.safetensors", + "qwen_image_edit_2511_fp8mixed.safetensors", + "qwen_image_edit_2511_int8_convrot.safetensors", + "qwen_image_edit_fp8_e4m3fn.safetensors", + "qwen_image_fp8_e4m3fn.safetensors", + "qwen_image_layered_bf16.safetensors", + "qwen_image_layered_control_bf16.safetensors", + "rt_detr_v4-x-hgnet_fp16.safetensors", + "rt_detr_v4-x-hgnet_fp32.safetensors", + "seedvr2_3b_int8_convrot.safetensors", + "seedvr2_7b_int8_convrot.safetensors", + "trellis_2_int8_convrot.safetensors", + "triposplat_fp16.safetensors", + "void_pass1.safetensors", + "void_pass2.safetensors", + "wan2.1_14B_SCAIL_2_fp16.safetensors", + "wan2.1_14B_SCAIL_2_int8_convrot.safetensors", + "wan2.1_flf2v_720p_14B_fp16.safetensors", + "wan2.1_fun_camera_v1.1_1.3B_bf16.safetensors", + "wan2.1_fun_camera_v1.1_14B_bf16.safetensors", + "wan2.1_fun_control_1.3B_bf16.safetensors", + "wan2.1_fun_inp_1.3B_bf16.safetensors", + "wan2.1_i2v_480p_14B_fp16.safetensors", + "wan2.1_t2v_1.3B_fp16.safetensors", + "wan2.1_t2v_14B_fp8_scaled.safetensors", + "wan2.1_vace_1.3B_fp16.safetensors", + "wan2.1_vace_14B_fp16.safetensors", + "wan2.2_bernini_r_high_noise_fp8_scaled.safetensors", + "wan2.2_bernini_r_low_noise_fp8_scaled.safetensors", + "wan2.2_dancer_14b_global_fp8_scaled.safetensors", + "wan2.2_dancer_14b_local_fp8_scaled.safetensors", + "wan2.2_fun_camera_high_noise_14B_fp8_scaled.safetensors", + "wan2.2_fun_camera_low_noise_14B_fp8_scaled.safetensors", + "wan2.2_fun_control_5B_bf16.safetensors", + "wan2.2_fun_control_high_noise_14B_fp8_scaled.safetensors", + "wan2.2_fun_control_low_noise_14B_fp8_scaled.safetensors", + "wan2.2_fun_inpaint_5B_bf16.safetensors", + "wan2.2_fun_inpaint_high_noise_14B_fp8_scaled.safetensors", + "wan2.2_fun_inpaint_low_noise_14B_fp8_scaled.safetensors", + "wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors", + "wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors", + "wan2.2_s2v_14B_fp8_scaled.safetensors", + "wan2.2_t2v_high_noise_14B_fp8_scaled.safetensors", + "wan2.2_t2v_low_noise_14B_fp8_scaled.safetensors", + "wan2.2_ti2v_5B_fp16.safetensors", + "wan_animate_2_distill_int8_convrot.safetensors", + "wan_animate_2_int8_convrot.safetensors", + "z_image_bf16.safetensors", + "z_image_int8_convrot.safetensors", + "z_image_turbo_bf16.safetensors", + "z_image_turbo_int8_convrot.safetensors" + ] + ], + "weight_dtype": [ + [ + "default", + "fp8_e4m3fn", + "fp8_e4m3fn_fast", + "fp8_e5m2" + ], + { + "advanced": true + } + ] + } + }, + "input_order": { + "required": [ + "unet_name", + "weight_dtype" + ] + }, + "is_input_list": false, + "output": [ + "MODEL" + ], + "output_is_list": [ + false + ], + "output_name": [ + "MODEL" + ], + "name": "UNETLoader", + "display_name": "Load Diffusion Model", + "description": "", + "python_module": "nodes", + "category": "model/loaders", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [] + }, + "CLIPLoader": { + "input": { + "required": { + "clip_name": [ + [ + "Qwen-Image-Lightning-4steps-V1.0.safetensors", + "byt5_small_glyphxl_fp16.safetensors", + "clip_g_hidream.safetensors", + "clip_l.safetensors", + "clip_l_hidream.safetensors", + "ernie-image-prompt-enhancer.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00001-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00002-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00003-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00004-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00005-of-00005.safetensors", + "gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors", + "gemma4_e2b_it_int8_convrot.safetensors", + "gemma4_e4b_it_fp8_scaled.safetensors", + "gemma_2_2b_it_elm_bf16.safetensors", + "gemma_2_2b_it_elm_fp8_scaled.safetensors", + "gemma_3_12B_it.safetensors", + "gemma_3_12B_it_fp4_mixed.safetensors", + "gemma_3_4b_it_bf16.safetensors", + "gpt_oss_20b_nvfp4.safetensors", + "jina_clip_v2_bf16.safetensors", + "llama_3.1_8b_instruct_fp8_scaled.safetensors", + "llava_llama3_fp8_scaled.safetensors", + "ltx-2-19b-embeddings_connector_distill_bf16.safetensors", + "ltx-2.3_text_projection_bf16.safetensors", + "ming_image_0.1_ling_mini_2.0_int8_convrot.safetensors", + "minimax_music3_text_encoder_pruned_int8_convrot.safetensors", + "ministral-3-3b.safetensors", + "mistral_3_small_flux2_bf16.safetensors", + "mistral_3_small_flux2_fp8.safetensors", + "open_clip_pytorch_model.bin", + "ovis_2.5.safetensors", + "qwen3.5_2b_bf16.safetensors", + "qwen3.5_4b_bf16.safetensors", + "qwen3.5_9b_int8_convrot.safetensors", + "qwen3.5_9b_qwen_image_2.1_pe_i2i.int8_convrot.safetensors", + "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors", + "qwen3.5_9b_w4a8_gptq.safetensors", + "qwen3.8_27b_w4a8.safetensors", + "qwen3vl_32b_minimax_h3_bf16.safetensors", + "qwen3vl_32b_minimax_h3_int8_convrot.safetensors", + "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", + "qwen3vl_4b_bf16.safetensors", + "qwen3vl_4b_fp8_scaled.safetensors", + "qwen3vl_4b_int8_convrot.safetensors", + "qwen3vl_8b_bf16.safetensors", + "qwen3vl_8b_fp8_scaled.safetensors", + "qwen3vl_8b_int8_convrot.safetensors", + "qwen3vl_8b_joyimage_edit_int8_convrot.safetensors", + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "qwen_2.5_vl_7b.safetensors", + "qwen_2.5_vl_7b_fp8_scaled.safetensors", + "qwen_2.5_vl_fp16.safetensors", + "qwen_3_06b_base.safetensors", + "qwen_3_4b.safetensors", + "qwen_3_4b_fp8_mixed.safetensors", + "qwen_3_8b_fp8mixed.safetensors", + "qwen_4b_ace15.safetensors", + "t5-base.safetensors", + "t5gemma_b_b_ul2.safetensors", + "t5xxl_fp16.safetensors", + "t5xxl_fp8_e4m3fn_scaled.safetensors", + "umt5_xxl_fp16.safetensors", + "umt5_xxl_fp8_e4m3fn_scaled.safetensors" + ] + ], + "type": [ + [ + "stable_diffusion", + "stable_cascade", + "sd3", + "stable_audio", + "mochi", + "ltxv", + "pixart", + "cosmos", + "lumina2", + "wan", + "hidream", + "chroma", + "ace", + "omnigen2", + "qwen_image", + "hunyuan_image", + "flux2", + "ovis", + "longcat_image", + "cogvideox", + "lens", + "pixeldit", + "ideogram4", + "boogu", + "krea2", + "joyimage", + "mage", + "minimax", + "yue2" + ] + ] + }, + "optional": { + "device": [ + [ + "default", + "cpu" + ], + { + "advanced": true + } + ] + } + }, + "input_order": { + "required": [ + "clip_name", + "type" + ], + "optional": [ + "device" + ] + }, + "is_input_list": false, + "output": [ + "CLIP" + ], + "output_is_list": [ + false + ], + "output_name": [ + "CLIP" + ], + "name": "CLIPLoader", + "display_name": "Load CLIP", + "description": "Recipes:\nsd: clip-l\nstable cascade: clip-g\nsd3: t5 xxl / clip-g / clip-l\nstable audio: t5 base\nmochi: t5 xxl\ncogvideox: t5 xxl (226-token padding)\ncosmos: old t5 xxl\nlumina2: gemma 2 2B\nwan: umt5 xxl\nhidream: llama-3.1 (Recommend) or t5\nomnigen2: qwen vl 2.5 3B\njoyimage: qwen3-vl 8B\nlens: gpt-oss-20b\npixeldit: gemma 2 2B elm\nminimax: MiniMax H3 Qwen3-VL or Music3 Qwen/RVQ", + "python_module": "nodes", + "category": "model/loaders", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [] + }, + "DualCLIPLoader": { + "input": { + "required": { + "clip_name1": [ + [ + "Qwen-Image-Lightning-4steps-V1.0.safetensors", + "byt5_small_glyphxl_fp16.safetensors", + "clip_g_hidream.safetensors", + "clip_l.safetensors", + "clip_l_hidream.safetensors", + "ernie-image-prompt-enhancer.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00001-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00002-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00003-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00004-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00005-of-00005.safetensors", + "gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors", + "gemma4_e2b_it_int8_convrot.safetensors", + "gemma4_e4b_it_fp8_scaled.safetensors", + "gemma_2_2b_it_elm_bf16.safetensors", + "gemma_2_2b_it_elm_fp8_scaled.safetensors", + "gemma_3_12B_it.safetensors", + "gemma_3_12B_it_fp4_mixed.safetensors", + "gemma_3_4b_it_bf16.safetensors", + "gpt_oss_20b_nvfp4.safetensors", + "jina_clip_v2_bf16.safetensors", + "llama_3.1_8b_instruct_fp8_scaled.safetensors", + "llava_llama3_fp8_scaled.safetensors", + "ltx-2-19b-embeddings_connector_distill_bf16.safetensors", + "ltx-2.3_text_projection_bf16.safetensors", + "ming_image_0.1_ling_mini_2.0_int8_convrot.safetensors", + "minimax_music3_text_encoder_pruned_int8_convrot.safetensors", + "ministral-3-3b.safetensors", + "mistral_3_small_flux2_bf16.safetensors", + "mistral_3_small_flux2_fp8.safetensors", + "open_clip_pytorch_model.bin", + "ovis_2.5.safetensors", + "qwen3.5_2b_bf16.safetensors", + "qwen3.5_4b_bf16.safetensors", + "qwen3.5_9b_int8_convrot.safetensors", + "qwen3.5_9b_qwen_image_2.1_pe_i2i.int8_convrot.safetensors", + "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors", + "qwen3.5_9b_w4a8_gptq.safetensors", + "qwen3.8_27b_w4a8.safetensors", + "qwen3vl_32b_minimax_h3_bf16.safetensors", + "qwen3vl_32b_minimax_h3_int8_convrot.safetensors", + "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", + "qwen3vl_4b_bf16.safetensors", + "qwen3vl_4b_fp8_scaled.safetensors", + "qwen3vl_4b_int8_convrot.safetensors", + "qwen3vl_8b_bf16.safetensors", + "qwen3vl_8b_fp8_scaled.safetensors", + "qwen3vl_8b_int8_convrot.safetensors", + "qwen3vl_8b_joyimage_edit_int8_convrot.safetensors", + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "qwen_2.5_vl_7b.safetensors", + "qwen_2.5_vl_7b_fp8_scaled.safetensors", + "qwen_2.5_vl_fp16.safetensors", + "qwen_3_06b_base.safetensors", + "qwen_3_4b.safetensors", + "qwen_3_4b_fp8_mixed.safetensors", + "qwen_3_8b_fp8mixed.safetensors", + "qwen_4b_ace15.safetensors", + "t5-base.safetensors", + "t5gemma_b_b_ul2.safetensors", + "t5xxl_fp16.safetensors", + "t5xxl_fp8_e4m3fn_scaled.safetensors", + "umt5_xxl_fp16.safetensors", + "umt5_xxl_fp8_e4m3fn_scaled.safetensors" + ] + ], + "clip_name2": [ + [ + "Qwen-Image-Lightning-4steps-V1.0.safetensors", + "byt5_small_glyphxl_fp16.safetensors", + "clip_g_hidream.safetensors", + "clip_l.safetensors", + "clip_l_hidream.safetensors", + "ernie-image-prompt-enhancer.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00001-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00002-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00003-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00004-of-00005.safetensors", + "gemma-3-12b-it-qat-q4_0-unquantized/model-00005-of-00005.safetensors", + "gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors", + "gemma4_e2b_it_int8_convrot.safetensors", + "gemma4_e4b_it_fp8_scaled.safetensors", + "gemma_2_2b_it_elm_bf16.safetensors", + "gemma_2_2b_it_elm_fp8_scaled.safetensors", + "gemma_3_12B_it.safetensors", + "gemma_3_12B_it_fp4_mixed.safetensors", + "gemma_3_4b_it_bf16.safetensors", + "gpt_oss_20b_nvfp4.safetensors", + "jina_clip_v2_bf16.safetensors", + "llama_3.1_8b_instruct_fp8_scaled.safetensors", + "llava_llama3_fp8_scaled.safetensors", + "ltx-2-19b-embeddings_connector_distill_bf16.safetensors", + "ltx-2.3_text_projection_bf16.safetensors", + "ming_image_0.1_ling_mini_2.0_int8_convrot.safetensors", + "minimax_music3_text_encoder_pruned_int8_convrot.safetensors", + "ministral-3-3b.safetensors", + "mistral_3_small_flux2_bf16.safetensors", + "mistral_3_small_flux2_fp8.safetensors", + "open_clip_pytorch_model.bin", + "ovis_2.5.safetensors", + "qwen3.5_2b_bf16.safetensors", + "qwen3.5_4b_bf16.safetensors", + "qwen3.5_9b_int8_convrot.safetensors", + "qwen3.5_9b_qwen_image_2.1_pe_i2i.int8_convrot.safetensors", + "qwen3.5_9b_qwen_image_2.1_pe_t2i.int8_convrot.safetensors", + "qwen3.5_9b_w4a8_gptq.safetensors", + "qwen3.8_27b_w4a8.safetensors", + "qwen3vl_32b_minimax_h3_bf16.safetensors", + "qwen3vl_32b_minimax_h3_int8_convrot.safetensors", + "qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors", + "qwen3vl_4b_bf16.safetensors", + "qwen3vl_4b_fp8_scaled.safetensors", + "qwen3vl_4b_int8_convrot.safetensors", + "qwen3vl_8b_bf16.safetensors", + "qwen3vl_8b_fp8_scaled.safetensors", + "qwen3vl_8b_int8_convrot.safetensors", + "qwen3vl_8b_joyimage_edit_int8_convrot.safetensors", + "qwen_0.6b_ace15.safetensors", + "qwen_1.7b_ace15.safetensors", + "qwen_2.5_vl_7b.safetensors", + "qwen_2.5_vl_7b_fp8_scaled.safetensors", + "qwen_2.5_vl_fp16.safetensors", + "qwen_3_06b_base.safetensors", + "qwen_3_4b.safetensors", + "qwen_3_4b_fp8_mixed.safetensors", + "qwen_3_8b_fp8mixed.safetensors", + "qwen_4b_ace15.safetensors", + "t5-base.safetensors", + "t5gemma_b_b_ul2.safetensors", + "t5xxl_fp16.safetensors", + "t5xxl_fp8_e4m3fn_scaled.safetensors", + "umt5_xxl_fp16.safetensors", + "umt5_xxl_fp8_e4m3fn_scaled.safetensors" + ] + ], + "type": [ + [ + "sdxl", + "sd3", + "flux", + "hunyuan_video", + "hidream", + "hunyuan_image", + "hunyuan_video_15", + "kandinsky5", + "kandinsky5_image", + "ltxv", + "newbie", + "ace" + ] + ] + }, + "optional": { + "device": [ + [ + "default", + "cpu" + ], + { + "advanced": true + } + ] + } + }, + "input_order": { + "required": [ + "clip_name1", + "clip_name2", + "type" + ], + "optional": [ + "device" + ] + }, + "is_input_list": false, + "output": [ + "CLIP" + ], + "output_is_list": [ + false + ], + "output_name": [ + "CLIP" + ], + "name": "DualCLIPLoader", + "display_name": "Load CLIP (Dual)", + "description": "Recipes:\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5\nhidream: at least one of t5 or llama, recommended t5 and llama\nhunyuan_image: qwen2.5vl 7b and byt5 small\nnewbie: gemma-3-4b-it, jina clip v2", + "python_module": "nodes", + "category": "model/loaders", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [] + }, + "VAELoader": { + "input": { + "required": { + "vae_name": [ + [ + "Wan2_1_VAE_bf16.safetensors", + "ace_1.5_vae.safetensors", + "ae.safetensors", + "cogvideox_vae.safetensors", + "flux2-vae.safetensors", + "flux2-vae_small.safetensors", + "full_encoder_small_decoder.safetensors", + "hunyuan_video_vae_bf16.safetensors", + "hunyuanvideo15_vae_fp16.safetensors", + "klF8Anime2_klF8Anime2VAE.pt", + "ltx-2.5-audio-vae-bf16.safetensors", + "ltx-2.5-video-vae-bf16.safetensors", + "mage_flow_vae_bf16.safetensors", + "marigold_v2_albedo_vae.safetensors", + "marigold_v2_depth_log_stage2_vae.safetensors", + "marigold_v2_normals_vae.safetensors", + "ming_image_vae_bf16.safetensors", + "minimax_h3_audio_vae_fp32.safetensors", + "minimax_h3_video_vae_fp16.safetensors", + "minimax_h3_video_vae_int8_convrot.safetensors", + "minimax_music3_dav.safetensors", + "mochi_vae.safetensors", + "qwen_image_2.1_vae_bf16.safetensors", + "qwen_image_layered_vae.safetensors", + "qwen_image_vae.safetensors", + "sdxl_vae.safetensors", + "sdxl_vae_fp16_fix.safetensors", + "seedvr2_ema_vae_fp16.safetensors", + "trellis_2_shape_vae_bf16.safetensors", + "trellis_2_texture_vae_bf16.safetensors", + "triposplat_vae_decoder_fp16.safetensors", + "vae-ft-mse-840000-ema-pruned.ckpt", + "vae-ft-mse-840000-ema-pruned.safetensors", + "vaeFtMse840000Ema_v100.pt", + "wan2.2_vae.safetensors", + "wan_2.1_vae.safetensors", + "wan_alpha_2.1_vae_alpha_channel.safetensors", + "wan_alpha_2.1_vae_rgb_channel.safetensors", + "taeh3.safetensors", + "pixel_space" + ] + ] + } + }, + "input_order": { + "required": [ + "vae_name" + ] + }, + "is_input_list": false, + "output": [ + "VAE" + ], + "output_is_list": [ + false + ], + "output_name": [ + "VAE" + ], + "name": "VAELoader", + "display_name": "Load VAE", + "description": "", + "python_module": "nodes", + "category": "model/loaders", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [] + }, + "LoadImage": { + "input": { + "required": { + "image": [ + [ + "ComfyUI_00002_.png", + "H3_MV_ChasingLight_20261022_reference.png", + "H3_TwoPilotsFight_20261022_glasses.png", + "H3_TwoPilotsFight_20261022_helmet.png", + "Image_82965557507568.jpg", + "Koikatu_F_20260616151650726_维琳娜.png", + "QQ图片20261026190701(2).jpeg", + "Qwen_image_2.1_00003.png", + "Qwen_image_2.1_00031.png", + "Qwen_image_2.1_00037.png", + "Qwen_image_2.1_00051.png", + "Qwen_image_2.1_00052.png", + "TapNow_1789384950738_image_1.jpg", + "TapNow_1789385716428_image_1(1).jpg", + "TapNow_1789385716428_image_1.jpg", + "WORK-FISHER_H3_20261018_reference.png", + "YZ_H3_10s_test_fixture_1.png", + "YZ_H3_10s_test_fixture_2.png", + "YZ_H3_10s_test_fixture_3.png", + "YZ_H3_20261022_anime_reference.png", + "a4bebbc7-4f06-42bd-86f9-6cfda5b91390.png", + "catmeme1.jpg", + "reference_studio_example_clothing.png", + "reference_studio_example_subject.png", + "reference_studio_placeholder.png", + "分镜1-1鱼进入耶路撒冷.png", + "分镜1-2鱼进入耶路撒冷.png", + "分镜1-鱼进入耶路撒冷.png", + "分镜1,鱼进门.png", + "分镜2-鱼进城镇.png", + "城门.jpeg", + "城门口.png", + "奶蛙.png", + "小鲸鱼.png", + "微信图片_20250917090013_1267_4.jpg", + "微信图片_20260615212934_595_31.jpg", + "微信图片_20260615220834_617_31.jpg", + "微信图片_20261029032657_3938_89.png", + "最后的晚餐.png", + "洁净圣殿.jpg", + "犹大之吻.png", + "蓝发女骑士与黄豆精灵欢庆巡游.png", + "蓝发鲸鱼女仆三视图设定集.png", + "豆包.webp", + "豆包形象2长发.png", + "豆包版本1.png", + "鲸鱼娘.jpg", + "黄色憨萌生物角色三视图设定稿.png" + ], + { + "image_upload": true + } + ] + } + }, + "input_order": { + "required": [ + "image" + ] + }, + "is_input_list": false, + "output": [ + "IMAGE", + "MASK" + ], + "output_is_list": [ + false, + false + ], + "output_name": [ + "IMAGE", + "MASK" + ], + "name": "LoadImage", + "display_name": "Load Image", + "description": "", + "python_module": "nodes", + "category": "image", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [ + "load image", + "open image", + "import image", + "image input", + "upload image", + "read image", + "image loader" + ], + "essentials_category": "Basics" + }, + "ImageScale": { + "input": { + "required": { + "image": [ + "IMAGE" + ], + "upscale_method": [ + [ + "nearest-exact", + "bilinear", + "area", + "bicubic", + "lanczos" + ] + ], + "width": [ + "INT", + { + "default": 512, + "min": 0, + "max": 16384, + "step": 1 + } + ], + "height": [ + "INT", + { + "default": 512, + "min": 0, + "max": 16384, + "step": 1 + } + ], + "crop": [ + [ + "disabled", + "center" + ] + ] + } + }, + "input_order": { + "required": [ + "image", + "upscale_method", + "width", + "height", + "crop" + ] + }, + "is_input_list": false, + "output": [ + "IMAGE" + ], + "output_is_list": [ + false + ], + "output_name": [ + "IMAGE" + ], + "name": "ImageScale", + "display_name": "Upscale Image", + "description": "", + "python_module": "nodes", + "category": "image/upscaling", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [ + "resize", + "resize image", + "scale image", + "image resize", + "zoom", + "zoom in", + "change size" + ], + "essentials_category": "Image Tools" + }, + "VAEEncode": { + "input": { + "required": { + "pixels": [ + "IMAGE" + ], + "vae": [ + "VAE" + ] + } + }, + "input_order": { + "required": [ + "pixels", + "vae" + ] + }, + "is_input_list": false, + "output": [ + "LATENT" + ], + "output_is_list": [ + false + ], + "output_name": [ + "LATENT" + ], + "name": "VAEEncode", + "display_name": "VAE Encode", + "description": "", + "python_module": "nodes", + "category": "model/latent", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [ + "encode", + "encode image", + "image to latent" + ] + }, + "VAEDecode": { + "input": { + "required": { + "samples": [ + "LATENT", + { + "tooltip": "The latent to be decoded." + } + ], + "vae": [ + "VAE", + { + "tooltip": "The VAE model used for decoding the latent." + } + ] + } + }, + "input_order": { + "required": [ + "samples", + "vae" + ] + }, + "is_input_list": false, + "output": [ + "IMAGE" + ], + "output_is_list": [ + false + ], + "output_name": [ + "IMAGE" + ], + "name": "VAEDecode", + "display_name": "VAE Decode", + "description": "Decodes latent images back into pixel space images.", + "python_module": "nodes", + "category": "model/latent", + "output_node": false, + "has_intermediate_output": false, + "output_tooltips": [ + "The decoded image." + ], + "search_aliases": [ + "decode", + "decode latent", + "latent to image", + "render latent" + ] + }, + "EmptyLatentImage": { + "input": { + "required": { + "width": [ + "INT", + { + "default": 1024, + "min": 16, + "max": 16384, + "step": 8, + "tooltip": "The width of the latent images in pixels." + } + ], + "height": [ + "INT", + { + "default": 1024, + "min": 16, + "max": 16384, + "step": 8, + "tooltip": "The height of the latent images in pixels." + } + ], + "batch_size": [ + "INT", + { + "default": 1, + "min": 1, + "max": 4096, + "tooltip": "The number of latent images in the batch." + } + ] + } + }, + "input_order": { + "required": [ + "width", + "height", + "batch_size" + ] + }, + "is_input_list": false, + "output": [ + "LATENT" + ], + "output_is_list": [ + false + ], + "output_name": [ + "LATENT" + ], + "name": "EmptyLatentImage", + "display_name": "Empty Latent Image", + "description": "Create a new batch of empty latent images to be denoised via sampling.", + "python_module": "nodes", + "category": "model/latent", + "output_node": false, + "has_intermediate_output": false, + "output_tooltips": [ + "The empty latent image batch." + ], + "search_aliases": [ + "empty", + "empty latent", + "new latent", + "create latent", + "blank latent", + "blank" + ] + }, + "EmptySD3LatentImage": { + "input": { + "required": { + "width": [ + "INT", + { + "default": 1024, + "min": 16, + "max": 16384, + "step": 16 + } + ], + "height": [ + "INT", + { + "default": 1024, + "min": 16, + "max": 16384, + "step": 16 + } + ], + "batch_size": [ + "INT", + { + "default": 1, + "min": 1, + "max": 4096 + } + ] + } + }, + "input_order": { + "required": [ + "width", + "height", + "batch_size" + ] + }, + "is_input_list": false, + "output": [ + "LATENT" + ], + "output_is_list": [ + false + ], + "output_name": [ + "LATENT" + ], + "output_tooltips": [ + null + ], + "output_matchtypes": null, + "name": "EmptySD3LatentImage", + "display_name": null, + "description": "", + "python_module": "comfy_extras.nodes_sd3", + "category": "model/latent/stable diffusion", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "CLIPTextEncode": { + "input": { + "required": { + "text": [ + "STRING", + { + "multiline": true, + "dynamicPrompts": true, + "tooltip": "The text to be encoded." + } + ], + "clip": [ + "CLIP", + { + "tooltip": "The CLIP model used for encoding the text." + } + ] + } + }, + "input_order": { + "required": [ + "text", + "clip" + ] + }, + "is_input_list": false, + "output": [ + "CONDITIONING" + ], + "output_is_list": [ + false + ], + "output_name": [ + "CONDITIONING" + ], + "name": "CLIPTextEncode", + "display_name": "CLIP Text Encode (Prompt)", + "description": "Encodes a text prompt using a CLIP model into an embedding that can be used to guide the diffusion model towards generating specific images.", + "python_module": "nodes", + "category": "model/conditioning", + "output_node": false, + "has_intermediate_output": false, + "output_tooltips": [ + "A conditioning containing the embedded text used to guide the diffusion model." + ], + "search_aliases": [ + "text", + "prompt", + "text prompt", + "positive prompt", + "negative prompt", + "encode text", + "text encoder", + "encode prompt" + ] + }, + "KSampler": { + "input": { + "required": { + "model": [ + "MODEL", + { + "tooltip": "The model used for denoising the input latent." + } + ], + "seed": [ + "INT", + { + "default": 0, + "min": 0, + "max": 18446744073709551615, + "control_after_generate": true, + "tooltip": "The random seed used for creating the noise." + } + ], + "steps": [ + "INT", + { + "default": 20, + "min": 1, + "max": 10000, + "tooltip": "The number of steps used in the denoising process." + } + ], + "cfg": [ + "FLOAT", + { + "default": 8.0, + "min": 0.0, + "max": 100.0, + "step": 0.1, + "round": 0.01, + "tooltip": "The Classifier-Free Guidance scale balances creativity and adherence to the prompt. Higher values result in images more closely matching the prompt however too high values will negatively impact quality." + } + ], + "sampler_name": [ + [ + "euler", + "euler_cfg_pp", + "euler_ancestral", + "euler_ancestral_cfg_pp", + "heun", + "heunpp2", + "exp_heun_2_x0", + "exp_heun_2_x0_sde", + "dpm_2", + "dpm_2_ancestral", + "lms", + "dpm_fast", + "dpm_adaptive", + "dpmpp_2s_ancestral", + "dpmpp_2s_ancestral_cfg_pp", + "dpmpp_sde", + "dpmpp_sde_gpu", + "dpmpp_2m", + "dpmpp_2m_cfg_pp", + "dpmpp_2m_sde", + "dpmpp_2m_sde_gpu", + "dpmpp_2m_sde_heun", + "dpmpp_2m_sde_heun_gpu", + "dpmpp_3m_sde", + "dpmpp_3m_sde_gpu", + "ddpm", + "lcm", + "ipndm", + "ipndm_v", + "deis", + "cfgpp_ud10_ab", + "res_multistep", + "res_multistep_cfg_pp", + "res_multistep_ancestral", + "res_multistep_ancestral_cfg_pp", + "gradient_estimation", + "gradient_estimation_cfg_pp", + "er_sde", + "seeds_2", + "seeds_3", + "sa_solver", + "sa_solver_pece", + "ddim", + "uni_pc", + "uni_pc_bh2" + ], + { + "tooltip": "The algorithm used when sampling, this can affect the quality, speed, and style of the generated output." + } + ], + "scheduler": [ + [ + "simple", + "sgm_uniform", + "karras", + "exponential", + "ddim_uniform", + "beta", + "normal", + "linear_quadratic", + "kl_optimal" + ], + { + "tooltip": "The scheduler controls how noise is gradually removed to form the image." + } + ], + "positive": [ + "CONDITIONING", + { + "tooltip": "The conditioning describing the attributes you want to include in the image." + } + ], + "negative": [ + "CONDITIONING", + { + "tooltip": "The conditioning describing the attributes you want to exclude from the image." + } + ], + "latent_image": [ + "LATENT", + { + "tooltip": "The latent image to denoise." + } + ], + "denoise": [ + "FLOAT", + { + "default": 1.0, + "min": 0.0, + "max": 1.0, + "step": 0.01, + "tooltip": "The amount of denoising applied, lower values will maintain the structure of the initial image allowing for image to image sampling." + } + ] + } + }, + "input_order": { + "required": [ + "model", + "seed", + "steps", + "cfg", + "sampler_name", + "scheduler", + "positive", + "negative", + "latent_image", + "denoise" + ] + }, + "is_input_list": false, + "output": [ + "LATENT" + ], + "output_is_list": [ + false + ], + "output_name": [ + "LATENT" + ], + "name": "KSampler", + "display_name": "KSampler", + "description": "Uses the provided model, positive and negative conditioning to denoise the latent image.", + "python_module": "nodes", + "category": "model/sampling", + "output_node": false, + "has_intermediate_output": false, + "output_tooltips": [ + "The denoised latent." + ], + "search_aliases": [ + "sampler", + "sample", + "generate", + "denoise", + "diffuse", + "txt2img", + "img2img" + ] + }, + "ModelSamplingAuraFlow": { + "input": { + "required": { + "model": [ + "MODEL" + ], + "shift": [ + "FLOAT", + { + "default": 1.73, + "min": 0.0, + "max": 100.0, + "step": 0.01 + } + ] + }, + "optional": { + "sampling": [ + [ + "flow", + "img_to_img_velocity" + ], + { + "default": "flow", + "advanced": true + } + ] + } + }, + "input_order": { + "required": [ + "model", + "shift" + ], + "optional": [ + "sampling" + ] + }, + "is_input_list": false, + "output": [ + "MODEL" + ], + "output_is_list": [ + false + ], + "output_name": [ + "MODEL" + ], + "name": "ModelSamplingAuraFlow", + "display_name": "ModelSamplingAuraFlow", + "description": "", + "python_module": "comfy_extras.nodes_model_advanced", + "category": "model/patch", + "output_node": false, + "has_intermediate_output": false, + "search_aliases": [] + }, + "LoraLoader": { + "input": { + "required": { + "model": [ + "MODEL", + { + "tooltip": "The diffusion model the LoRA will be applied to." + } + ], + "clip": [ + "CLIP", + { + "tooltip": "The CLIP model the LoRA will be applied to." + } + ], + "lora_name": [ + [ + "AnimateLCM_sd15_t2v_lora.safetensors", + "ClayAnimationRedm.safetensors", + "FireRed-Image-Edit-1.0-Lightning-8steps-v1.0.safetensors", + "Flux2TurboComfyv2.safetensors", + "Flux_2-Turbo-LoRA_comfyui.safetensors", + "GunFu.safetensors", + "H3_Combat_V2.safetensors", + "H3_Fight_Flow_V1.safetensors", + "H3_speed_slider_1.1.safetensors", + "Harrlogos_v2.0.safetensors", + "JapaneseDollLikeness_v15.safetensors", + "Jixar.safetensors", + "Jixar_flux_v2.safetensors", + "Motion_Repair.safetensors", + "Motion_Repair_V2.safetensors", + "MysticXXX_MMH3-V1.safetensors", + "QWEN_EDIT_ACTION_V1.safetensors", + "Qwen-Edit-2509-Multiple-angles.safetensors", + "Qwen-Image-2512-Lightning-4steps-V1.0-fp32.safetensors", + "Qwen-Image-Edit-2509-Anything2RealAlpha.safetensors", + "Qwen-Image-Edit-2509-Fusion.safetensors", + "Qwen-Image-Edit-2509-Light-Migration.safetensors", + "Qwen-Image-Edit-2509-Lightning-4steps-V1.0-bf16.safetensors", + "Qwen-Image-Edit-2509-Lightning-8steps-V1.0-bf16.safetensors", + "Qwen-Image-Edit-2509-Relight.safetensors", + "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors", + "Qwen-Image-Edit-Lightning-4steps-V1.0-bf16.safetensors", + "Qwen-Image-Lightning-4steps-V1.0.safetensors", + "Qwen-Image-Lightning-8steps-V1.0.safetensors", + "Qwen_Image_Edit_2511-SYSTMS_INFL8.safetensors", + "Retro_Anime-000002.safetensors", + "Silicon-landscape-isolation.safetensors", + "Storm_Cloud_Style_SDXL.safetensors", + "Wan2.2-Lightning_I2V-A14B-4steps-lora_HIGH_fp16.safetensors", + "Wan2.2-Lightning_I2V-A14B-4steps-lora_LOW_fp16.safetensors", + "Wan21_CausVid_14B_T2V_lora_rank32.safetensors", + "Wan21_CausVid_14B_T2V_lora_rank32_v2.safetensors", + "Wan21_CausVid_bidirect2_T2V_1_3B_lora_rank32.safetensors", + "Wan21_T2V_14B_lightx2v_cfg_step_distill_lora_rank32.safetensors", + "WanAnimate_relight_lora_fp16.safetensors", + "Wuli-Qwen-Image-2512-Turbo-LoRA-2steps-V1.0-bf16.safetensors", + "Xmas3.safetensors", + "[LoRA] Jellyfish forest 水月森 くらげもり Concept (With dropout & noise version).safetensors", + "add-detail-xl.safetensors", + "add_detail.safetensors", + "anima-turbo-lora-v0.2.safetensors", + "chronoedit_distill_lora.safetensors", + "flux1-depth-dev-lora.safetensors", + "flux2_berthe_morisot.safetensors", + "gemma-3-12b-it-abliterated_lora_rank64_bf16.safetensors", + "gummycandy_qwen.safetensors", + "hyperdetailer_v095.safetensors", + "illustration-1.0-qwen-image.safetensors", + "ipadapter/ip-adapter-faceid-plusv2_sd15_lora.safetensors", + "krea2_darkbrush.safetensors", + "krea2_style_reference.safetensors", + "lcm-lora-sdv1-5.safetensors", + "lightx2v_14B_T2V_cfg_step_distill_lora_adaptive_rank_quantile_0.15_bf16.safetensors", + "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors", + "lightx2v_T2V_14B_cfg_step_distill_v2_lora_rank64_bf16.safetensors", + "ltx-2-19b-distilled-lora-384.safetensors", + "ltx-2-19b-ic-lora-canny-control.safetensors", + "ltx-2-19b-ic-lora-depth-control.safetensors", + "ltx-2-19b-ic-lora-pose-control.safetensors", + "ltx-2-19b-lora-camera-control-dolly-left.safetensors", + "ltx-2.3-22b-distilled-lora-384-1.1.safetensors", + "ltx-2.3-22b-distilled-lora-384.safetensors", + "ltx-2.3-22b-ic-lora-deblur-0.9.safetensors", + "ltx-2.3-22b-ic-lora-dubit-0.9.safetensors", + "ltx-2.3-22b-ic-lora-in-outpainting-0.9.safetensors", + "ltx-2.3-22b-ic-lora-ingredients-0.9.safetensors", + "ltx-2.3-22b-ic-lora-motion-track-control-ref0.5.safetensors", + "ltx-2.3-22b-ic-lora-outpaint.safetensors", + "ltx-2.3-22b-ic-lora-union-control-ref0.5.safetensors", + "ltx-2.3-googlyeyes.safetensors", + "ltx-2.3-id-lora-talkvid-3k.safetensors", + "ltx-2.5-22b-ic-lora-day-to-night-0.9.safetensors", + "ltx-2.5-22b-ic-lora-pixel-spatial-upscaler-x2-1.0.safetensors", + "ltx-2.5-22b-ic-lora-refine-details-1.0.safetensors", + "ltx-2.5-22b-ic-lora-sdr-to-hdr-1.0.safetensors", + "ltx2-squish.safetensors", + "ltx2.3-transition.safetensors", + "ltx23-obscura_remova.safetensors", + "ltx_2.3_22b_distilled_1.1_lora_dynamic_fro09_avg_rank_111_bf16.safetensors", + "marigold_v2_albedo.safetensors", + "marigold_v2_depth_log_stage2.safetensors", + "marigold_v2_normals.safetensors", + "minimax_h3_dmad_full_dareties_v4_step600_comfy_fro.safetensors", + "minimax_h3_fl2v_turbo_4step_v1.2_768p_comfyui_bf16.safetensors", + "minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors", + "minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors", + "minimax_h3_turbo_v4_step600_ema_DasiwaREF2VAHybridV1_0_curveproj1025_compat_v001.safetensors", + "moss_image_color_depth_control.safetensors", + "moss_image_edit_lora_rank_64_bf16.safetensors", + "motion_speed_slider_mmh3_v1.1.safetensors", + "photomaker-v1-lora.safetensors", + "pikas-lighting-isolation.ckpt", + "pixel_art_style_z_image_turbo.safetensors", + "qwen-360-diffusion-2512-int8-bf16-v2.safetensors", + "qwen-image-edit-2511-multiple-angles-lora.safetensors", + "qwen_image_union_diffsynth_lora.safetensors", + "removal_timestep_alpha-2-1740.safetensors", + "sd_xl_offset_example-lora_1.0.safetensors", + "sdxl-skin_realism_acne_skin_details_imperfections.safetensors", + "uso-flux1-dit-lora-v1.safetensors", + "v3_sd15_adapter.ckpt", + "wan2.1_SCAIL_2_DPO_lora_bf16.safetensors", + "wan2.2_i2v_A14b_high_noise_lora_rank64_lightx2v_4step_1022.safetensors", + "wan2.2_i2v_A14b_low_noise_lora_rank64_lightx2v_4step_1022.safetensors", + "wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors", + "wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors", + "wan2.2_t2v_lightx2v_4steps_lora_v1.1_high_noise.safetensors", + "wan2.2_t2v_lightx2v_4steps_lora_v1.1_low_noise.safetensors", + "wan_alpha_2.1_rgba_lora.safetensors", + "xl_more_art-full-beta2.safetensors", + "xl_more_art-full_v1.safetensors", + "zimage-grainscape_ultrareal.safetensors" + ], + { + "tooltip": "The name of the LoRA." + } + ], + "strength_model": [ + "FLOAT", + { + "default": 1.0, + "min": -100.0, + "max": 100.0, + "step": 0.01, + "tooltip": "How strongly to modify the diffusion model. This value can be negative." + } + ], + "strength_clip": [ + "FLOAT", + { + "default": 1.0, + "min": -100.0, + "max": 100.0, + "step": 0.01, + "tooltip": "How strongly to modify the CLIP model. This value can be negative." + } + ] + } + }, + "input_order": { + "required": [ + "model", + "clip", + "lora_name", + "strength_model", + "strength_clip" + ] + }, + "is_input_list": false, + "output": [ + "MODEL", + "CLIP" + ], + "output_is_list": [ + false, + false + ], + "output_name": [ + "MODEL", + "CLIP" + ], + "name": "LoraLoader", + "display_name": "Load LoRA (Model and CLIP)", + "description": "This LoRA loader is used to modify both diffusion and CLIP models, altering the way in which latents are denoised such as applying styles. Multiple LoRA nodes can be linked together.", + "python_module": "nodes", + "category": "model/loaders", + "output_node": false, + "has_intermediate_output": false, + "output_tooltips": [ + "The modified diffusion model.", + "The modified CLIP model." + ], + "search_aliases": [ + "lora", + "load lora", + "apply lora", + "lora loader", + "lora model" + ], + "essentials_category": "Image Generation" + }, + "LoraLoaderModelOnly": { + "input": { + "required": { + "model": [ + "MODEL" + ], + "lora_name": [ + [ + "AnimateLCM_sd15_t2v_lora.safetensors", + "ClayAnimationRedm.safetensors", + "FireRed-Image-Edit-1.0-Lightning-8steps-v1.0.safetensors", + "Flux2TurboComfyv2.safetensors", + "Flux_2-Turbo-LoRA_comfyui.safetensors", + "GunFu.safetensors", + "H3_Combat_V2.safetensors", + "H3_Fight_Flow_V1.safetensors", + "H3_speed_slider_1.1.safetensors", + "Harrlogos_v2.0.safetensors", + "JapaneseDollLikeness_v15.safetensors", + "Jixar.safetensors", + "Jixar_flux_v2.safetensors", + "Motion_Repair.safetensors", + "Motion_Repair_V2.safetensors", + "MysticXXX_MMH3-V1.safetensors", + "QWEN_EDIT_ACTION_V1.safetensors", + "Qwen-Edit-2509-Multiple-angles.safetensors", + "Qwen-Image-2512-Lightning-4steps-V1.0-fp32.safetensors", + "Qwen-Image-Edit-2509-Anything2RealAlpha.safetensors", + "Qwen-Image-Edit-2509-Fusion.safetensors", + "Qwen-Image-Edit-2509-Light-Migration.safetensors", + "Qwen-Image-Edit-2509-Lightning-4steps-V1.0-bf16.safetensors", + "Qwen-Image-Edit-2509-Lightning-8steps-V1.0-bf16.safetensors", + "Qwen-Image-Edit-2509-Relight.safetensors", + "Qwen-Image-Edit-2511-Lightning-4steps-V1.0-bf16.safetensors", + "Qwen-Image-Edit-Lightning-4steps-V1.0-bf16.safetensors", + "Qwen-Image-Lightning-4steps-V1.0.safetensors", + "Qwen-Image-Lightning-8steps-V1.0.safetensors", + "Qwen_Image_Edit_2511-SYSTMS_INFL8.safetensors", + "Retro_Anime-000002.safetensors", + "Silicon-landscape-isolation.safetensors", + "Storm_Cloud_Style_SDXL.safetensors", + "Wan2.2-Lightning_I2V-A14B-4steps-lora_HIGH_fp16.safetensors", + "Wan2.2-Lightning_I2V-A14B-4steps-lora_LOW_fp16.safetensors", + "Wan21_CausVid_14B_T2V_lora_rank32.safetensors", + "Wan21_CausVid_14B_T2V_lora_rank32_v2.safetensors", + "Wan21_CausVid_bidirect2_T2V_1_3B_lora_rank32.safetensors", + "Wan21_T2V_14B_lightx2v_cfg_step_distill_lora_rank32.safetensors", + "WanAnimate_relight_lora_fp16.safetensors", + "Wuli-Qwen-Image-2512-Turbo-LoRA-2steps-V1.0-bf16.safetensors", + "Xmas3.safetensors", + "[LoRA] Jellyfish forest 水月森 くらげもり Concept (With dropout & noise version).safetensors", + "add-detail-xl.safetensors", + "add_detail.safetensors", + "anima-turbo-lora-v0.2.safetensors", + "chronoedit_distill_lora.safetensors", + "flux1-depth-dev-lora.safetensors", + "flux2_berthe_morisot.safetensors", + "gemma-3-12b-it-abliterated_lora_rank64_bf16.safetensors", + "gummycandy_qwen.safetensors", + "hyperdetailer_v095.safetensors", + "illustration-1.0-qwen-image.safetensors", + "ipadapter/ip-adapter-faceid-plusv2_sd15_lora.safetensors", + "krea2_darkbrush.safetensors", + "krea2_style_reference.safetensors", + "lcm-lora-sdv1-5.safetensors", + "lightx2v_14B_T2V_cfg_step_distill_lora_adaptive_rank_quantile_0.15_bf16.safetensors", + "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors", + "lightx2v_T2V_14B_cfg_step_distill_v2_lora_rank64_bf16.safetensors", + "ltx-2-19b-distilled-lora-384.safetensors", + "ltx-2-19b-ic-lora-canny-control.safetensors", + "ltx-2-19b-ic-lora-depth-control.safetensors", + "ltx-2-19b-ic-lora-pose-control.safetensors", + "ltx-2-19b-lora-camera-control-dolly-left.safetensors", + "ltx-2.3-22b-distilled-lora-384-1.1.safetensors", + "ltx-2.3-22b-distilled-lora-384.safetensors", + "ltx-2.3-22b-ic-lora-deblur-0.9.safetensors", + "ltx-2.3-22b-ic-lora-dubit-0.9.safetensors", + "ltx-2.3-22b-ic-lora-in-outpainting-0.9.safetensors", + "ltx-2.3-22b-ic-lora-ingredients-0.9.safetensors", + "ltx-2.3-22b-ic-lora-motion-track-control-ref0.5.safetensors", + "ltx-2.3-22b-ic-lora-outpaint.safetensors", + "ltx-2.3-22b-ic-lora-union-control-ref0.5.safetensors", + "ltx-2.3-googlyeyes.safetensors", + "ltx-2.3-id-lora-talkvid-3k.safetensors", + "ltx-2.5-22b-ic-lora-day-to-night-0.9.safetensors", + "ltx-2.5-22b-ic-lora-pixel-spatial-upscaler-x2-1.0.safetensors", + "ltx-2.5-22b-ic-lora-refine-details-1.0.safetensors", + "ltx-2.5-22b-ic-lora-sdr-to-hdr-1.0.safetensors", + "ltx2-squish.safetensors", + "ltx2.3-transition.safetensors", + "ltx23-obscura_remova.safetensors", + "ltx_2.3_22b_distilled_1.1_lora_dynamic_fro09_avg_rank_111_bf16.safetensors", + "marigold_v2_albedo.safetensors", + "marigold_v2_depth_log_stage2.safetensors", + "marigold_v2_normals.safetensors", + "minimax_h3_dmad_full_dareties_v4_step600_comfy_fro.safetensors", + "minimax_h3_fl2v_turbo_4step_v1.2_768p_comfyui_bf16.safetensors", + "minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors", + "minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors", + "minimax_h3_turbo_v4_step600_ema_DasiwaREF2VAHybridV1_0_curveproj1025_compat_v001.safetensors", + "moss_image_color_depth_control.safetensors", + "moss_image_edit_lora_rank_64_bf16.safetensors", + "motion_speed_slider_mmh3_v1.1.safetensors", + "photomaker-v1-lora.safetensors", + "pikas-lighting-isolation.ckpt", + "pixel_art_style_z_image_turbo.safetensors", + "qwen-360-diffusion-2512-int8-bf16-v2.safetensors", + "qwen-image-edit-2511-multiple-angles-lora.safetensors", + "qwen_image_union_diffsynth_lora.safetensors", + "removal_timestep_alpha-2-1740.safetensors", + "sd_xl_offset_example-lora_1.0.safetensors", + "sdxl-skin_realism_acne_skin_details_imperfections.safetensors", + "uso-flux1-dit-lora-v1.safetensors", + "v3_sd15_adapter.ckpt", + "wan2.1_SCAIL_2_DPO_lora_bf16.safetensors", + "wan2.2_i2v_A14b_high_noise_lora_rank64_lightx2v_4step_1022.safetensors", + "wan2.2_i2v_A14b_low_noise_lora_rank64_lightx2v_4step_1022.safetensors", + "wan2.2_i2v_lightx2v_4steps_lora_v1_high_noise.safetensors", + "wan2.2_i2v_lightx2v_4steps_lora_v1_low_noise.safetensors", + "wan2.2_t2v_lightx2v_4steps_lora_v1.1_high_noise.safetensors", + "wan2.2_t2v_lightx2v_4steps_lora_v1.1_low_noise.safetensors", + "wan_alpha_2.1_rgba_lora.safetensors", + "xl_more_art-full-beta2.safetensors", + "xl_more_art-full_v1.safetensors", + "zimage-grainscape_ultrareal.safetensors" + ] + ], + "strength_model": [ + "FLOAT", + { + "default": 1.0, + "min": -100.0, + "max": 100.0, + "step": 0.01 + } + ] + } + }, + "input_order": { + "required": [ + "model", + "lora_name", + "strength_model" + ] + }, + "is_input_list": false, + "output": [ + "MODEL" + ], + "output_is_list": [ + false + ], + "output_name": [ + "MODEL" + ], + "name": "LoraLoaderModelOnly", + "display_name": "Load LoRA", + "description": "This LoRAs loader is used to modify the diffusion model, altering the way in which latents are denoised such as applying styles. Multiple LoRA nodes can be linked together.", + "python_module": "nodes", + "category": "model/loaders", + "output_node": false, + "has_intermediate_output": false, + "output_tooltips": [ + "The modified diffusion model.", + "The modified CLIP model." + ], + "search_aliases": [ + "lora", + "load lora", + "apply lora", + "lora loader", + "lora model" + ], + "essentials_category": "Image Generation" + }, + "TextEncodeQwenImage21": { + "input": { + "required": { + "clip": [ + "CLIP", + {} + ], + "prompt": [ + "STRING", + { + "multiline": true, + "dynamicPrompts": true + } + ], + "negative_prompt": [ + "STRING", + { + "multiline": true, + "dynamicPrompts": true + } + ], + "resolution": [ + "INT", + { + "tooltip": "Reference images are resized to about resolution x resolution pixels, at multiples of 32, preserving aspect ratio. 0 keeps each reference at its own size, rounded to a multiple of 32. ", + "default": 1024, + "min": 0, + "max": 4096, + "step": 32 + } + ], + "images": [ + "COMFY_AUTOGROW_V3", + { + "tooltip": "Reference images, seen by the text encoder and spliced into the sequence as VAE latents.", + "template": { + "input": { + "required": { + "image": [ + "IMAGE", + {} + ] + } + }, + "names": [ + "image_1", + "image_2", + "image_3", + "image_4", + "image_5", + "image_6", + "image_7", + "image_8", + "image_9", + "image_10", + "image_11", + "image_12", + "image_13", + "image_14", + "image_15", + "image_16" + ], + "min": 0 + } + } + ] + }, + "optional": { + "vae": [ + "VAE", + {} + ] + } + }, + "input_order": { + "required": [ + "clip", + "prompt", + "negative_prompt", + "resolution", + "images" + ], + "optional": [ + "vae" + ] + }, + "is_input_list": false, + "output": [ + "CONDITIONING", + "CONDITIONING", + "LATENT" + ], + "output_is_list": [ + false, + false, + false + ], + "output_name": [ + "positive", + "negative", + "latent" + ], + "output_tooltips": [ + null, + null, + "Empty latent on the first reference image's size, to match with sampling as any other size shifts the edit." + ], + "output_matchtypes": null, + "name": "TextEncodeQwenImage21", + "display_name": "Text Encode Qwen Image 2.1", + "description": "", + "python_module": "comfy_extras.nodes_qwen", + "category": "model/conditioning/qwen image", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "QwenImage21Cache": { + "input": { + "required": { + "model": [ + "MODEL", + {} + ], + "device": [ + "COMBO", + { + "tooltip": "auto uses spare VRAM, then RAM. cpu (RAM) is prefetched behind compute and costs little speed. off recomputes the prefix every step, which is slower but is the one way to rule the cache out.", + "default": "auto", + "multiselect": false, + "options": [ + "auto", + "gpu", + "cpu", + "off" + ] + } + ], + "dtype": [ + "COMBO", + { + "tooltip": "Storage precision. default is lossless. int8 halves the cache at about bf16 accuracy, int4 quarters it but roughly doubles the per-step error.", + "default": "default", + "multiselect": false, + "options": [ + "default", + "int8", + "int4" + ] + } + ] + } + }, + "input_order": { + "required": [ + "model", + "device", + "dtype" + ] + }, + "is_input_list": false, + "output": [ + "MODEL" + ], + "output_is_list": [ + false + ], + "output_name": [ + "MODEL" + ], + "output_tooltips": [ + null + ], + "output_matchtypes": null, + "name": "QwenImage21Cache", + "display_name": "Qwen Image 2.1 Cache", + "description": "Allows setting the KV cache device and quantization, by default the model uses the auto -option. Quantization potentially speeds up edit workflows when memory starved ", + "python_module": "comfy_extras.nodes_qwen", + "category": "model/conditioning/qwen image", + "output_node": false, + "deprecated": false, + "experimental": true, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "RandomNoise": { + "input": { + "required": { + "noise_seed": [ + "INT", + { + "default": 0, + "min": 0, + "max": 18446744073709551615, + "control_after_generate": true + } + ] + } + }, + "input_order": { + "required": [ + "noise_seed" + ] + }, + "is_input_list": false, + "output": [ + "NOISE" + ], + "output_is_list": [ + false + ], + "output_name": [ + "NOISE" + ], + "output_tooltips": [ + null + ], + "output_matchtypes": null, + "name": "RandomNoise", + "display_name": null, + "description": "", + "python_module": "comfy_extras.nodes_custom_sampler", + "category": "model/sampling/noise", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "BasicGuider": { + "input": { + "required": { + "model": [ + "MODEL", + {} + ], + "conditioning": [ + "CONDITIONING", + {} + ] + } + }, + "input_order": { + "required": [ + "model", + "conditioning" + ] + }, + "is_input_list": false, + "output": [ + "GUIDER" + ], + "output_is_list": [ + false + ], + "output_name": [ + "GUIDER" + ], + "output_tooltips": [ + null + ], + "output_matchtypes": null, + "name": "BasicGuider", + "display_name": "Basic Guider", + "description": "", + "python_module": "comfy_extras.nodes_custom_sampler", + "category": "model/sampling/guiders", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "KSamplerSelect": { + "input": { + "required": { + "sampler_name": [ + "COMBO", + { + "multiselect": false, + "options": [ + "euler", + "euler_cfg_pp", + "euler_ancestral", + "euler_ancestral_cfg_pp", + "heun", + "heunpp2", + "exp_heun_2_x0", + "exp_heun_2_x0_sde", + "dpm_2", + "dpm_2_ancestral", + "lms", + "dpm_fast", + "dpm_adaptive", + "dpmpp_2s_ancestral", + "dpmpp_2s_ancestral_cfg_pp", + "dpmpp_sde", + "dpmpp_sde_gpu", + "dpmpp_2m", + "dpmpp_2m_cfg_pp", + "dpmpp_2m_sde", + "dpmpp_2m_sde_gpu", + "dpmpp_2m_sde_heun", + "dpmpp_2m_sde_heun_gpu", + "dpmpp_3m_sde", + "dpmpp_3m_sde_gpu", + "ddpm", + "lcm", + "ipndm", + "ipndm_v", + "deis", + "cfgpp_ud10_ab", + "res_multistep", + "res_multistep_cfg_pp", + "res_multistep_ancestral", + "res_multistep_ancestral_cfg_pp", + "gradient_estimation", + "gradient_estimation_cfg_pp", + "er_sde", + "seeds_2", + "seeds_3", + "sa_solver", + "sa_solver_pece", + "ddim", + "uni_pc", + "uni_pc_bh2" + ] + } + ] + } + }, + "input_order": { + "required": [ + "sampler_name" + ] + }, + "is_input_list": false, + "output": [ + "SAMPLER" + ], + "output_is_list": [ + false + ], + "output_name": [ + "SAMPLER" + ], + "output_tooltips": [ + null + ], + "output_matchtypes": null, + "name": "KSamplerSelect", + "display_name": null, + "description": "", + "python_module": "comfy_extras.nodes_custom_sampler", + "category": "model/sampling/samplers", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "BasicScheduler": { + "input": { + "required": { + "model": [ + "MODEL", + {} + ], + "scheduler": [ + "COMBO", + { + "multiselect": false, + "options": [ + "simple", + "sgm_uniform", + "karras", + "exponential", + "ddim_uniform", + "beta", + "normal", + "linear_quadratic", + "kl_optimal" + ] + } + ], + "steps": [ + "INT", + { + "default": 20, + "min": 1, + "max": 10000 + } + ], + "denoise": [ + "FLOAT", + { + "default": 1.0, + "min": 0.0, + "max": 1.0, + "step": 0.01 + } + ] + } + }, + "input_order": { + "required": [ + "model", + "scheduler", + "steps", + "denoise" + ] + }, + "is_input_list": false, + "output": [ + "SIGMAS" + ], + "output_is_list": [ + false + ], + "output_name": [ + "SIGMAS" + ], + "output_tooltips": [ + null + ], + "output_matchtypes": null, + "name": "BasicScheduler", + "display_name": null, + "description": "", + "python_module": "comfy_extras.nodes_custom_sampler", + "category": "model/sampling/schedulers", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "SamplerCustomAdvanced": { + "input": { + "required": { + "noise": [ + "NOISE", + {} + ], + "guider": [ + "GUIDER", + {} + ], + "sampler": [ + "SAMPLER", + {} + ], + "sigmas": [ + "SIGMAS", + {} + ], + "latent_image": [ + "LATENT", + {} + ] + } + }, + "input_order": { + "required": [ + "noise", + "guider", + "sampler", + "sigmas", + "latent_image" + ] + }, + "is_input_list": false, + "output": [ + "LATENT", + "LATENT" + ], + "output_is_list": [ + false, + false + ], + "output_name": [ + "output", + "denoised_output" + ], + "output_tooltips": [ + null, + null + ], + "output_matchtypes": null, + "name": "SamplerCustomAdvanced", + "display_name": null, + "description": "", + "python_module": "comfy_extras.nodes_custom_sampler", + "category": "model/sampling/custom", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "MiniMaxH3ImageToVideo": { + "input": { + "required": { + "clip": [ + "CLIP", + {} + ], + "vae": [ + "VAE", + {} + ], + "prompt": [ + "STRING", + { + "multiline": true, + "dynamicPrompts": true + } + ], + "width": [ + "INT", + { + "default": 1344, + "min": 32, + "max": 16384, + "step": 32 + } + ], + "height": [ + "INT", + { + "default": 768, + "min": 32, + "max": 16384, + "step": 32 + } + ], + "length": [ + "INT", + { + "tooltip": "Frame count at 24 fps, snapped up to the model's 17k+5 grid (124 = ~5s; trained range is ~124-362, longer is untested)", + "default": 124, + "min": 5, + "max": 3600, + "step": 17 + } + ] + }, + "optional": { + "first_frame": [ + "IMAGE", + {} + ], + "last_frame": [ + "IMAGE", + {} + ] + } + }, + "input_order": { + "required": [ + "clip", + "vae", + "prompt", + "width", + "height", + "length" + ], + "optional": [ + "first_frame", + "last_frame" + ] + }, + "is_input_list": false, + "output": [ + "CONDITIONING", + "LATENT" + ], + "output_is_list": [ + false, + false + ], + "output_name": [ + "positive", + "LATENT" + ], + "output_tooltips": [ + null, + null + ], + "output_matchtypes": null, + "name": "MiniMaxH3ImageToVideo", + "display_name": "MiniMax H3 Image to Video", + "description": "", + "python_module": "comfy_extras.nodes_minimax_h3", + "category": "model/conditioning/minimax", + "output_node": false, + "deprecated": false, + "experimental": false, + "dev_only": false, + "api_node": false, + "price_badge": null, + "search_aliases": null, + "essentials_category": null, + "has_intermediate_output": false + }, + "MiniMaxH3ReferenceToVideo": { + "input": { + "required": { + "clip": [ + "CLIP", + {} + ], + "prompt": [ + "STRING", + { + "multiline": true, + "dynamicPrompts": true + } + ], + "width": [ + "INT", + { + "default": 1344, + "min": 32, + "max": 16384, + "step": 32 + } + ], + "height": [ + "INT", + { + "default": 768, + "min": 32, + "max": 16384, + "step": 32 + } + ], + "length": [ + "INT", + { + "tooltip": "Frame count at 24 fps, (124 = ~5s, trained range is ~124-362)", + "default": 124, + "min": 5, + "max": 3600, + "step": 17 + } + ], + "ref_image_size": [ + "COMBO", + { + "tooltip": "Reference image sizing. 'match' scales each ref (down only, keeping aspect) to the generation's pixel area; 'max' uses the reference pipeline's 2048px short edge for best identity fidelity. Reference tokens ride through every sampling step, so 'max' can be several times slower.", + "default": "match", + "multiselect": false, + "options": [ + "match", + "max" + ] + } + ] + }, + "optional": { + "vae": [ + "VAE", + { + "tooltip": "Video VAE. Without it reference images/videos only condition the text encoder." + } + ], + "audio_vae": [ + "VAE", + { + "tooltip": "Audio VAE. Without it reference audio only conditions the text encoder." + } + ], + "ref_images": [ + "COMFY_AUTOGROW_V3", + { + "template": { + "input": { + "required": { + "ref_image": [ + "IMAGE", + { + "tooltip": "Reference image (downscaled to 2048 short edge if larger, never upscaled)" + } + ] + } + }, + "prefix": "ref_image_", + "min": 0, + "max": 9 + } + } + ], + "ref_videos": [ + "COMFY_AUTOGROW_V3", + { + "template": { + "input": { + "required": { + "ref_video": [ + "IMAGE", + { + "tooltip": "Reference video frames at 24 fps (2-15s)" + } + ] + } + }, + "prefix": "ref_video_", + "min": 0, + "max": 3 + } + } + ], + "ref_video_audios": [ + "COMFY_AUTOGROW_V3", + { + "template": { + "input": { + "required": { + "ref_video_audio": [ + "AUDIO", + { + "tooltip": "Soundtrack of the same-numbered reference video" + } + ] + } + }, + "prefix": "ref_video_audio_", + "min": 0, + "max": 3 + } + } + ], + "ref_audios": [ + "COMFY_AUTOGROW_V3", + { + "template": { + "input": { + "required": { + "ref_audio": [ + "AUDIO", + { + "tooltip": "Standalone reference audio" + } + ] + } + }, + "prefix": "ref_audio_", + "min": 0, + "max": 3 + } + } + ] + } + }, + "input_order": { + "required": [ + "clip", + "prompt", + "width", + "height", + "length", + "ref_image_size" + ], + "optional": [ + "vae", + "audio_vae", + "ref_images", + "ref_videos", + "ref_video_audios", + "ref_audios" + ] + }, + "is_input_list": false, + "output": [ + "CONDITIONING", + "LATENT" + ], + "output_is_list": [ + false, + false + ], + "output_name": [ + "positive", + "LATENT" + ], + "output_tooltips": [ + null, + null + ], + "output_matchtypes": null, + "name": "MiniMaxH3ReferenceToVideo", + "display_name": "MiniMax H3 Reference to Video", + "description": " /