From b9757d4988cb4351fe2c9a5bea16015b01601a25 Mon Sep 17 00:00:00 2001 From: macro chen Date: Thu, 5 Dec 2024 17:11:26 +0800 Subject: [PATCH] first commit --- .gitignore | 6 + README.md | 1073 ++- README_CN.MD | 980 +++ __init__.py | 53 + api_key.ini.example | 2 + custom_size.ini.example | 10 + font/Alibaba-PuHuiTi-Heavy.ttf | Bin 0 -> 2167400 bytes image/add_blind_watermark_node.jpg | Bin 0 -> 31836 bytes image/bbox_join_node.jpg | Bin 0 -> 60135 bytes image/birefnet_ultra_example.jpg | Bin 0 -> 273656 bytes image/birefnet_ultra_node.jpg | Bin 0 -> 52997 bytes image/birefnet_ultra_v2_example.jpg | Bin 0 -> 318901 bytes image/birefnet_ultra_v2_node.jpg | Bin 0 -> 113389 bytes image/blend_mode_result.jpg | Bin 0 -> 460297 bytes image/blend_mode_v2_example.jpg | Bin 0 -> 862386 bytes image/create_qrcode_node.jpg | Bin 0 -> 43765 bytes image/data_nodes_example.jpg | Bin 0 -> 164108 bytes image/decode_qrcode_node.jpg | Bin 0 -> 32663 bytes image/draw_bbox_mask_example.jpg | Bin 0 -> 358637 bytes image/draw_bbox_mask_node.jpg | Bin 0 -> 73839 bytes image/evf_sam_ultra_example.jpg | Bin 0 -> 374838 bytes image/evf_sam_ultra_node.jpg | Bin 0 -> 116146 bytes image/florence2_image2prompt_example.jpg | Bin 0 -> 150599 bytes image/florence2_image2prompt_node.jpg | Bin 0 -> 53733 bytes image/florence2_ultra_example.jpg | Bin 0 -> 101422 bytes image/florence2_ultra_node.jpg | Bin 0 -> 65612 bytes image/get_color_tone_example.jpg | Bin 0 -> 184660 bytes image/get_color_tone_node.jpg | Bin 0 -> 69442 bytes image/get_color_tone_v2_example.jpg | Bin 0 -> 188496 bytes image/get_color_tone_v2_example2.jpg | Bin 0 -> 87744 bytes image/get_color_tone_v2_node.jpg | Bin 0 -> 49133 bytes image/human_parts_node.jpg | Bin 0 -> 164200 bytes image/human_parts_ultra_example.jpg | Bin 0 -> 317812 bytes image/image_auto_crop_example.jpg | Bin 0 -> 270386 bytes image/image_auto_crop_node.jpg | Bin 0 -> 166305 bytes image/image_auto_crop_v2_node.jpg | Bin 0 -> 155630 bytes image/image_auto_crop_v3_node.jpg | Bin 0 -> 105364 bytes image/image_reward_filter_example.jpg | Bin 0 -> 354997 bytes image/image_reward_filter_node.jpg | Bin 0 -> 54818 bytes image/joycaption2_example.jpg | Bin 0 -> 531917 bytes image/joycaption2_extra_options_node.jpg | Bin 0 -> 203804 bytes image/joycaption2_node.jpg | Bin 0 -> 112122 bytes image/joycaption2_split_node.jpg | Bin 0 -> 90867 bytes image/lama_example.jpg | Bin 0 -> 304108 bytes image/lama_node.jpg | Bin 0 -> 68002 bytes image/light_leak_example.jpg | Bin 0 -> 172469 bytes image/light_leak_node.jpg | Bin 0 -> 95881 bytes image/llama_vision_example.jpg | Bin 0 -> 402721 bytes image/llama_vision_node.jpg | Bin 0 -> 139092 bytes image/load_ben_model_node.jpg | Bin 0 -> 72100 bytes image/load_birefnet_model_node.jpg | Bin 0 -> 52819 bytes image/load_birefnet_model_v2_node.jpg | Bin 0 -> 93700 bytes image/load_florence2_model_node.jpg | Bin 0 -> 33095 bytes image/load_image_example.jpg | Bin 0 -> 165075 bytes image/load_image_example_psd_file.jpg | Bin 0 -> 131336 bytes image/load_image_node.jpg | Bin 0 -> 75257 bytes image/load_joycaption2_model_node.jpg | Bin 0 -> 73222 bytes image/mask_by_different_example.jpg | Bin 0 -> 199454 bytes image/mask_by_different_node.jpg | Bin 0 -> 125521 bytes image/mediapipe_facial_segment_example.jpg | Bin 0 -> 79364 bytes image/mediapipe_facial_segment_node.jpg | Bin 0 -> 56876 bytes image/node-menu.jpg | Bin 0 -> 70767 bytes image/node-search.jpg | Bin 0 -> 98091 bytes image/object_detector_fl2_node.jpg | Bin 0 -> 70829 bytes image/object_detector_mask_node.jpg | Bin 0 -> 67974 bytes image/object_detector_yolo8_node.jpg | Bin 0 -> 76044 bytes image/object_detector_yolo_world_node.jpg | Bin 0 -> 108807 bytes image/outer_glow_example.jpg | Bin 0 -> 149618 bytes image/person_mask_ultra_example.jpg | Bin 0 -> 265868 bytes image/person_mask_ultra_node.jpg | Bin 0 -> 136144 bytes image/person_mask_ultra_v2_node.jpg | Bin 0 -> 77346 bytes image/phi_prompt_example.jpg | Bin 0 -> 609917 bytes image/phi_prompt_node.jpg | Bin 0 -> 110305 bytes image/prompt_embellish_example.jpg | Bin 0 -> 171381 bytes image/prompt_embellish_node.jpg | Bin 0 -> 65764 bytes image/prompt_tagger_example.jpg | Bin 0 -> 337946 bytes image/prompt_tagger_example1.jpg | Bin 0 -> 232880 bytes image/prompt_tagger_node.jpg | Bin 0 -> 54175 bytes image/qwen_image2prompt_example.jpg | Bin 0 -> 166270 bytes image/sam2_example.jpg | Bin 0 -> 652061 bytes image/sam2_ultra_node.jpg | Bin 0 -> 129365 bytes image/sam2_video_ultra_node.jpg | Bin 0 -> 164582 bytes image/saveimage_plus_example.jpg | Bin 0 -> 134718 bytes image/saveimage_plus_node.jpg | Bin 0 -> 60034 bytes image/sd3_negative_conditioning_example.jpg | Bin 0 -> 169159 bytes image/sd3_negative_conditioning_node.jpg | Bin 0 -> 36999 bytes image/sd3_negative_conditioning_node_note.jpg | Bin 0 -> 106326 bytes image/segment_anything_ultra_compare.jpg | Bin 0 -> 264019 bytes image/segment_anything_ultra_example.jpg | Bin 0 -> 262563 bytes image/segment_anything_ultra_node.jpg | Bin 0 -> 126428 bytes image/segment_anything_ultra_v2_node.jpg | Bin 0 -> 166556 bytes image/show_blind_watermark_node.jpg | Bin 0 -> 32269 bytes .../transparent_background_ultra_example.jpg | Bin 0 -> 137055 bytes image/transparent_background_ultra_node.jpg | Bin 0 -> 65518 bytes image/ultra_v2_nodes_example.jpg | Bin 0 -> 330442 bytes ...userprompt_generator_replace_word_node.jpg | Bin 0 -> 73267 bytes image/userprompt_generator_txt2img_node.jpg | Bin 0 -> 70289 bytes ..._generator_txt2img_with_reference_node.jpg | Bin 0 -> 106290 bytes image/water_color_example.jpg | Bin 0 -> 149740 bytes image/water_color_node.jpg | Bin 0 -> 77141 bytes image/watermark_example.jpg | Bin 0 -> 217797 bytes image/yolov8_detect_example.jpg | Bin 0 -> 250831 bytes image/yolov8_detect_node.jpg | Bin 0 -> 43215 bytes install_requirements.bat | 31 + install_requirements_aki.bat | 30 + js/dz_node_palette.js | 42 + py/BiRefNet_legacy/__init__.py | 0 py/BiRefNet_legacy/backbones/__init__.py | 0 .../backbones/build_backbone.py | 45 + py/BiRefNet_legacy/backbones/pvt_v2.py | 434 ++ py/BiRefNet_legacy/backbones/swin_v1.py | 652 ++ py/BiRefNet_legacy/baseline.py | 292 + py/BiRefNet_legacy/config.py | 104 + py/BiRefNet_legacy/dataset.py | 140 + py/BiRefNet_legacy/modules/__init__.py | 0 py/BiRefNet_legacy/modules/aspp.py | 162 + py/BiRefNet_legacy/modules/attentions.py | 93 + py/BiRefNet_legacy/modules/decoder_blocks.py | 101 + py/BiRefNet_legacy/modules/deform_conv.py | 66 + py/BiRefNet_legacy/modules/ing.py | 29 + py/BiRefNet_legacy/modules/lateral_blocks.py | 21 + py/BiRefNet_legacy/modules/mlp.py | 118 + py/BiRefNet_legacy/modules/utils.py | 54 + py/BiRefNet_legacy/preproc.py | 85 + py/BiRefNet_legacy/refinement/__init__.py | 0 py/BiRefNet_legacy/refinement/refiner.py | 253 + py/BiRefNet_legacy/refinement/stem_layer.py | 45 + py/BiRefNet_v2/LICENSE | 21 + py/BiRefNet_v2/README.md | 316 + py/BiRefNet_v2/__init__.py | 0 py/BiRefNet_v2/config.py | 174 + py/BiRefNet_v2/dataset.py | 118 + py/BiRefNet_v2/eval_existingOnes.py | 146 + py/BiRefNet_v2/evaluation/metrics.py | 763 ++ py/BiRefNet_v2/gen_best_ep.py | 86 + py/BiRefNet_v2/image_proc.py | 119 + py/BiRefNet_v2/inference.py | 105 + py/BiRefNet_v2/loss.py | 277 + py/BiRefNet_v2/make_a_copy.sh | 18 + .../models/backbones/build_backbone.py | 44 + py/BiRefNet_v2/models/backbones/pvt_v2.py | 435 ++ py/BiRefNet_v2/models/backbones/swin_v1.py | 627 ++ py/BiRefNet_v2/models/birefnet.py | 286 + py/BiRefNet_v2/models/modules/aspp.py | 120 + .../models/modules/decoder_blocks.py | 66 + py/BiRefNet_v2/models/modules/deform_conv.py | 66 + .../models/modules/lateral_blocks.py | 21 + py/BiRefNet_v2/models/modules/mlp.py | 118 + .../models/modules/prompt_encoder.py | 222 + py/BiRefNet_v2/models/modules/utils.py | 54 + py/BiRefNet_v2/models/refinement/refiner.py | 252 + .../models/refinement/stem_layer.py | 45 + py/BiRefNet_v2/requirements.txt | 15 + py/BiRefNet_v2/rm_cache.sh | 20 + py/BiRefNet_v2/sub.sh | 17 + py/BiRefNet_v2/test.sh | 29 + py/BiRefNet_v2/train.py | 333 + py/BiRefNet_v2/train.sh | 42 + py/BiRefNet_v2/train_test.sh | 11 + .../tutorials/BiRefNet_inference.ipynb | 1575 ++++ .../tutorials/BiRefNet_pth2onnx.ipynb | 312 + py/BiRefNet_v2/utils.py | 97 + py/Qwen_image2prompt.py | 60 + py/birefnet_legacy.py | 83 + py/birefnet_ultra.py | 83 + py/birefnet_ultra_v2.py | 215 + py/blendmodes.py | 324 + py/briarmbg.py | 455 ++ py/evf_sam/__init__.py | 0 py/evf_sam/evf_sam_inference.py | 146 + .../EfficientSAM/efficient_sam/__init__.py | 7 + .../efficient_sam/build_efficient_sam.py | 22 + .../efficient_sam/efficient_sam.py | 306 + .../efficient_sam/efficient_sam_decoder.py | 318 + .../efficient_sam/efficient_sam_encoder.py | 257 + .../model/EfficientSAM/efficient_sam/mlp.py | 29 + .../efficient_sam/two_way_transformer.py | 266 + py/evf_sam/model/__init__.py | 0 py/evf_sam/model/configuration_evf.py | 113 + py/evf_sam/model/evf_effisam.py | 313 + py/evf_sam/model/evf_sam.py | 303 + py/evf_sam/model/evf_sam2.py | 341 + py/evf_sam/model/evf_sam2_video.py | 321 + py/evf_sam/model/segment_anything/__init__.py | 10 + .../automatic_mask_generator.py | 372 + .../model/segment_anything/build_sam.py | 108 + .../segment_anything/modeling/__init__.py | 11 + .../model/segment_anything/modeling/common.py | 43 + .../modeling/image_encoder.py | 426 ++ .../segment_anything/modeling/mask_decoder.py | 191 + .../modeling/prompt_encoder.py | 238 + .../model/segment_anything/modeling/sam.py | 184 + .../segment_anything/modeling/transformer.py | 242 + .../model/segment_anything/predictor.py | 284 + .../model/segment_anything/utils/__init__.py | 5 + .../model/segment_anything/utils/amg.py | 346 + .../model/segment_anything/utils/onnx.py | 157 + .../segment_anything/utils/transforms.py | 113 + .../model/segment_anything_2/sam2/__init__.py | 11 + .../sam2/automatic_mask_generator.py | 434 ++ .../segment_anything_2/sam2/build_sam.py | 90 + .../sam2/csrc/connected_components.cu | 289 + .../sam2/modeling/__init__.py | 5 + .../sam2/modeling/backbones/__init__.py | 5 + .../sam2/modeling/backbones/hieradet.py | 295 + .../sam2/modeling/backbones/image_encoder.py | 133 + .../sam2/modeling/backbones/utils.py | 95 + .../sam2/modeling/memory_attention.py | 169 + .../sam2/modeling/memory_encoder.py | 182 + .../sam2/modeling/position_encoding.py | 216 + .../sam2/modeling/sam/__init__.py | 5 + .../sam2/modeling/sam/mask_decoder.py | 295 + .../sam2/modeling/sam/prompt_encoder.py | 241 + .../sam2/modeling/sam/transformer.py | 330 + .../sam2/modeling/sam2_base.py | 833 +++ .../sam2/modeling/sam2_utils.py | 149 + .../sam2/sam2_image_predictor.py | 446 ++ .../sam2/sam2_video_predictor.py | 984 +++ .../segment_anything_2/sam2/utils/__init__.py | 5 + .../segment_anything_2/sam2/utils/amg.py | 348 + .../segment_anything_2/sam2/utils/misc.py | 238 + .../sam2/utils/transforms.py | 99 + .../sam2_configs/__init__.py | 5 + .../sam2_configs/sam2_hiera_b+.yaml | 113 + .../sam2_configs/sam2_hiera_l.yaml | 117 + .../sam2_configs/sam2_hiera_s.yaml | 116 + .../sam2_configs/sam2_hiera_t.yaml | 118 + py/evf_sam/model/segment_anything_2/setup.py | 29 + py/evf_sam/model/unilm/beit3/README.md | 191 + py/evf_sam/model/unilm/beit3/datasets.py | 847 +++ .../unilm/beit3/engine_for_finetuning.py | 598 ++ .../get_started/get_started_for_captioning.md | 176 + .../get_started_for_image_classification.md | 138 + .../get_started/get_started_for_nlvr2.md | 136 + .../get_started/get_started_for_retrieval.md | 161 + .../get_started/get_started_for_vqav2.md | 144 + py/evf_sam/model/unilm/beit3/glossary.py | 190 + .../model/unilm/beit3/modeling_finetune.py | 386 + .../model/unilm/beit3/modeling_utils.py | 76 + py/evf_sam/model/unilm/beit3/optim_factory.py | 128 + py/evf_sam/model/unilm/beit3/randaug.py | 340 + py/evf_sam/model/unilm/beit3/requirements.txt | 22 + .../model/unilm/beit3/run_beit3_finetuning.py | 448 ++ py/evf_sam/model/unilm/beit3/utils.py | 913 +++ py/evf_sam/utils/ade20k_classes.json | 30 + py/evf_sam/utils/aug.py | 117 + py/evf_sam/utils/data_processing.py | 90 + py/evf_sam/utils/dataset.py | 386 + py/evf_sam/utils/grefcoco.py | 193 + py/evf_sam/utils/grefer.py | 352 + py/evf_sam/utils/refer.py | 391 + py/evf_sam/utils/refer_seg_dataset.py | 254 + py/evf_sam/utils/sem_seg_dataset.py | 290 + py/evf_sam/utils/utils.py | 127 + py/evf_sam_ultra.py | 120 + py/florence2_ultra.py | 615 ++ py/get_color_tone.py | 46 + py/get_color_tone_v2.py | 123 + py/human_parts_ultra.py | 199 + py/image_auto_crop.py | 165 + py/image_auto_crop_v2.py | 253 + py/image_auto_crop_v3.py | 193 + py/image_reward_filter.py | 77 + py/imagefunc.py | 2485 +++++++ py/iopaint/__init__.py | 23 + py/iopaint/__main__.py | 4 + py/iopaint/api.py | 397 + py/iopaint/batch_processing.py | 127 + py/iopaint/benchmark.py | 109 + py/iopaint/cli.py | 220 + py/iopaint/const.py | 125 + py/iopaint/download.py | 294 + py/iopaint/file_manager/__init__.py | 1 + py/iopaint/file_manager/file_manager.py | 215 + py/iopaint/file_manager/storage_backends.py | 46 + py/iopaint/file_manager/utils.py | 65 + py/iopaint/helper.py | 411 + py/iopaint/installer.py | 12 + py/iopaint/model/__init__.py | 37 + py/iopaint/model/anytext/__init__.py | 0 py/iopaint/model/anytext/anytext_model.py | 73 + py/iopaint/model/anytext/anytext_pipeline.py | 403 + py/iopaint/model/anytext/anytext_sd15.yaml | 99 + py/iopaint/model/anytext/cldm/__init__.py | 0 py/iopaint/model/anytext/cldm/cldm.py | 630 ++ py/iopaint/model/anytext/cldm/ddim_hacked.py | 486 ++ .../model/anytext/cldm/embedding_manager.py | 165 + py/iopaint/model/anytext/cldm/hack.py | 111 + py/iopaint/model/anytext/cldm/model.py | 40 + py/iopaint/model/anytext/cldm/recognizer.py | 300 + py/iopaint/model/anytext/ldm/__init__.py | 0 .../model/anytext/ldm/models/__init__.py | 0 .../model/anytext/ldm/models/autoencoder.py | 218 + .../anytext/ldm/models/diffusion/__init__.py | 0 .../anytext/ldm/models/diffusion/ddim.py | 354 + .../anytext/ldm/models/diffusion/ddpm.py | 2380 ++++++ .../models/diffusion/dpm_solver/__init__.py | 1 + .../models/diffusion/dpm_solver/dpm_solver.py | 1154 +++ .../models/diffusion/dpm_solver/sampler.py | 87 + .../anytext/ldm/models/diffusion/plms.py | 244 + .../ldm/models/diffusion/sampling_util.py | 22 + .../model/anytext/ldm/modules/__init__.py | 0 .../model/anytext/ldm/modules/attention.py | 360 + .../ldm/modules/diffusionmodules/__init__.py | 0 .../ldm/modules/diffusionmodules/model.py | 973 +++ .../modules/diffusionmodules/openaimodel.py | 786 ++ .../ldm/modules/diffusionmodules/upscaling.py | 81 + .../ldm/modules/diffusionmodules/util.py | 271 + .../ldm/modules/distributions/__init__.py | 0 .../modules/distributions/distributions.py | 92 + py/iopaint/model/anytext/ldm/modules/ema.py | 80 + .../anytext/ldm/modules/encoders/__init__.py | 0 .../anytext/ldm/modules/encoders/modules.py | 411 + py/iopaint/model/anytext/ldm/util.py | 197 + py/iopaint/model/anytext/main.py | 45 + py/iopaint/model/anytext/ocr_recog/RNN.py | 210 + .../model/anytext/ocr_recog/RecCTCHead.py | 48 + .../model/anytext/ocr_recog/RecModel.py | 45 + .../model/anytext/ocr_recog/RecMv1_enhance.py | 232 + py/iopaint/model/anytext/ocr_recog/RecSVTR.py | 591 ++ .../model/anytext/ocr_recog/__init__.py | 0 py/iopaint/model/anytext/ocr_recog/common.py | 74 + .../model/anytext/ocr_recog/ppocr_keys_v1.txt | 6623 +++++++++++++++++ py/iopaint/model/anytext/utils.py | 151 + py/iopaint/model/base.py | 418 ++ py/iopaint/model/controlnet.py | 190 + py/iopaint/model/ddim_sampler.py | 193 + py/iopaint/model/fcf.py | 1737 +++++ py/iopaint/model/helper/__init__.py | 0 .../model/helper/controlnet_preprocess.py | 68 + py/iopaint/model/helper/cpu_text_encoder.py | 41 + py/iopaint/model/helper/g_diffuser_bot.py | 167 + py/iopaint/model/instruct_pix2pix.py | 64 + py/iopaint/model/kandinsky.py | 65 + py/iopaint/model/lama.py | 57 + py/iopaint/model/ldm.py | 336 + py/iopaint/model/manga.py | 97 + py/iopaint/model/mat.py | 1945 +++++ py/iopaint/model/mi_gan.py | 110 + py/iopaint/model/opencv2.py | 29 + .../model/original_sd_configs/__init__.py | 19 + .../model/original_sd_configs/sd_xl_base.yaml | 93 + .../original_sd_configs/sd_xl_refiner.yaml | 86 + .../original_sd_configs/v1-inference.yaml | 70 + .../original_sd_configs/v2-inference-v.yaml | 68 + py/iopaint/model/paint_by_example.py | 68 + py/iopaint/model/plms_sampler.py | 225 + py/iopaint/model/power_paint/__init__.py | 0 .../model/power_paint/pipeline_powerpaint.py | 1243 ++++ .../pipeline_powerpaint_controlnet.py | 1775 +++++ py/iopaint/model/power_paint/power_paint.py | 101 + .../model/power_paint/powerpaint_tokenizer.py | 540 ++ py/iopaint/model/sd.py | 129 + py/iopaint/model/sdxl.py | 110 + py/iopaint/model/utils.py | 1033 +++ py/iopaint/model/zits.py | 476 ++ py/iopaint/model_info.py | 103 + py/iopaint/model_manager.py | 196 + py/iopaint/plugins/__init__.py | 74 + py/iopaint/plugins/anime_seg.py | 462 ++ py/iopaint/plugins/base_plugin.py | 30 + py/iopaint/plugins/briarmbg.py | 512 ++ py/iopaint/plugins/gfpgan_plugin.py | 74 + py/iopaint/plugins/gfpganer.py | 84 + py/iopaint/plugins/interactive_seg.py | 107 + py/iopaint/plugins/realesrgan.py | 109 + py/iopaint/plugins/remove_bg.py | 71 + py/iopaint/plugins/restoreformer.py | 57 + .../plugins/segment_anything/__init__.py | 16 + .../plugins/segment_anything/build_sam.py | 269 + .../segment_anything/modeling/__init__.py | 11 + .../segment_anything/modeling/common.py | 43 + .../modeling/image_encoder.py | 395 + .../modeling/image_encoder_hq.py | 422 ++ .../segment_anything/modeling/mask_decoder.py | 410 + .../modeling/prompt_encoder.py | 214 + .../plugins/segment_anything/modeling/sam.py | 174 + .../segment_anything/modeling/sam_hq.py | 177 + .../segment_anything/modeling/tiny_vit_sam.py | 822 ++ .../segment_anything/modeling/transformer.py | 240 + .../plugins/segment_anything/predictor.py | 285 + .../plugins/segment_anything/predictor_hq.py | 292 + .../segment_anything/utils/__init__.py | 5 + .../segment_anything/utils/transforms.py | 112 + py/iopaint/runtime.py | 88 + py/iopaint/schema.py | 470 ++ py/iopaint/tests/__init__.py | 0 py/iopaint/tests/test_adjust_mask.py | 17 + py/iopaint/tests/test_anytext.py | 45 + py/iopaint/tests/test_controlnet.py | 118 + py/iopaint/tests/test_instruct_pix2pix.py | 40 + py/iopaint/tests/test_load_img.py | 19 + py/iopaint/tests/test_low_mem.py | 131 + py/iopaint/tests/test_match_histograms.py | 36 + py/iopaint/tests/test_model.py | 160 + py/iopaint/tests/test_model_md5.py | 16 + py/iopaint/tests/test_model_switch.py | 70 + py/iopaint/tests/test_outpainting.py | 138 + py/iopaint/tests/test_paint_by_example.py | 55 + py/iopaint/tests/test_plugins.py | 121 + py/iopaint/tests/test_save_exif.py | 59 + py/iopaint/tests/test_sd_model.py | 269 + py/iopaint/tests/test_sdxl.py | 172 + py/iopaint/tests/utils.py | 77 + .../web_app/assets/Inter-Black-jiII8dog.woff2 | Bin 0 -> 108748 bytes .../assets/Inter-BlackItalic-1413vuen.woff2 | Bin 0 -> 115364 bytes .../web_app/assets/Inter-Bold-srYz_-1B.woff2 | Bin 0 -> 111040 bytes .../assets/Inter-BoldItalic-dE_gZyur.woff2 | Bin 0 -> 118392 bytes .../assets/Inter-ExtraBold-TduDdwUu.woff2 | Bin 0 -> 111360 bytes .../Inter-ExtraBoldItalic-BJafRE5I.woff2 | Bin 0 -> 118604 bytes .../assets/Inter-ExtraLight-w5HAp5iF.woff2 | Bin 0 -> 110176 bytes .../Inter-ExtraLightItalic-ZptecSuc.woff2 | Bin 0 -> 116296 bytes .../assets/Inter-Italic-f6M78thn.woff2 | Bin 0 -> 114576 bytes .../web_app/assets/Inter-Light-DFhX0qo-.woff2 | Bin 0 -> 109992 bytes .../assets/Inter-LightItalic-fu56_DRc.woff2 | Bin 0 -> 116516 bytes .../assets/Inter-Medium-dDRaJ8tM.woff2 | Bin 0 -> 111380 bytes .../assets/Inter-MediumItalic-zr3roggP.woff2 | Bin 0 -> 118392 bytes .../assets/Inter-Regular-dEFHw1tF.woff2 | Bin 0 -> 108488 bytes .../assets/Inter-SemiBold-PyS8DO2L.woff2 | Bin 0 -> 111588 bytes .../Inter-SemiBoldItalic-uIDb7hsH.woff2 | Bin 0 -> 118216 bytes .../web_app/assets/Inter-Thin-eKObIkJC.woff2 | Bin 0 -> 106620 bytes .../assets/Inter-ThinItalic-L6uBn3RP.woff2 | Bin 0 -> 113384 bytes py/iopaint/web_app/assets/index-8BlaS7ws.js | 165 + py/iopaint/web_app/assets/index-CXO-mkQB.js | 165 + py/iopaint/web_app/assets/index-NQyCh9rO.js | 165 + py/iopaint/web_app/assets/index-QuEBEP4v.js | 165 + py/iopaint/web_app/assets/index-TI-UMrGI.js | 165 + py/iopaint/web_app/assets/index-Tqq3L7kY.js | 165 + py/iopaint/web_app/assets/index-UXaKiZjP.css | 1 + py/iopaint/web_app/assets/index-_6nUWG_P.js | 165 + py/iopaint/web_app/assets/index-c6LmMFap.js | 165 + py/iopaint/web_app/assets/index-hrusMZZs.js | 165 + py/iopaint/web_app/assets/index-iK_rIxV0.css | 1 + py/iopaint/web_app/assets/index-kS3ik1bw.js | 165 + py/iopaint/web_app/assets/index-p0ivNJpo.css | 1 + py/iopaint/web_app/assets/index-qFliSBYV.js | 165 + .../assets/kofi_button_black-XI_Dr2zg.png | Bin 0 -> 207929 bytes py/iopaint/web_app/index.html | 13 + py/iopaint/web_config.py | 307 + py/joycaption_alpha_2.py | 640 ++ py/lama.py | 127 + py/llama_vision.py | 121 + py/loadpsd.py | 109 + py/local_groundingdino/datasets/__init__.py | 0 py/local_groundingdino/datasets/transforms.py | 311 + .../models/GroundingDINO/__init__.py | 15 + .../models/GroundingDINO/backbone/__init__.py | 1 + .../models/GroundingDINO/backbone/backbone.py | 221 + .../backbone/position_encoding.py | 186 + .../backbone/swin_transformer.py | 802 ++ .../models/GroundingDINO/bertwarper.py | 269 + .../models/GroundingDINO/fuse_modules.py | 297 + .../models/GroundingDINO/groundingdino.py | 385 + .../models/GroundingDINO/ms_deform_attn.py | 334 + .../models/GroundingDINO/transformer.py | 959 +++ .../GroundingDINO/transformer_vanilla.py | 118 + .../models/GroundingDINO/utils.py | 268 + py/local_groundingdino/models/__init__.py | 18 + py/local_groundingdino/models/registry.py | 66 + py/local_groundingdino/util/__init__.py | 1 + py/local_groundingdino/util/box_ops.py | 140 + py/local_groundingdino/util/get_tokenlizer.py | 29 + py/local_groundingdino/util/inference.py | 244 + py/local_groundingdino/util/misc.py | 717 ++ py/local_groundingdino/util/slconfig.py | 427 ++ py/local_groundingdino/util/slio.py | 177 + py/local_groundingdino/util/utils.py | 608 ++ py/mask_by_different.py | 82 + py/mediapipe_facial_segment.py | 111 + py/object_detector.py | 486 ++ py/person_mask_Ultra.py | 146 + py/person_mask_ultra_v2.py | 176 + py/phi_nodes.py | 209 + py/prompt_embellish.py | 104 + py/prompt_tagger.py | 79 + py/qrcode.py | 89 + py/sam2/__init__.py | 5 + py/sam2/automatic_mask_generator.py | 434 ++ py/sam2/modeling/__init__.py | 5 + py/sam2/modeling/backbones/__init__.py | 5 + py/sam2/modeling/backbones/hieradet.py | 316 + py/sam2/modeling/backbones/image_encoder.py | 134 + py/sam2/modeling/backbones/utils.py | 95 + py/sam2/modeling/memory_attention.py | 169 + py/sam2/modeling/memory_encoder.py | 181 + py/sam2/modeling/position_encoding.py | 216 + py/sam2/modeling/sam/__init__.py | 5 + py/sam2/modeling/sam/mask_decoder.py | 295 + py/sam2/modeling/sam/prompt_encoder.py | 182 + py/sam2/modeling/sam/transformer.py | 347 + py/sam2/modeling/sam2_base.py | 907 +++ py/sam2/modeling/sam2_utils.py | 323 + py/sam2/sam2_configs/__init__.py | 5 + py/sam2/sam2_configs/sam2.1_hiera_b+.yaml | 116 + py/sam2/sam2_configs/sam2.1_hiera_l.yaml | 120 + py/sam2/sam2_configs/sam2.1_hiera_s.yaml | 119 + py/sam2/sam2_configs/sam2.1_hiera_t.yaml | 121 + py/sam2/sam2_configs/sam2_hiera_b+.yaml | 119 + py/sam2/sam2_configs/sam2_hiera_l.yaml | 120 + py/sam2/sam2_configs/sam2_hiera_s.yaml | 119 + py/sam2/sam2_configs/sam2_hiera_t.yaml | 121 + py/sam2/sam2_image_predictor.py | 446 ++ py/sam2/sam2_video_predictor.py | 1154 +++ py/sam2/utils/__init__.py | 5 + py/sam2/utils/amg.py | 348 + py/sam2/utils/misc.py | 349 + py/sam2/utils/transforms.py | 106 + py/sam_2_ultra.py | 795 ++ py/sam_hq/automatic.py | 115 + py/sam_hq/build_sam_hq.py | 166 + py/sam_hq/modeling/image_encoder.py | 20 + py/sam_hq/modeling/mask_decoder_hq.py | 236 + py/sam_hq/modeling/tiny_vit.py | 618 ++ py/sam_hq/predictor.py | 145 + py/save_image_plus.py | 183 + py/sd3_negative_conditioning.py | 49 + py/segment_anything_func.py | 233 + py/segment_anything_ultra.py | 93 + py/segment_anything_ultra_v2.py | 120 + py/transparent_background_ultra.py | 98 + py/user_prompt_generator.py | 123 + py/watermark.py | 112 + py/yolov8_detect.py | 98 + pyproject.toml | 15 + repair_dependency.bat | 16 + repair_dependency_aki.bat | 16 + repair_dependency_list.txt | 8 + requirements.txt | 40 + resource_dir.ini.example | 2 + whl/docopt-0.6.2-py2.py3-none-any.whl | Bin 0 -> 13704 bytes whl/hydra_core-1.3.2-py3-none-any.whl | Bin 0 -> 154547 bytes 531 files changed, 97398 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 README_CN.MD create mode 100644 __init__.py create mode 100644 api_key.ini.example create mode 100644 custom_size.ini.example create mode 100644 font/Alibaba-PuHuiTi-Heavy.ttf create mode 100644 image/add_blind_watermark_node.jpg create mode 100644 image/bbox_join_node.jpg create mode 100644 image/birefnet_ultra_example.jpg create mode 100644 image/birefnet_ultra_node.jpg create mode 100644 image/birefnet_ultra_v2_example.jpg create mode 100644 image/birefnet_ultra_v2_node.jpg create mode 100644 image/blend_mode_result.jpg create mode 100644 image/blend_mode_v2_example.jpg create mode 100644 image/create_qrcode_node.jpg create mode 100644 image/data_nodes_example.jpg create mode 100644 image/decode_qrcode_node.jpg create mode 100644 image/draw_bbox_mask_example.jpg create mode 100644 image/draw_bbox_mask_node.jpg create mode 100644 image/evf_sam_ultra_example.jpg create mode 100644 image/evf_sam_ultra_node.jpg create mode 100644 image/florence2_image2prompt_example.jpg create mode 100644 image/florence2_image2prompt_node.jpg create mode 100644 image/florence2_ultra_example.jpg create mode 100644 image/florence2_ultra_node.jpg create mode 100644 image/get_color_tone_example.jpg create mode 100644 image/get_color_tone_node.jpg create mode 100644 image/get_color_tone_v2_example.jpg create mode 100644 image/get_color_tone_v2_example2.jpg create mode 100644 image/get_color_tone_v2_node.jpg create mode 100644 image/human_parts_node.jpg create mode 100644 image/human_parts_ultra_example.jpg create mode 100644 image/image_auto_crop_example.jpg create mode 100644 image/image_auto_crop_node.jpg create mode 100644 image/image_auto_crop_v2_node.jpg create mode 100644 image/image_auto_crop_v3_node.jpg create mode 100644 image/image_reward_filter_example.jpg create mode 100644 image/image_reward_filter_node.jpg create mode 100644 image/joycaption2_example.jpg create mode 100644 image/joycaption2_extra_options_node.jpg create mode 100644 image/joycaption2_node.jpg create mode 100644 image/joycaption2_split_node.jpg create mode 100644 image/lama_example.jpg create mode 100644 image/lama_node.jpg create mode 100644 image/light_leak_example.jpg create mode 100644 image/light_leak_node.jpg create mode 100644 image/llama_vision_example.jpg create mode 100644 image/llama_vision_node.jpg create mode 100644 image/load_ben_model_node.jpg create mode 100644 image/load_birefnet_model_node.jpg create mode 100644 image/load_birefnet_model_v2_node.jpg create mode 100644 image/load_florence2_model_node.jpg create mode 100644 image/load_image_example.jpg create mode 100644 image/load_image_example_psd_file.jpg create mode 100644 image/load_image_node.jpg create mode 100644 image/load_joycaption2_model_node.jpg create mode 100644 image/mask_by_different_example.jpg create mode 100644 image/mask_by_different_node.jpg create mode 100644 image/mediapipe_facial_segment_example.jpg create mode 100644 image/mediapipe_facial_segment_node.jpg create mode 100644 image/node-menu.jpg create mode 100644 image/node-search.jpg create mode 100644 image/object_detector_fl2_node.jpg create mode 100644 image/object_detector_mask_node.jpg create mode 100644 image/object_detector_yolo8_node.jpg create mode 100644 image/object_detector_yolo_world_node.jpg create mode 100644 image/outer_glow_example.jpg create mode 100644 image/person_mask_ultra_example.jpg create mode 100644 image/person_mask_ultra_node.jpg create mode 100644 image/person_mask_ultra_v2_node.jpg create mode 100644 image/phi_prompt_example.jpg create mode 100644 image/phi_prompt_node.jpg create mode 100644 image/prompt_embellish_example.jpg create mode 100644 image/prompt_embellish_node.jpg create mode 100644 image/prompt_tagger_example.jpg create mode 100644 image/prompt_tagger_example1.jpg create mode 100644 image/prompt_tagger_node.jpg create mode 100644 image/qwen_image2prompt_example.jpg create mode 100644 image/sam2_example.jpg create mode 100644 image/sam2_ultra_node.jpg create mode 100644 image/sam2_video_ultra_node.jpg create mode 100644 image/saveimage_plus_example.jpg create mode 100644 image/saveimage_plus_node.jpg create mode 100644 image/sd3_negative_conditioning_example.jpg create mode 100644 image/sd3_negative_conditioning_node.jpg create mode 100644 image/sd3_negative_conditioning_node_note.jpg create mode 100644 image/segment_anything_ultra_compare.jpg create mode 100644 image/segment_anything_ultra_example.jpg create mode 100644 image/segment_anything_ultra_node.jpg create mode 100644 image/segment_anything_ultra_v2_node.jpg create mode 100644 image/show_blind_watermark_node.jpg create mode 100644 image/transparent_background_ultra_example.jpg create mode 100644 image/transparent_background_ultra_node.jpg create mode 100644 image/ultra_v2_nodes_example.jpg create mode 100644 image/userprompt_generator_replace_word_node.jpg create mode 100644 image/userprompt_generator_txt2img_node.jpg create mode 100644 image/userprompt_generator_txt2img_with_reference_node.jpg create mode 100644 image/water_color_example.jpg create mode 100644 image/water_color_node.jpg create mode 100644 image/watermark_example.jpg create mode 100644 image/yolov8_detect_example.jpg create mode 100644 image/yolov8_detect_node.jpg create mode 100644 install_requirements.bat create mode 100644 install_requirements_aki.bat create mode 100644 js/dz_node_palette.js create mode 100644 py/BiRefNet_legacy/__init__.py create mode 100644 py/BiRefNet_legacy/backbones/__init__.py create mode 100644 py/BiRefNet_legacy/backbones/build_backbone.py create mode 100644 py/BiRefNet_legacy/backbones/pvt_v2.py create mode 100644 py/BiRefNet_legacy/backbones/swin_v1.py create mode 100644 py/BiRefNet_legacy/baseline.py create mode 100644 py/BiRefNet_legacy/config.py create mode 100644 py/BiRefNet_legacy/dataset.py create mode 100644 py/BiRefNet_legacy/modules/__init__.py create mode 100644 py/BiRefNet_legacy/modules/aspp.py create mode 100644 py/BiRefNet_legacy/modules/attentions.py create mode 100644 py/BiRefNet_legacy/modules/decoder_blocks.py create mode 100644 py/BiRefNet_legacy/modules/deform_conv.py create mode 100644 py/BiRefNet_legacy/modules/ing.py create mode 100644 py/BiRefNet_legacy/modules/lateral_blocks.py create mode 100644 py/BiRefNet_legacy/modules/mlp.py create mode 100644 py/BiRefNet_legacy/modules/utils.py create mode 100644 py/BiRefNet_legacy/preproc.py create mode 100644 py/BiRefNet_legacy/refinement/__init__.py create mode 100644 py/BiRefNet_legacy/refinement/refiner.py create mode 100644 py/BiRefNet_legacy/refinement/stem_layer.py create mode 100644 py/BiRefNet_v2/LICENSE create mode 100644 py/BiRefNet_v2/README.md create mode 100644 py/BiRefNet_v2/__init__.py create mode 100644 py/BiRefNet_v2/config.py create mode 100644 py/BiRefNet_v2/dataset.py create mode 100644 py/BiRefNet_v2/eval_existingOnes.py create mode 100644 py/BiRefNet_v2/evaluation/metrics.py create mode 100644 py/BiRefNet_v2/gen_best_ep.py create mode 100644 py/BiRefNet_v2/image_proc.py create mode 100644 py/BiRefNet_v2/inference.py create mode 100644 py/BiRefNet_v2/loss.py create mode 100644 py/BiRefNet_v2/make_a_copy.sh create mode 100644 py/BiRefNet_v2/models/backbones/build_backbone.py create mode 100644 py/BiRefNet_v2/models/backbones/pvt_v2.py create mode 100644 py/BiRefNet_v2/models/backbones/swin_v1.py create mode 100644 py/BiRefNet_v2/models/birefnet.py create mode 100644 py/BiRefNet_v2/models/modules/aspp.py create mode 100644 py/BiRefNet_v2/models/modules/decoder_blocks.py create mode 100644 py/BiRefNet_v2/models/modules/deform_conv.py create mode 100644 py/BiRefNet_v2/models/modules/lateral_blocks.py create mode 100644 py/BiRefNet_v2/models/modules/mlp.py create mode 100644 py/BiRefNet_v2/models/modules/prompt_encoder.py create mode 100644 py/BiRefNet_v2/models/modules/utils.py create mode 100644 py/BiRefNet_v2/models/refinement/refiner.py create mode 100644 py/BiRefNet_v2/models/refinement/stem_layer.py create mode 100644 py/BiRefNet_v2/requirements.txt create mode 100644 py/BiRefNet_v2/rm_cache.sh create mode 100644 py/BiRefNet_v2/sub.sh create mode 100644 py/BiRefNet_v2/test.sh create mode 100644 py/BiRefNet_v2/train.py create mode 100644 py/BiRefNet_v2/train.sh create mode 100644 py/BiRefNet_v2/train_test.sh create mode 100644 py/BiRefNet_v2/tutorials/BiRefNet_inference.ipynb create mode 100644 py/BiRefNet_v2/tutorials/BiRefNet_pth2onnx.ipynb create mode 100644 py/BiRefNet_v2/utils.py create mode 100644 py/Qwen_image2prompt.py create mode 100644 py/birefnet_legacy.py create mode 100644 py/birefnet_ultra.py create mode 100644 py/birefnet_ultra_v2.py create mode 100644 py/blendmodes.py create mode 100644 py/briarmbg.py create mode 100644 py/evf_sam/__init__.py create mode 100644 py/evf_sam/evf_sam_inference.py create mode 100644 py/evf_sam/model/EfficientSAM/efficient_sam/__init__.py create mode 100644 py/evf_sam/model/EfficientSAM/efficient_sam/build_efficient_sam.py create mode 100644 py/evf_sam/model/EfficientSAM/efficient_sam/efficient_sam.py create mode 100644 py/evf_sam/model/EfficientSAM/efficient_sam/efficient_sam_decoder.py create mode 100644 py/evf_sam/model/EfficientSAM/efficient_sam/efficient_sam_encoder.py create mode 100644 py/evf_sam/model/EfficientSAM/efficient_sam/mlp.py create mode 100644 py/evf_sam/model/EfficientSAM/efficient_sam/two_way_transformer.py create mode 100644 py/evf_sam/model/__init__.py create mode 100644 py/evf_sam/model/configuration_evf.py create mode 100644 py/evf_sam/model/evf_effisam.py create mode 100644 py/evf_sam/model/evf_sam.py create mode 100644 py/evf_sam/model/evf_sam2.py create mode 100644 py/evf_sam/model/evf_sam2_video.py create mode 100644 py/evf_sam/model/segment_anything/__init__.py create mode 100644 py/evf_sam/model/segment_anything/automatic_mask_generator.py create mode 100644 py/evf_sam/model/segment_anything/build_sam.py create mode 100644 py/evf_sam/model/segment_anything/modeling/__init__.py create mode 100644 py/evf_sam/model/segment_anything/modeling/common.py create mode 100644 py/evf_sam/model/segment_anything/modeling/image_encoder.py create mode 100644 py/evf_sam/model/segment_anything/modeling/mask_decoder.py create mode 100644 py/evf_sam/model/segment_anything/modeling/prompt_encoder.py create mode 100644 py/evf_sam/model/segment_anything/modeling/sam.py create mode 100644 py/evf_sam/model/segment_anything/modeling/transformer.py create mode 100644 py/evf_sam/model/segment_anything/predictor.py create mode 100644 py/evf_sam/model/segment_anything/utils/__init__.py create mode 100644 py/evf_sam/model/segment_anything/utils/amg.py create mode 100644 py/evf_sam/model/segment_anything/utils/onnx.py create mode 100644 py/evf_sam/model/segment_anything/utils/transforms.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/__init__.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/automatic_mask_generator.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/build_sam.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/csrc/connected_components.cu create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/__init__.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/backbones/__init__.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/backbones/hieradet.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/backbones/image_encoder.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/backbones/utils.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/memory_attention.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/memory_encoder.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/position_encoding.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/sam/__init__.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/sam/mask_decoder.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/sam/prompt_encoder.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/sam/transformer.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/sam2_base.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/modeling/sam2_utils.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/sam2_image_predictor.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/sam2_video_predictor.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/utils/__init__.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/utils/amg.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/utils/misc.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2/utils/transforms.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2_configs/__init__.py create mode 100644 py/evf_sam/model/segment_anything_2/sam2_configs/sam2_hiera_b+.yaml create mode 100644 py/evf_sam/model/segment_anything_2/sam2_configs/sam2_hiera_l.yaml create mode 100644 py/evf_sam/model/segment_anything_2/sam2_configs/sam2_hiera_s.yaml create mode 100644 py/evf_sam/model/segment_anything_2/sam2_configs/sam2_hiera_t.yaml create mode 100644 py/evf_sam/model/segment_anything_2/setup.py create mode 100644 py/evf_sam/model/unilm/beit3/README.md create mode 100644 py/evf_sam/model/unilm/beit3/datasets.py create mode 100644 py/evf_sam/model/unilm/beit3/engine_for_finetuning.py create mode 100644 py/evf_sam/model/unilm/beit3/get_started/get_started_for_captioning.md create mode 100644 py/evf_sam/model/unilm/beit3/get_started/get_started_for_image_classification.md create mode 100644 py/evf_sam/model/unilm/beit3/get_started/get_started_for_nlvr2.md create mode 100644 py/evf_sam/model/unilm/beit3/get_started/get_started_for_retrieval.md create mode 100644 py/evf_sam/model/unilm/beit3/get_started/get_started_for_vqav2.md create mode 100644 py/evf_sam/model/unilm/beit3/glossary.py create mode 100644 py/evf_sam/model/unilm/beit3/modeling_finetune.py create mode 100644 py/evf_sam/model/unilm/beit3/modeling_utils.py create mode 100644 py/evf_sam/model/unilm/beit3/optim_factory.py create mode 100644 py/evf_sam/model/unilm/beit3/randaug.py create mode 100644 py/evf_sam/model/unilm/beit3/requirements.txt create mode 100644 py/evf_sam/model/unilm/beit3/run_beit3_finetuning.py create mode 100644 py/evf_sam/model/unilm/beit3/utils.py create mode 100644 py/evf_sam/utils/ade20k_classes.json create mode 100644 py/evf_sam/utils/aug.py create mode 100644 py/evf_sam/utils/data_processing.py create mode 100644 py/evf_sam/utils/dataset.py create mode 100644 py/evf_sam/utils/grefcoco.py create mode 100644 py/evf_sam/utils/grefer.py create mode 100644 py/evf_sam/utils/refer.py create mode 100644 py/evf_sam/utils/refer_seg_dataset.py create mode 100644 py/evf_sam/utils/sem_seg_dataset.py create mode 100644 py/evf_sam/utils/utils.py create mode 100644 py/evf_sam_ultra.py create mode 100644 py/florence2_ultra.py create mode 100644 py/get_color_tone.py create mode 100644 py/get_color_tone_v2.py create mode 100644 py/human_parts_ultra.py create mode 100644 py/image_auto_crop.py create mode 100644 py/image_auto_crop_v2.py create mode 100644 py/image_auto_crop_v3.py create mode 100644 py/image_reward_filter.py create mode 100644 py/imagefunc.py create mode 100644 py/iopaint/__init__.py create mode 100644 py/iopaint/__main__.py create mode 100644 py/iopaint/api.py create mode 100644 py/iopaint/batch_processing.py create mode 100644 py/iopaint/benchmark.py create mode 100644 py/iopaint/cli.py create mode 100644 py/iopaint/const.py create mode 100644 py/iopaint/download.py create mode 100644 py/iopaint/file_manager/__init__.py create mode 100644 py/iopaint/file_manager/file_manager.py create mode 100644 py/iopaint/file_manager/storage_backends.py create mode 100644 py/iopaint/file_manager/utils.py create mode 100644 py/iopaint/helper.py create mode 100644 py/iopaint/installer.py create mode 100644 py/iopaint/model/__init__.py create mode 100644 py/iopaint/model/anytext/__init__.py create mode 100644 py/iopaint/model/anytext/anytext_model.py create mode 100644 py/iopaint/model/anytext/anytext_pipeline.py create mode 100644 py/iopaint/model/anytext/anytext_sd15.yaml create mode 100644 py/iopaint/model/anytext/cldm/__init__.py create mode 100644 py/iopaint/model/anytext/cldm/cldm.py create mode 100644 py/iopaint/model/anytext/cldm/ddim_hacked.py create mode 100644 py/iopaint/model/anytext/cldm/embedding_manager.py create mode 100644 py/iopaint/model/anytext/cldm/hack.py create mode 100644 py/iopaint/model/anytext/cldm/model.py create mode 100644 py/iopaint/model/anytext/cldm/recognizer.py create mode 100644 py/iopaint/model/anytext/ldm/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/models/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/models/autoencoder.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/ddim.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/ddpm.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/dpm_solver/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/dpm_solver/dpm_solver.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/dpm_solver/sampler.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/plms.py create mode 100644 py/iopaint/model/anytext/ldm/models/diffusion/sampling_util.py create mode 100644 py/iopaint/model/anytext/ldm/modules/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/modules/attention.py create mode 100644 py/iopaint/model/anytext/ldm/modules/diffusionmodules/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/modules/diffusionmodules/model.py create mode 100644 py/iopaint/model/anytext/ldm/modules/diffusionmodules/openaimodel.py create mode 100644 py/iopaint/model/anytext/ldm/modules/diffusionmodules/upscaling.py create mode 100644 py/iopaint/model/anytext/ldm/modules/diffusionmodules/util.py create mode 100644 py/iopaint/model/anytext/ldm/modules/distributions/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/modules/distributions/distributions.py create mode 100644 py/iopaint/model/anytext/ldm/modules/ema.py create mode 100644 py/iopaint/model/anytext/ldm/modules/encoders/__init__.py create mode 100644 py/iopaint/model/anytext/ldm/modules/encoders/modules.py create mode 100644 py/iopaint/model/anytext/ldm/util.py create mode 100644 py/iopaint/model/anytext/main.py create mode 100644 py/iopaint/model/anytext/ocr_recog/RNN.py create mode 100644 py/iopaint/model/anytext/ocr_recog/RecCTCHead.py create mode 100644 py/iopaint/model/anytext/ocr_recog/RecModel.py create mode 100644 py/iopaint/model/anytext/ocr_recog/RecMv1_enhance.py create mode 100644 py/iopaint/model/anytext/ocr_recog/RecSVTR.py create mode 100644 py/iopaint/model/anytext/ocr_recog/__init__.py create mode 100644 py/iopaint/model/anytext/ocr_recog/common.py create mode 100644 py/iopaint/model/anytext/ocr_recog/ppocr_keys_v1.txt create mode 100644 py/iopaint/model/anytext/utils.py create mode 100644 py/iopaint/model/base.py create mode 100644 py/iopaint/model/controlnet.py create mode 100644 py/iopaint/model/ddim_sampler.py create mode 100644 py/iopaint/model/fcf.py create mode 100644 py/iopaint/model/helper/__init__.py create mode 100644 py/iopaint/model/helper/controlnet_preprocess.py create mode 100644 py/iopaint/model/helper/cpu_text_encoder.py create mode 100644 py/iopaint/model/helper/g_diffuser_bot.py create mode 100644 py/iopaint/model/instruct_pix2pix.py create mode 100644 py/iopaint/model/kandinsky.py create mode 100644 py/iopaint/model/lama.py create mode 100644 py/iopaint/model/ldm.py create mode 100644 py/iopaint/model/manga.py create mode 100644 py/iopaint/model/mat.py create mode 100644 py/iopaint/model/mi_gan.py create mode 100644 py/iopaint/model/opencv2.py create mode 100644 py/iopaint/model/original_sd_configs/__init__.py create mode 100644 py/iopaint/model/original_sd_configs/sd_xl_base.yaml create mode 100644 py/iopaint/model/original_sd_configs/sd_xl_refiner.yaml create mode 100644 py/iopaint/model/original_sd_configs/v1-inference.yaml create mode 100644 py/iopaint/model/original_sd_configs/v2-inference-v.yaml create mode 100644 py/iopaint/model/paint_by_example.py create mode 100644 py/iopaint/model/plms_sampler.py create mode 100644 py/iopaint/model/power_paint/__init__.py create mode 100644 py/iopaint/model/power_paint/pipeline_powerpaint.py create mode 100644 py/iopaint/model/power_paint/pipeline_powerpaint_controlnet.py create mode 100644 py/iopaint/model/power_paint/power_paint.py create mode 100644 py/iopaint/model/power_paint/powerpaint_tokenizer.py create mode 100644 py/iopaint/model/sd.py create mode 100644 py/iopaint/model/sdxl.py create mode 100644 py/iopaint/model/utils.py create mode 100644 py/iopaint/model/zits.py create mode 100644 py/iopaint/model_info.py create mode 100644 py/iopaint/model_manager.py create mode 100644 py/iopaint/plugins/__init__.py create mode 100644 py/iopaint/plugins/anime_seg.py create mode 100644 py/iopaint/plugins/base_plugin.py create mode 100644 py/iopaint/plugins/briarmbg.py create mode 100644 py/iopaint/plugins/gfpgan_plugin.py create mode 100644 py/iopaint/plugins/gfpganer.py create mode 100644 py/iopaint/plugins/interactive_seg.py create mode 100644 py/iopaint/plugins/realesrgan.py create mode 100644 py/iopaint/plugins/remove_bg.py create mode 100644 py/iopaint/plugins/restoreformer.py create mode 100644 py/iopaint/plugins/segment_anything/__init__.py create mode 100644 py/iopaint/plugins/segment_anything/build_sam.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/__init__.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/common.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/image_encoder.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/image_encoder_hq.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/mask_decoder.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/prompt_encoder.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/sam.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/sam_hq.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/tiny_vit_sam.py create mode 100644 py/iopaint/plugins/segment_anything/modeling/transformer.py create mode 100644 py/iopaint/plugins/segment_anything/predictor.py create mode 100644 py/iopaint/plugins/segment_anything/predictor_hq.py create mode 100644 py/iopaint/plugins/segment_anything/utils/__init__.py create mode 100644 py/iopaint/plugins/segment_anything/utils/transforms.py create mode 100644 py/iopaint/runtime.py create mode 100644 py/iopaint/schema.py create mode 100644 py/iopaint/tests/__init__.py create mode 100644 py/iopaint/tests/test_adjust_mask.py create mode 100644 py/iopaint/tests/test_anytext.py create mode 100644 py/iopaint/tests/test_controlnet.py create mode 100644 py/iopaint/tests/test_instruct_pix2pix.py create mode 100644 py/iopaint/tests/test_load_img.py create mode 100644 py/iopaint/tests/test_low_mem.py create mode 100644 py/iopaint/tests/test_match_histograms.py create mode 100644 py/iopaint/tests/test_model.py create mode 100644 py/iopaint/tests/test_model_md5.py create mode 100644 py/iopaint/tests/test_model_switch.py create mode 100644 py/iopaint/tests/test_outpainting.py create mode 100644 py/iopaint/tests/test_paint_by_example.py create mode 100644 py/iopaint/tests/test_plugins.py create mode 100644 py/iopaint/tests/test_save_exif.py create mode 100644 py/iopaint/tests/test_sd_model.py create mode 100644 py/iopaint/tests/test_sdxl.py create mode 100644 py/iopaint/tests/utils.py create mode 100644 py/iopaint/web_app/assets/Inter-Black-jiII8dog.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-BlackItalic-1413vuen.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-Bold-srYz_-1B.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-BoldItalic-dE_gZyur.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-ExtraBold-TduDdwUu.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-ExtraBoldItalic-BJafRE5I.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-ExtraLight-w5HAp5iF.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-ExtraLightItalic-ZptecSuc.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-Italic-f6M78thn.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-Light-DFhX0qo-.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-LightItalic-fu56_DRc.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-Medium-dDRaJ8tM.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-MediumItalic-zr3roggP.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-Regular-dEFHw1tF.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-SemiBold-PyS8DO2L.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-SemiBoldItalic-uIDb7hsH.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-Thin-eKObIkJC.woff2 create mode 100644 py/iopaint/web_app/assets/Inter-ThinItalic-L6uBn3RP.woff2 create mode 100644 py/iopaint/web_app/assets/index-8BlaS7ws.js create mode 100644 py/iopaint/web_app/assets/index-CXO-mkQB.js create mode 100644 py/iopaint/web_app/assets/index-NQyCh9rO.js create mode 100644 py/iopaint/web_app/assets/index-QuEBEP4v.js create mode 100644 py/iopaint/web_app/assets/index-TI-UMrGI.js create mode 100644 py/iopaint/web_app/assets/index-Tqq3L7kY.js create mode 100644 py/iopaint/web_app/assets/index-UXaKiZjP.css create mode 100644 py/iopaint/web_app/assets/index-_6nUWG_P.js create mode 100644 py/iopaint/web_app/assets/index-c6LmMFap.js create mode 100644 py/iopaint/web_app/assets/index-hrusMZZs.js create mode 100644 py/iopaint/web_app/assets/index-iK_rIxV0.css create mode 100644 py/iopaint/web_app/assets/index-kS3ik1bw.js create mode 100644 py/iopaint/web_app/assets/index-p0ivNJpo.css create mode 100644 py/iopaint/web_app/assets/index-qFliSBYV.js create mode 100644 py/iopaint/web_app/assets/kofi_button_black-XI_Dr2zg.png create mode 100644 py/iopaint/web_app/index.html create mode 100644 py/iopaint/web_config.py create mode 100644 py/joycaption_alpha_2.py create mode 100644 py/lama.py create mode 100644 py/llama_vision.py create mode 100644 py/loadpsd.py create mode 100644 py/local_groundingdino/datasets/__init__.py create mode 100644 py/local_groundingdino/datasets/transforms.py create mode 100644 py/local_groundingdino/models/GroundingDINO/__init__.py create mode 100644 py/local_groundingdino/models/GroundingDINO/backbone/__init__.py create mode 100644 py/local_groundingdino/models/GroundingDINO/backbone/backbone.py create mode 100644 py/local_groundingdino/models/GroundingDINO/backbone/position_encoding.py create mode 100644 py/local_groundingdino/models/GroundingDINO/backbone/swin_transformer.py create mode 100644 py/local_groundingdino/models/GroundingDINO/bertwarper.py create mode 100644 py/local_groundingdino/models/GroundingDINO/fuse_modules.py create mode 100644 py/local_groundingdino/models/GroundingDINO/groundingdino.py create mode 100644 py/local_groundingdino/models/GroundingDINO/ms_deform_attn.py create mode 100644 py/local_groundingdino/models/GroundingDINO/transformer.py create mode 100644 py/local_groundingdino/models/GroundingDINO/transformer_vanilla.py create mode 100644 py/local_groundingdino/models/GroundingDINO/utils.py create mode 100644 py/local_groundingdino/models/__init__.py create mode 100644 py/local_groundingdino/models/registry.py create mode 100644 py/local_groundingdino/util/__init__.py create mode 100644 py/local_groundingdino/util/box_ops.py create mode 100644 py/local_groundingdino/util/get_tokenlizer.py create mode 100644 py/local_groundingdino/util/inference.py create mode 100644 py/local_groundingdino/util/misc.py create mode 100644 py/local_groundingdino/util/slconfig.py create mode 100644 py/local_groundingdino/util/slio.py create mode 100644 py/local_groundingdino/util/utils.py create mode 100644 py/mask_by_different.py create mode 100644 py/mediapipe_facial_segment.py create mode 100644 py/object_detector.py create mode 100644 py/person_mask_Ultra.py create mode 100644 py/person_mask_ultra_v2.py create mode 100644 py/phi_nodes.py create mode 100644 py/prompt_embellish.py create mode 100644 py/prompt_tagger.py create mode 100644 py/qrcode.py create mode 100644 py/sam2/__init__.py create mode 100644 py/sam2/automatic_mask_generator.py create mode 100644 py/sam2/modeling/__init__.py create mode 100644 py/sam2/modeling/backbones/__init__.py create mode 100644 py/sam2/modeling/backbones/hieradet.py create mode 100644 py/sam2/modeling/backbones/image_encoder.py create mode 100644 py/sam2/modeling/backbones/utils.py create mode 100644 py/sam2/modeling/memory_attention.py create mode 100644 py/sam2/modeling/memory_encoder.py create mode 100644 py/sam2/modeling/position_encoding.py create mode 100644 py/sam2/modeling/sam/__init__.py create mode 100644 py/sam2/modeling/sam/mask_decoder.py create mode 100644 py/sam2/modeling/sam/prompt_encoder.py create mode 100644 py/sam2/modeling/sam/transformer.py create mode 100644 py/sam2/modeling/sam2_base.py create mode 100644 py/sam2/modeling/sam2_utils.py create mode 100644 py/sam2/sam2_configs/__init__.py create mode 100644 py/sam2/sam2_configs/sam2.1_hiera_b+.yaml create mode 100644 py/sam2/sam2_configs/sam2.1_hiera_l.yaml create mode 100644 py/sam2/sam2_configs/sam2.1_hiera_s.yaml create mode 100644 py/sam2/sam2_configs/sam2.1_hiera_t.yaml create mode 100644 py/sam2/sam2_configs/sam2_hiera_b+.yaml create mode 100644 py/sam2/sam2_configs/sam2_hiera_l.yaml create mode 100644 py/sam2/sam2_configs/sam2_hiera_s.yaml create mode 100644 py/sam2/sam2_configs/sam2_hiera_t.yaml create mode 100644 py/sam2/sam2_image_predictor.py create mode 100644 py/sam2/sam2_video_predictor.py create mode 100644 py/sam2/utils/__init__.py create mode 100644 py/sam2/utils/amg.py create mode 100644 py/sam2/utils/misc.py create mode 100644 py/sam2/utils/transforms.py create mode 100644 py/sam_2_ultra.py create mode 100644 py/sam_hq/automatic.py create mode 100644 py/sam_hq/build_sam_hq.py create mode 100644 py/sam_hq/modeling/image_encoder.py create mode 100644 py/sam_hq/modeling/mask_decoder_hq.py create mode 100644 py/sam_hq/modeling/tiny_vit.py create mode 100644 py/sam_hq/predictor.py create mode 100644 py/save_image_plus.py create mode 100644 py/sd3_negative_conditioning.py create mode 100644 py/segment_anything_func.py create mode 100644 py/segment_anything_ultra.py create mode 100644 py/segment_anything_ultra_v2.py create mode 100644 py/transparent_background_ultra.py create mode 100644 py/user_prompt_generator.py create mode 100644 py/watermark.py create mode 100644 py/yolov8_detect.py create mode 100644 pyproject.toml create mode 100644 repair_dependency.bat create mode 100644 repair_dependency_aki.bat create mode 100644 repair_dependency_list.txt create mode 100644 requirements.txt create mode 100644 resource_dir.ini.example create mode 100644 whl/docopt-0.6.2-py2.py3-none-any.whl create mode 100644 whl/hydra_core-1.3.2-py3-none-any.whl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..868a782 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +_test_*.* +__pycache__ +.venv +.idea +*.pth +*.ini diff --git a/README.md b/README.md index 97db0b0..116a443 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,1073 @@ -# ComfyUI_LayerStyle_Advance +# ComfyUI Layer Style Advance + +[中文说明点这里](./README_CN.MD) + + The nodes detached from [ComfyUI Layer Style](https://github.com/chflame163/ComfyUI_LayerStyle) are mainly those with complex requirements for dependency packages. + + + +## Example workflow + +Some JSON workflow files in the ```workflow``` directory, That's examples of how these nodes can be used in ComfyUI. + +## How to install + +(Taking ComfyUI official portable package and Aki ComfyUI package as examples, please modify the dependency environment directory for other ComfyUI environments) + +### Install plugin + +* Recommended use ComfyUI Manager for installation. + +* Or open the cmd window in the plugin directory of ComfyUI, like ```ComfyUI\custom_nodes```,type + + ``` + git clone https://github.com/chflame163/ComfyUI_LayerStyle.git + ``` + +* Or download the zip file and extracted, copy the resulting folder to ```ComfyUI\custom_ Nodes``` + +### Install dependency packages + +* for ComfyUI official portable package, double-click the ```install_requirements.bat``` in the plugin directory, for Aki ComfyUI package double-click on the ```install_requirements_aki.bat``` in the plugin directory, and wait for the installation to complete. + +* Or install dependency packages, open the cmd window in the ComfyUI_LayerStyle plugin directory like + ```ComfyUI\custom_ Nodes\ComfyUI_LayerStyle``` and enter the following command, + +  for ComfyUI official portable package, type: + +``` +..\..\..\python_embeded\python.exe -s -m pip install .\whl\docopt-0.6.2-py2.py3-none-any.whl +..\..\..\python_embeded\python.exe -s -m pip install .\whl\hydra_core-1.3.2-py3-none-any.whl +..\..\..\python_embeded\python.exe -s -m pip install -r requirements.txt +.\repair_dependency.bat +``` + +  for Aki ComfyUI package, type: + +``` +..\..\python\python.exe -s -m pip install .\whl\docopt-0.6.2-py2.py3-none-any.whl +..\..\python\python.exe -s -m pip install .\whl\hydra_core-1.3.2-py3-none-any.whl +..\..\python\python.exe -s -m pip install -r requirements.txt +.\repair_dependency.bat +``` + +* Restart ComfyUI. + +### Download Model Files + +Chinese domestic users from [BaiduNetdisk](https://pan.baidu.com/s/1T_uXMX3OKIWOJLPuLijrgA?pwd=1yye) and other users from [huggingface.co/chflame163/ComfyUI_LayerStyle](https://huggingface.co/chflame163/ComfyUI_LayerStyle/tree/main) +download all files and copy them to ```ComfyUI\models``` folder. This link provides all the model files required for this plugin. +Or download the model file according to the instructions of each node. + +## Common Issues + +If the node cannot load properly or there are errors during use, please check the error message in the ComfyUI terminal window. The following are common errors and their solutions. + +### Warning: xxxx.ini not found, use default xxxx.. + +This warning message indicates that the ini file cannot be found and does not affect usage. If you do not want to see these warnings, please modify all ```*.ini.example``` files in the plugin directory to ```*.ini```. + +### ModuleNotFoundError: No module named 'psd_tools' + +This error is that the ```psd_tools``` were not installed correctly. + +Solution: + +* Close ComfyUI and open the terminal window in the plugin directory and execute the following command: + ```../../../python_embeded/python.exe -s -m pip install psd_tools``` + If error occurs during the installation of psd_tool, such as ```ModuleNotFoundError: No module named 'docopt'``` , please download [docopt's whl](https://www.piwheels.org/project/docopt/) and manual install it. + execute the following command in terminal window: + ```../../../python_embeded/python.exe -s -m pip install path/docopt-0.6.2-py2.py3-none-any.whl``` the ```path``` is path name of whl file. + +### Cannot import name 'guidedFilter' from 'cv2.ximgproc' + +This error is caused by incorrect version of the ```opencv-contrib-python``` package,or this package is overwriteen by other opencv packages. + +### NameError: name 'guidedFilter' is not defined + +The reason for the problem is the same as above. + +### Cannot import name 'VitMatteImageProcessor' from 'transformers' + +This error is caused by the low version of ```transformers``` package. + +### insightface Loading very slow + +This error is caused by the low version of ```protobuf``` package. + +#### For the issues with the above three dependency packages, please double click ```repair_dependency.bat``` (for Official ComfyUI Protable) or ```repair_dependency_aki.bat``` (for ComfyUI-aki-v1.x) in the plugin folder to automatically fix them. + +### onnxruntime::python::CreateExecutionProviderInstance CUDA_PATH is set but CUDA wasn't able to be loaded. Please install the correct version of CUDA and cuDNN as mentioned in the GPU requirements page + +Solution: +Reinstall the ```onnxruntime``` dependency package. + +### Error loading model xxx: We couldn't connect to huggingface.co ... + +Check the network environment. If you cannot access huggingface.co normally in China, try modifying the huggingface_hub package to force the use hf_mirror. + +* Find ```constants.py``` in the directory of ```huggingface_hub``` package (usually ```Lib/site packages/huggingface_hub``` in the virtual environment path), + Add a line after ```import os``` + + ``` + os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' + ``` + +### ValueError: Trimap did not contain foreground values (xxxx...) + +This error is caused by the mask area being too large or too small when using the ```PyMatting``` method to handle the mask edges. + +Solution: + +* Please adjust the parameters to change the effective area of the mask. Or use other methods to handle the edges. + +### Requests.exceptions.ProxyError: HTTPSConnectionPool(xxxx...) + +When this error has occurred, please check the network environment. + +### UnboundLocalError: local variable 'clip_processor' referenced before assignment +### UnboundLocalError: local variable 'text_model' referenced before assignment +If this error occurs when executing ```JoyCaption2``` node and it has been confirmed that the model file has been placed in the correct directory, +please check the ```transformers``` dependency package version is at least 4.43.2 or higher. +If ```transformers``` version is higher than or equal to 4.45.0, and also have error message: +``` +Error loading models: De️️scriptors cannot be created directly. +If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. +...... +``` +Please try downgrading the ```protobuf``` dependency package to 3.20.3, or set environment variables: ```PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python```. + + + +## Update + +**If the dependency package error after updating, please double clicking ```repair_dependency.bat``` (for Official ComfyUI Protable) or ```repair_dependency_aki.bat``` (for ComfyUI-aki-v1.x) in the plugin folder to reinstall the dependency packages. + +* Discard the dependencies required for the [ObjectDetector YOLOWorld](#ObjectDetectorYOLOWorld) node from the requirements. txt file. To use this node, please manually install the dependency package. +* Strip some nodes from [ComfyUI Layer Style](https://github.com/chflame163/ComfyUI_LayerStyle) to this repository. + + + +## Description + +### QWenImage2Prompt + +Inference the prompts based on the image. this node is repackage of the [ComfyUI_VLM_nodes](https://github.com/gokayfem/ComfyUI_VLM_nodes)'s ```UForm-Gen2 Qwen Node```, thanks to the original author. +Download model files from [huggingface](https://huggingface.co/unum-cloud/uform-gen2-qwen-500m) or [Baidu Netdisk](https://pan.baidu.com/s/1oRkUoOKWaxGod_XTJ8NiTA?pwd=d5d2) to ```ComfyUI/models/LLavacheckpoints/files_for_uform_gen2_qwen``` folder. + +![image](image/qwen_image2prompt_example.jpg) + +Node Options: + +* question: Prompt of UForm-Gen-QWen model. + + +### LlamaVision +Use the Llama 3.2 vision model for local inference. Can be used to generate prompt words. part of the code for this node comes from [ComfyUI-PixtralLlamaMolmoVision](https://github.com/SeanScripts/ComfyUI-PixtralLlamaMolmoVision), thank you to the original author. +To use this node, the ```transformers``` need upgraded to 4.45.0 or higher. +Download models from [BaiduNetdisk](https://pan.baidu.com/s/18oHnTrkNMiwKLMcUVrfFjA?pwd=4g81) or [huggingface/SeanScripts](https://huggingface.co/SeanScripts/Llama-3.2-11B-Vision-Instruct-nf4/tree/main) , and copy to ```ComfyUI/models/LLM```. +![image](image/llama_vision_example.jpg) + +Node Options: +![image](image/llama_vision_node.jpg) + +* image: Image input. +* model: Currently, only the "Llama-3.2-11B-Vision-Instruct-nf4" is available. +* system_prompt: System prompt words for LLM model. +* user_prompt: User prompt words for LLM model. +* max_new_tokens: max_new_tokens for LLM model. +* do_sample: do_sample for LLM model. +* top-p: top_p for LLM model. +* top_k: top_k for LLM model. +* stop_strings: The stop strings. +* seed: The seed of random number. +* control_after_generate: Seed change options. If this option is fixed, the generated random number will always be the same. +* include_prompt_in_output: Does the output contain prompt words. +* cache_model: Whether to cache the model. + +### JoyCaption2 +Use the JoyCaption-alpha-two model for local inference. Can be used to generate prompt words. this node is https://huggingface.co/John6666/joy-caption-alpha-two-cli-mod Implementation in ComfyUI, thank you to the original author. +Download models form [BaiduNetdisk](https://pan.baidu.com/s/1dOjbUEacUOhzFitAQ3uIeQ?pwd=4ypv) and [BaiduNetdisk](https://pan.baidu.com/s/1mH1SuW45Dy6Wga7aws5siQ?pwd=w6h5) , +or [huggingface/Orenguteng](https://huggingface.co/Orenguteng/Llama-3.1-8B-Lexi-Uncensored-V2/tree/main) and [huggingface/unsloth](https://huggingface.co/unsloth/Meta-Llama-3.1-8B-Instruct/tree/main) , then copy to ```ComfyUI/models/LLM```, +Download models from [BaiduNetdisk](https://pan.baidu.com/s/1pkVymOsDcXqL7IdQJ6lMVw?pwd=v8wp) or [huggingface/google](https://huggingface.co/google/siglip-so400m-patch14-384/tree/main) , and copy to ```ComfyUI/models/clip```, +Donwload the ```cgrkzexw-599808``` folder from [BaiduNetdisk](https://pan.baidu.com/s/12TDwZAeI68hWT6MgRrrK7Q?pwd=d7dh) or [huggingface/John6666](https://huggingface.co/John6666/joy-caption-alpha-two-cli-mod/tree/main) , and copy to ```ComfyUI/models/Joy_caption```。 +![image](image/joycaption2_example.jpg) + +Node Options: +![image](image/joycaption2_node.jpg) + +* image: Image input. +* extra_options: Input the extra_options. +* llm_model: There are two LLM models to choose, Orenguteng/Llama-3.1-8B-Lexi-Uncensored-V2 and unsloth/Meta-Llama-3.1-8B-Instruct. +* device: Model loading device. Currently, only CUDA is supported. +* dtype: Model precision, nf4 and bf16. +* vlm_lora: Whether to load text_madel. +* caption_type: Caption type options, including: "Descriptive", "Descriptive (Informal)", "Training Prompt", "MidJourney", "Booru tag list", "Booru-like tag list", "Art Critic", "Product Listing", "Social Media Post". +* caption_length: The length of caption. +* user_prompt: User prompt words for LLM model. If there is content here, it will overwrite all the settings for caption_type and extra_options. +* max_new_tokens: The max_new_token parameter of LLM. +* do_sample: The do_sample parameter of LLM. +* top-p: The top_p parameter of LLM. +* temperature: The temperature parameter of LLM. +* cache_model: Whether to cache the model. + +### JoyCaption2Split +The node of JoyCaption2 separate model loading and inference, and when multiple JoyCaption2 nodes are used, the model can be shared to improve efficiency. + +Node Options: +![image](image/joycaption2_split_node.jpg) + +* image: Image input.。 +* joy2_model: The JoyCaption model input. +* extra_options: Input the extra_options. +* caption_type: Caption type options, including: "Descriptive", "Descriptive (Informal)", "Training Prompt", "MidJourney", "Booru tag list", "Booru-like tag list", "Art Critic", "Product Listing", "Social Media Post". +* caption_length: The length of caption. +* user_prompt: User prompt words for LLM model. If there is content here, it will overwrite all the settings for caption_type and extra_options. +* max_new_tokens: The max_new_token parameter of LLM. +* do_sample: The do_sample parameter of LLM. +* top-p: The top_p parameter of LLM. +* temperature: The temperature parameter of LLM. + +### LoadJoyCaption2Model +JoyCaption2's model loading node, used in conjunction with JoyCaption2Split. + +Node Options: +![image](image/load_joycaption2_model_node.jpg) + +* llm_model: There are two LLM models to choose, Orenguteng/Llama-3.1-8B-Lexi-Uncensored-V2 and unsloth/Meta-Llama-3.1-8B-Instruct. +* device: Model loading device. Currently, only CUDA is supported. +* dtype: Model precision, nf4 and bf16. +* vlm_lora: Whether to load text_madel. + +### JoyCaption2ExtraOptions +The extra_options parameter node of JoyCaption2. + +Node Options: +![image](image/joycaption2_extra_options_node.jpg) + +* refer_character_name: If there is a person/character in the image you must refer to them as {name}. +* exclude_people_info: Do NOT include information about people/characters that cannot be changed (like ethnicity, gender, etc), but do still include changeable attributes (like hair style). +* include_lighting: Include information about lighting. +* include_camera_angle: Include information about camera angle. +* include_watermark: Include information about whether there is a watermark or not. +* include_JPEG_artifacts: Include information about whether there are JPEG artifacts or not. +* include_exif: If it is a photo you MUST include information about what camera was likely used and details such as aperture, shutter speed, ISO, etc. +* exclude_sexual: Do NOT include anything sexual; keep it PG. +* exclude_image_resolution: Do NOT mention the image's resolution. +* include_aesthetic_quality: You MUST include information about the subjective aesthetic quality of the image from low to very high. +* include_composition_style: Include information on the image's composition style, such as leading lines, rule of thirds, or symmetry. +* exclude_text: Do NOT mention any text that is in the image. +* specify_depth_field: Specify the depth of field and whether the background is in focus or blurred. +* specify_lighting_sources: If applicable, mention the likely use of artificial or natural lighting sources. +* do_not_use_ambiguous_language: Do NOT use any ambiguous language. +* include_nsfw: Include whether the image is sfw, suggestive, or nsfw. +* only_describe_most_important_elements: ONLY describe the most important elements of the image. +* character_name: Person/Character Name, if choice ```refer_character_name```. + +### PhiPrompt + +Use Microsoft Phi 3.5 text and visual models for local inference. Can be used to generate prompt words, process prompt words, or infer prompt words from images. Running this model requires at least 16GB of video memory. +Download model files from [BaiduNetdisk](https://pan.baidu.com/s/1BdTLdaeGC3trh1U3V-6XTA?pwd=29dh) or [huggingface.co/microsoft/Phi-3.5-vision-instruct](https://huggingface.co/microsoft/Phi-3.5-vision-instruct/tree/main) and [huggingface.co/microsoft/Phi-3.5-mini-instruct](https://huggingface.co/microsoft/Phi-3.5-mini-instruct/tree/main) and copy to ```ComfyUI\models\LLM``` folder. +![image](image/phi_prompt_example.jpg) + +Node Options: +![image](image/phi_prompt_node.jpg) + +* image: Optional input. The input image will serve as the input for Phi-3.5-vision-instruct. +* model: Selectable to load Phi-3.5-vision-instruct or Phi-3.5-mini-instruct model. The default value of auto will automatically load the corresponding model based on whether there is image input. +* device: Model loading device. Supports CPU and CUDA. +* dtype: The model loading accuracy has three options: fp16, bf16, and fp32. +* cache_model: Whether to cache the model. +* system_prompt: The system prompt of Phi-3.5-mini-instruct. +* user_prompt: User prompt words for LLM model. +* do_sample: The do_Sample parameter of LLM defaults to True. +* temperature: The temperature parameter of LLM defaults to 0.5. +* max_new_tokens: The max_new_token parameter of LLM defaults to 512. + +### UserPromptGeneratorTxtImg + +UserPrompt preset for generating SD text to image prompt words. + +Node options: +![image](image/userprompt_generator_txt2img_node.jpg) + +* template: Prompt word template. Currently, only the 'SD txt2img prompt' is available. +* describe: Prompt word description. Enter a simple description here. +* limit_word: Maximum length limit for output prompt words. For example, 200 means that the output text will be limited to 200 words. + +### UserPromptGeneratorTxtImgWithReference + +UserCompt preset for generating SD text to image prompt words based on input content. + +Node options: +![image](image/userprompt_generator_txt2img_with_reference_node.jpg) + +* reference_text: Reference text input. Usually it is a style description of the image. +* template: Prompt word template. Currently, only the 'SD txt2img prompt' is available. +* describe: Prompt word description. Enter a simple description here. +* limit_word: Maximum length limit for output prompt words. For example, 200 means that the output text will be limited to 200 words. + +### UserPromptGeneratorReplaceWord + +UserPrompt preset used to replace a keyword in text with different content. This is not only a simple replacement, but also a logical sorting of the text based on the context of the prompt words to achieve the rationality of the output content. + +Node options: +![image](image/userprompt_generator_replace_word_node.jpg) + +* orig_prompt: Original prompt word input. +* template: Prompt word template. Currently, only 'prompt replace word' is available. +* exclude_word: Keywords that need to be excluded. +* replace_with_word: That word will replace the exclude_word. + +### PromptTagger + +Inference the prompts based on the image. it can replace key word for the prompt. This node currently uses Google Gemini API as the backend service. Please ensure that the network environment can use Gemini normally. +Please apply for your API key on [Google AI Studio](https://makersuite.google.com/app/apikey), And fill it in ```api_key.ini```, this file is located in the root directory of the plug-in, and the default name is ```api_key.ini.example```. to use this file for the first time, you need to change the file suffix to ```.ini```. Open it using text editing software, fill in your API key after ```google_api_key=``` and save it. +![image](image/prompt_tagger_example.jpg) + +Node options: +![image](image/prompt_tagger_node.jpg) + +* api: The Api used. At present, there are two options "gemini-1. 5-flash" and "google-gemini". +* token_limit: The maximum token limit for generating prompt words. +* exclude_word: Keywords that need to be excluded. +* replace_with_word: That word will replace the exclude_word. + +### PromptEmbellish + +Enter simple prompt words, output polished prompt words, and support inputting images as references, and support Chinese input. This node currently uses Google Gemini API as the backend service. Please ensure that the network environment can use Gemini normally. +Please apply for your API key on [Google AI Studio](https://makersuite.google.com/app/apikey), And fill it in ```api_key.ini```, this file is located in the root directory of the plug-in, and the default name is ```api_key.ini.example```. to use this file for the first time, you need to change the file suffix to ```.ini```. Open it using text editing software, fill in your API key after ```google_api_key=``` and save it. +![image](image/prompt_embellish_example.jpg) + +Node options: +![image](image/prompt_embellish_node.jpg) + +* image: Optional, input image as a reference for prompt words. +* api: The Api used. At present, there are two options "gemini-1. 5-flash" and "google-gemini". +* token_limit: The maximum token limit for generating prompt words. +* discribe: Enter a simple description here. supports Chinese text input. + +### Florence2Image2Prompt + +Use the Florence 2 model to infer prompt words. The code for this node section is from[yiwangsimple/florence_dw](https://github.com/yiwangsimple/florence_dw), thanks to the original author. +*When using it for the first time, the model will be automatically downloaded. You can also download the model file from [BaiduNetdisk](https://pan.baidu.com/s/1hzw9-QiU1vB8pMbBgofZIA?pwd=mfl3) to ```ComfyUI/models/florence2``` folder. +![image](image/florence2_image2prompt_example.jpg) + +Node Options: +![image](image/florence2_image2prompt_node.jpg) + +* florence2_model: Florence2 model input. +* image: Image input. +* task: Select the task for florence2. +* text_input: Text input for florence2. +* max_new_tokens: The maximum number of tokens for generating text. +* num_beams: The number of beam searches that generate text. +* do_sample: Whether to use text generated sampling. +* fill_mask: Whether to use text marker mask filling. + + + +### GetColorTone + +Obtain the main color or average color from the image and output RGB values. +![image](image/get_color_tone_example.jpg) + +Node options: +![image](image/get_color_tone_node.jpg) + +* mode: There are two modes to choose from, with the main color and average color. + +Output type: + +* RGB color in HEX: The RGB color described by hexadecimal RGB format, like '#FA3D86'. +* HSV color in list: The HSV color described by python's list data format. + +### GetColorToneV2 + +V2 upgrade of GetColorTone. You can specify the dominant or average color to get the body or background. +![image](image/get_color_tone_v2_example.jpg) + +The following changes have been made on the basis of GetColorTong: +![image](image/get_color_tone_v2_node.jpg) + +* color_of: Provides 4 options, mask, entire, background, and subject, to select the color of the mask area, entire picture, background, or subject, respectively. +* remove_background_method: There are two methods of background recognition: BiRefNet and RMBG V1.4. +* invert_mask: Whether to reverse the mask. +* mask_grow: Mask expansion. For subject, a larger value brings the obtained color closer to the color at the center of the body. + +Output: + +* image: Solid color picture output, the size is the same as the input picture. +* mask: Mask output. + + +### ImageRewardFilter + +![image](image/image_reward_filter_example.jpg) +Rating bulk pictures and outputting top-ranked pictures. it used [ImageReward] (https://github.com/THUDM/ImageReward) for image scoring, thanks to the original authors. + +![image](image/image_reward_filter_node.jpg) +Node options: + +* prompt: Optional input. Entering prompt here will be used as a basis to determine how well it matches the picture. +* output_nun: Number of pictures outputted. This value should be less than the picture batch. + +Outputs: + +* images: Bulk pictures output from high to low in order of rating. +* obsolete_images: Knockout pictures. Also output in order of rating from high to low. + + +### LaMa + +![image](image/lama_example.jpg) +Erase objects from the image based on the mask. this node is repackage of [IOPaint](https://www.iopaint.com), powered by state-of-the-art AI models, thanks to the original author. +It is have [LaMa](https://github.com/advimman/lama), [LDM](https://github.com/CompVis/latent-diffusion), [ZITS](https://github.com/DQiaole/ZITS_inpainting),[MAT](https://github.com/fenglinglwb/MAT), [FcF](https://github.com/SHI-Labs/FcF-Inpainting), [Manga](https://github.com/msxie92/MangaInpainting) models and the SPREAD method to erase. Please refer to the original link for the introduction of each model. +Please download the model files from [lama models(BaiduNetdisk)](https://pan.baidu.com/s/1m7La2ELsSKaIFhQ57qg1XQ?pwd=jn10) or [lama models(Google Drive)](https://drive.google.com/drive/folders/1Aq0a4sybb3SRxi7j1e1_ZbBRjaWDdP9e?usp=sharing) to ```ComfyUI/models/lama``` folder. + +Node optons: +![image](image/lama_node.jpg) + +* lama_model: Choose a model or method. +* device: After correctly installing Torch and Nvidia CUDA drivers, using cuda will significantly improve running speed. +* invert_mask: Whether to reverse the mask. +* grow: Positive values expand outward, while negative values contract inward. +* blur: Blur the edge. + + + +### ImageAutoCrop + +![image](image/image_auto_crop_example.jpg) +Automatically cutout and crop the image according to the mask. it can specify the background color, aspect ratio, and size for output image. this node is designed to generate the image materials for training models. +*Please refer to the model installation methods for [SegmentAnythingUltra](#SegmentAnythingUltra) and [RemBgUltra](#RemBgUltra). + +Node options: +![image](image/image_auto_crop_node.jpg) + +* background_color4: The background color. +* aspect_ratio: Here are several common frame ratios provided. alternatively, you can choose "original" to keep original ratio or customize the ratio using "custom". +* proportional_width: Proportional width. if the aspect ratio option is not "custom", this setting will be ignored. +* proportional_height: Proportional height. if the aspect ratio option is not "custom", this setting will be ignored. +* scale_by_longest_side: Allow scaling by long edge size. +* longest_side: When the scale_by_longest_side is set to True, this will be used this value to the long edge of the image. when the original_size have input, this setting will be ignored. +* detect: Detection method, min_bounding_rect is the minimum bounding rectangle, max_inscribed_rect is the maximum inscribed rectangle. +* border_reserve: Keep the border. expand the cutting range beyond the detected mask body area. +* ultra_detail_range: Mask edge ultra fine processing range, 0 is not processed, which can save generation time. +* matting_method: The method of generate masks. There are two methods available: Segment Anything and RMBG 1.4. RMBG 1.4 runs faster. +* sam_model: Select the SAM model used by Segment Anything here. +* grounding_dino_model: Select the Grounding_Dino model used by Segment Anything here. +* sam_threshold: The threshold for Segment Anything. +* sam_prompt: The prompt for Segment Anything. + +Output: +cropped_image: Crop and replace the background image. +box_preview: Crop position preview. +cropped_mask: Cropped mask. + +### ImageAutoCropV2 + +The V2 upgrad version of ```ImageAutoCrop```, it has made the following changes based on the previous version: +![image](image/image_auto_crop_v2_node.jpg) + +* Add optional input for mask. when there is a mask input, use that input directly to skip the built-in mask generation. +* Add ```fill_background```. When set to False, the background will not be processed and any parts beyond the frame will not be included in the output range. +* ```aspect_ratio``` adds the ```original``` option. +* scale_by: Allow scaling by specified dimensions for longest, shortest, width, or height. +* scale_by_length: The value here is used as ```scale_by``` to specify the length of the edge. + +### ImageAutoCropV3 + +Automatically crop the image to the specified size. You can input a mask to preserve the specified area of the mask. This node is designed to generate image materials for training the model. + +Node Options: +![image](image/image_auto_crop_v3_node.jpg) + +* image: The input image. +* mask: Optional input mask. The masking part will be preserved within the range of the cutting aspect ratio. +* aspect_ratio: The aspect ratio of the output. Here are common frame ratios provided, with "custom" being the custom ratio and "original" being the original frame ratio. +* proportional_width: Proportionally wide. If the aspect_ratio option is not 'custom', this setting will be ignored. +* proportional_height: High proportion. If the aspect_ratio option is not 'custom', this setting will be ignored. +* method: Scaling sampling methods include Lanczos, Bicubic, Hamming, Bilinear, Box, and Nearest. +* scale_to_side: Allow scaling to be specified by long side, short side, width, height, or total pixels. +* scale_to_length: The value here is used as the scale_to-side to specify the length of the edge or the total number of pixels (kilo pixels). +* round_to_multiple: Multiply to the nearest whole. For example, if set to 8, the width and height will be forcibly set to multiples of 8. + +Outputs: +cropped_image: The cropped image. +box_preview: Preview of cutting position. + + + +### SaveImagePlus + +![image](image/saveimage_plus_example.jpg) +Enhanced save image node. You can customize the directory where the picture is saved, add a timestamp to the file name, select the save format, set the image compression rate, set whether to save the workflow, and optionally add invisible watermarks to the picture. (Add information in a way that is invisible to the naked eye, and use the ```ShowBlindWaterMark``` node to decode the watermark). Optionally output the json file of the workflow. + +Node Options: +![image](image/saveimage_plus_node.jpg) + +* iamge: The input image. +* custom_path*: User-defined directory, enter the directory name in the correct format. If empty, it is saved in the default output directory of ComfyUI. +* filename_prefix*: The prefix of file name. +* timestamp: Timestamp the file name, opting for date, time to seconds, and time to milliseconds. +* format: The format of image save. Currently available in ```png``` and ```jpg```. Note that only png format is supported for RGBA mode pictures. +* quality: Image quality, the value range 10-100, the higher the value, the better the picture quality, the volume of the file also correspondingly increases. +* meta_data: Whether to save metadata to png file, that is workflow information. Set this to false if you do not want the workflow to be leaked. +* blind_watermark: The text entered here (does not support multilingualism) will be converted into a QR code and saved as an invisible watermark. Use ```ShowBlindWaterMark``` node can decode watermarks. Note that pictures with watermarks are recommended to be saved in png format, and lower-quality jpg format will cause watermark information to be lost. +* save_workflow_as_json: Whether the output workflow is a json file at the same time (the output json is in the same directory as the picture). +* preview: Preview switch. + +* Enter```%date``` for the current date (YY-mm-dd) and ```%time``` for the current time (HH-MM-SS). You can enter ```/``` for subdirectories. For example, ```%date/name_%tiem``` will output the image to the ```YY-mm-dd``` folder, with ```name_HH-MM-SS``` as the file name prefix. + + + +### AddBlindWaterMark + +![image](image/watermark_example.jpg) +Add an invisible watermark to a picture. Add the watermark image in a way that is invisible to the naked eye, and use the ```ShowBlindWaterMark``` node to decode the watermark. + +Node Options: +![image](image/add_blind_watermark_node.jpg) + +* iamge: The input image. +* watermark_image: Watermark image. The image entered here will automatically be converted to a square black and white image as a watermark. It is recommended to use a QR code as a watermark. + +### ShowBlindWaterMark + +Decoding the invisible watermark added to the ```AddBlindWaterMark``` and ```SaveImagePlus``` nodes. +![image](image/show_blind_watermark_node.jpg) + +### CreateQRCode + +Generate a square QR code picture. + +Node Options: +![image](image/create_qrcode_node.jpg) + +* size: The side length of image. +* border: The size of the border around the QR code, the larger the value, the wider the border. +* text: Enter the text content of the QR code here, and multi-language is not supported. + +### DecodeQRCode + +Decoding the QR code. + +Node Options: +![image](image/decode_qrcode_node.jpg) + +* image: The input QR code image. +* pre_blur: Pre-blurring, you can try to adjust this value for QR codes that are difficult to identify. + +### LoadPSD + +![image](image/load_image_example_psd_file.jpg) +![image](image/load_image_example.jpg) +Load the PSD format file and export the layers. +Note that this node requires the installation of the ```psd_tools``` dependency package, If error occurs during the installation of psd_tool, such as ```ModuleNotFoundError: No module named 'docopt'``` , please download [docopt's whl](https://www.piwheels.org/project/docopt/) and manual install it. + +Node Options: +![image](image/load_image_node.jpg) + +* image: Here is a list of *.psd files under ```ComfyUI/input```, where previously loaded psd images can be selected. +* file_path: The complete path and file name of the psd file. +* include_hidden_layer: whether include hidden layers. +* find_layer_by: The method for finding layers can be selected by layer key number or layer name. Layer groups are treated as one layer. +* layer_index: The layer key number, where 0 is the bottom layer, is incremented sequentially. If include_hiddenlayer is set to false, hidden layers are not counted. Set to -1 to output the top layer. +* layer_name: Layer name. Note that capitalization and punctuation must match exactly. + +Outputs: +flat_image: PSD preview image. +layer_iamge: Find the layer output. +all_layers: Batch images containing all layers. + +### SD3NegativeConditioning + +![image](image/sd3_negative_conditioning_node_note.jpg) +Encapsulate the four nodes of Negative Condition in SD3 into a separate node. + +Node Options: +![image](image/sd3_negative_conditioning_node.jpg) + +* zero_out_start: Set the ConditioningSetTimestepRange start value for Negative ConditioningZeroOut, which is the same as the ConditioningSetTimestepRange end value for Negative. + + + +### SegmentAnythingUltra + +Improvements to [ComfyUI Segment Anything](https://github.com/storyicon/comfyui_segment_anything), thanks to the original author. + +*Please refer to the installation of ComfyUI Segment Anything to install the model. If ComfyUI Segment Anything has been correctly installed, you can skip this step. + +* From [here](https://huggingface.co/bert-base-uncased/tree/main) download the config.json,model.safetensors,tokenizer_config.json,tokenizer.json and vocab.txt 5 files to ```ComfyUI/models/bert-base-uncased``` folder. +* Download [GroundingDINO_SwinT_OGC config file](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/GroundingDINO_SwinT_OGC.cfg.py), [GroundingDINO_SwinT_OGC model](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/groundingdino_swint_ogc.pth), + [GroundingDINO_SwinB config file](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/GroundingDINO_SwinB.cfg.py), [GroundingDINO_SwinB model](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/groundingdino_swinb_cogcoor.pth) to ```ComfyUI/models/grounding-dino``` folder. +* Download [sam_vit_h](https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth),[sam_vit_l](https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth), + [sam_vit_b](https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth), [sam_hq_vit_h](https://huggingface.co/lkeab/hq-sam/resolve/main/sam_hq_vit_h.pth), + [sam_hq_vit_l](https://huggingface.co/lkeab/hq-sam/resolve/main/sam_hq_vit_l.pth), [sam_hq_vit_b](https://huggingface.co/lkeab/hq-sam/resolve/main/sam_hq_vit_b.pth), + [mobile_sam](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt) to ```ComfyUI/models/sams``` folder. + *Or download them from [GroundingDino models on BaiduNetdisk](https://pan.baidu.com/s/1P7WQDuaqSYazlSQX8SJjxw?pwd=24ki) and [SAM models on BaiduNetdisk](https://pan.baidu.com/s/1n7JrHb2vzV2K2z3ktqpNxg?pwd=yoqh) . + ![image](image/segment_anything_ultra_compare.jpg) + ![image](image/segment_anything_ultra_example.jpg) + +Node options: +![image](image/segment_anything_ultra_node.jpg) + +* sam_model: Select the SAM model. +* ground_dino_model: Select the Grounding DINO model. +* threshold: The threshold of SAM. +* detail_range: Edge detail range. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* prompt: Input for SAM's prompt. +* cache_model: Set whether to cache the model. + +### SegmentAnythingUltraV2 + +The V2 upgraded version of SegmentAnythingUltra has added the VITMatte edge processing method.(Note: Images larger than 2K in size using this method will consume huge memory) +![image](image/ultra_v2_nodes_example.jpg) + +On the basis of SegmentAnythingUltra, the following changes have been made: +![image](image/segment_anything_ultra_v2_node.jpg) + +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + +### SAM2Ultra + +This node is modified from [kijai/ComfyUI-segment-anything-2](https://github.com/kijai/ComfyUI-segment-anything-2). Thank to [kijai](https://github.com/kijai) for making significant contributions to the Comfyui community. +SAM2 Ultra node only support single image. If you need to process multiple images, please first convert the image batch to image list. +*Download models from [BaiduNetdisk](https://pan.baidu.com/s/1xaQYBA6ktxvAxm310HXweQ?pwd=auki) or [huggingface.co/Kijai/sam2-safetensors](https://huggingface.co/Kijai/sam2-safetensors/tree/main) and copy to ```ComfyUI/models/sam2``` folder. + +![image](image/sam2_example.jpg) + +Node Options: +![image](image/sam2_ultra_node.jpg) + +* image: The image to segment. +* bboxes: Input recognition box data. +* sam2_model: Select the SAM2 model. +* presicion: Model's persicion. can be selected from fp16, bf16, and fp32. +* bbox_select: Select the input box data. There are three options: "all" to select all, "first" to select the box with the highest confidence, and "by_index" to specify the index of the box. +* select_index: This option is valid when bbox_delect is 'by_index'. 0 is the first one. Multiple values can be entered, separated by any non numeric character, including but not limited to commas, periods, semicolons, spaces or letters, and even Chinese. +* cache_model: Whether to cache the model. After caching the model, it will save time for model loading. +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + +### SAM2VideoUltra + +SAM2 Video Ultra node support processing multiple frames of images or video sequences. Please define the recognition box data in the first frame of the sequence to ensure correct recognition. + +https://github.com/user-attachments/assets/4726b8bf-9b98-4630-8f54-cb7ed7a3d2c5 + +https://github.com/user-attachments/assets/b2a45c96-4be1-4470-8ceb-addaf301b0cb + +Node Options: +![image](image/sam2_video_ultra_node.jpg) + +* image: The image to segment. +* bboxes: Optional input of recognition bbox data. ```bboxes``` and ```first_frame_mask``` must have least one input. If first_frame_mask inputed, bbboxes will be ignored. +* first_frame_mask: Optional input of the first frame mask. The mask will be used as the first frame recognition object. ```bboxes``` and ```first_frame_mask``` must have least one input. If first_frame_mask inputed, bbboxes will be ignored. +* pre_mask: Optional input mask, which will serve as a propagation focus range limitation and help improve recognition accuracy. +* sam2_model: Select the SAM2 model. +* presicion: Model's persicion. can be selected from fp16 and bf16. +* cache_model: Whether to cache the model. After caching the model, it will save time for model loading. +* individual_object: When set to True, it will focus on identifying a single object. When set to False, attempts will be made to generate recognition boxes for multiple objects. +* mask_preview_color: Display the color of non masked areas in the preview output. +* detail_method: Edge processing methods. Only VITMatte method can be used. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* device: Only cuda can be used. +* max_megapixels: Set the maximum size for VitMate operations.A larger size will result in finer mask edges, but it will lead to a significant decrease in computation speed. + +### ObjectDetectorFL2 + +Use the Florence2 model to identify objects in images and output recognition box data. +*Download models from [BaiduNetdisk](https://pan.baidu.com/s/1hzw9-QiU1vB8pMbBgofZIA?pwd=mfl3) and copy to ```ComfyUI/models/florence2``` folder. + +Node Options: +![image](image/object_detector_fl2_node.jpg) + +* image: The image to segment. +* florence2_model: Florence2 model, it from [LoadFlorence2Model](#LoadFlorence2Model) node. +* prompt: Describe the object that needs to be identified. +* sort_method: The selection box sorting method has 4 options: "left_to_right", "top_to_bottom", "big_to_small" and "confidence". +* bbox_select: Select the input box data. There are three options: "all" to select all, "first" to select the box with the highest confidence, and "by_index" to specify the index of the box. +* select_index: This option is valid when bbox_delect is 'by_index'. 0 is the first one. Multiple values can be entered, separated by any non numeric character, including but not limited to commas, periods, semicolons, spaces or letters, and even Chinese. + +### ObjectDetectorYOLOWorld(Obsoleted. If you want to continue using it, you need to manually install the dependency package) +Due to potential installation issues with dependency packages, this node has been obsoleted. To use, please manually install the following dependency packages: +``` +pip install inference-cli>=0.13.0 +pip install inference-gpu[yolo-world]>=0.13.0 +``` + +Use the YOLO-World model to identify objects in images and output recognition box data. +*Download models from [BaiduNetdisk](https://pan.baidu.com/s/1QpjajeTA37vEAU2OQnbDcQ?pwd=nqsk) or [GoogleDrive](https://drive.google.com/drive/folders/1nrsfq4S-yk9ewJgwrhXAoNVqIFLZ1at7?usp=sharing) and copy to ```ComfyUI/models/yolo-world``` folder. + +Node Options: +![image](image/object_detector_yolo_world_node.jpg) + +* image: The image to segment. +* confidence_threshold: The threshold of confidence. +* nms_iou_threshold: The threshold of Non-Maximum Suppression. +* prompt: Describe the object that needs to be identified. +* sort_method: The selection box sorting method has 4 options: "left_to_right", "top_to_bottom", "big_to_small" and "confidence". +* bbox_select: Select the input box data. There are three options: "all" to select all, "first" to select the box with the highest confidence, and "by_index" to specify the index of the box. +* select_index: This option is valid when bbox_delect is 'by_index'. 0 is the first one. Multiple values can be entered, separated by any non numeric character, including but not limited to commas, periods, semicolons, spaces or letters, and even Chinese. + +### ObjectDetectorYOLO8 + +Use the YOLO-8 model to identify objects in images and output recognition box data. +*Download models from [GoogleDrive](https://drive.google.com/drive/folders/1I5TISO2G1ArSkKJu1O9b4Uvj3DVgn5d2) or [BaiduNetdisk](https://pan.baidu.com/s/1pEY6sjABQaPs6QtpK0q6XA?pwd=grqe) and copy to ```ComfyUI/models/yolo``` folder. + +Node Options: +![image](image/object_detector_yolo8_node.jpg) + +* image: The image to segment. +* yolo_model: Choose the yolo model. +* sort_method: The selection box sorting method has 4 options: "left_to_right", "top_to_bottom", "big_to_small" and "confidence". +* bbox_select: Select the input box data. There are three options: "all" to select all, "first" to select the box with the highest confidence, and "by_index" to specify the index of the box. +* select_index: This option is valid when bbox_delect is 'by_index'. 0 is the first one. Multiple values can be entered, separated by any non numeric character, including but not limited to commas, periods, semicolons, spaces or letters, and even Chinese. + +### ObjectDetectorMask + +Use mask as recognition box data. All areas surrounded by white areas on the mask will be recognized as an object. Multiple enclosed areas will be identified separately. + +Node Options: +![image](image/object_detector_mask_node.jpg) + +* object_mask: The mask input. +* sort_method: The selection box sorting method has 4 options: "left_to_right", "top_to_bottom", "big_to_small" and "confidence". +* bbox_select: Select the input box data. There are three options: "all" to select all, "first" to select the box with the highest confidence, and "by_index" to specify the index of the box. +* select_index: This option is valid when bbox_delect is 'by_index'. 0 is the first one. Multiple values can be entered, separated by any non numeric character, including but not limited to commas, periods, semicolons, spaces or letters, and even Chinese. + +### BBoxJoin + +Merge recognition box data. + +Node Options: +![image](image/bbox_join_node.jpg) + +* bboxes_1: Required input. The first set of identification boxes. +* bboxes_2: Optional input. The second set of identification boxes. +* bboxes_3: Optional input. The third set of identification boxes. +* bboxes_4: Optional input. The fourth set of identification boxes. + +### DrawBBoxMask + +Draw the recognition BBoxes data output by the Object Detector node as a mask. +![image](image/draw_bbox_mask_example.jpg) + +Node Options: +![image](image/draw_bbox_mask_node.jpg) + +* image: Image input. It must be consistent with the image recognized by the Object Detector node. +* bboxes: Input recognition BBoxes data. +* grow_top: Each BBox expands upwards as a percentage of its height, positive values indicate upward expansion and negative values indicate downward expansion. +* grow_bottom: Each BBox expands downwards as a percentage of its height, positive values indicating downward expansion and negative values indicating upward expansion. +* grow_left: Each BBox expands to the left as a percentage of its width, positive values expand to the left and negative values expand to the right. +* grow_right: Each BBox expands to the right as a percentage of its width, positive values indicate expansion to the right and negative values indicate expansion to the left. + +### EVF-SAMUltra + +This node is implementation of [EVF-SAM](https://github.com/hustvl/EVF-SAM) in ComfyUI. +*Please download model files from [BaiduNetdisk](https://pan.baidu.com/s/1EvaxgKcCxUpMbYKzLnEx9w?pwd=69bn) or [huggingface/EVF-SAM2](https://huggingface.co/YxZhang/evf-sam2/tree/main), [huggingface/EVF-SAM](https://huggingface.co/YxZhang/evf-sam/tree/main) to ```ComfyUI/models/EVF-SAM``` folder(save the models in their respective subdirectories). +![image](image/evf_sam_ultra_example.jpg) + +Node Options: +![image](image/evf_sam_ultra_node.jpg) + +* image: The input image. +* model: Select the model. Currently, there are options for evf-sam2 and evf sam. +* presicion: Model accuracy can be selected from fp16, bf16, and fp32. +* load_in_bit: Load the model with positional accuracy. You can choose from full, 8, and 4. +* pormpt: Prompt words used for segmentation. +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + +### Florence2Ultra + +Using the segmentation function of the Florence2 model, while also having ultra-high edge details. +The code for this node section is from [spacepxl/ComfyUI-Florence-2](https://github.com/spacepxl/ComfyUI-Florence-2), thanks to the original author. +*Download the model files from [BaiduNetdisk](https://pan.baidu.com/s/1hzw9-QiU1vB8pMbBgofZIA?pwd=mfl3) to ```ComfyUI/models/florence2``` folder. + +![image](image/florence2_ultra_example.jpg) + +Node Options: +![image](image/florence2_ultra_node.jpg) + +* florence2_model: Florence2 model input. +* image: Image input. +* task: Select the task for florence2. +* text_input: Text input for florence2. +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + +### LoadFlorence2Model + +Florence2 model loader. +*When using it for the first time, the model will be automatically downloaded. + +![image](image/load_florence2_model_node.jpg) +At present, there are base, base-ft, large, large-ft, DocVQA, SD3-Captioner and base-PromptGen models to choose from. + + + +### BiRefNetUltra + +Using the BiRefNet model to remove background has better recognition ability and ultra-high edge details. +The code for the model part of this node comes from Viper's [ComfyUI-BiRefNet](https://github.com/viperyl/ComfyUI-BiRefNet),thanks to the original author. + +*From [https://huggingface.co/ViperYX/BiRefNet](https://huggingface.co/ViperYX/BiRefNet/tree/main) or [BaiduNetdisk](https://pan.baidu.com/s/1GxtuNDTIHkuu4FR4uGAT-g?pwd=t2cf) download the ```BiRefNet-ep480.pth```,```pvt_v2_b2.pth```,```pvt_v2_b5.pth```,```swin_base_patch4_window12_384_22kto1k.pth```, ```swin_large_patch4_window12_384_22kto1k.pth``` 5 files to ```ComfyUI/models/BiRefNet``` folder. + +![image](image/birefnet_ultra_example.jpg) + +Node options: +![image](image/birefnet_ultra_node.jpg) + +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + +### BiRefNetUltraV2 + +This node supports the use of the latest BiRefNet model. +*Download model file from [BaiduNetdisk](https://pan.baidu.com/s/12z3qUuqag3nqpN2NJ5pSzg?pwd=ek65) or [GoogleDrive](https://drive.google.com/drive/folders/1s2Xe0cjq-2ctnJBR24563yMSCOu4CcxM) named ```BiRefNet-general-epoch_244.pth``` to ```ComfyUI/Models/BiRefNet/pth``` folder. You can also download more BiRefNet models and put them here. + +![image](image/birefnet_ultra_v2_example.jpg) + +Node Options: +![image](image/birefnet_ultra_v2_node.jpg) + +* image: The input image. +* birefnet_model: The BiRefNet model is input and it is output from the LoadBiRefNetModel node. +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Due to the excellent edge processing of BiRefNet, it is set to False by default here. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + +### LoadBiRefNetModel + +Load the BiRefNet model. + +Node Options: +![image](image/load_birefnet_model_node.jpg) + +* model: Select the model. List the files in the ```CoomfyUI/models/BiRefNet/pth``` folder for selection. + + +### LoadBiRefNetModelV2 +This node is a PR submitted by [jimlee2048](https://github.com/jimlee2048) and supports loading RMBG-2.0 models. + +Download model files from [huggingface](https://huggingface.co/briaai/RMBG-2.0/tree/main) or [百度网盘](https://pan.baidu.com/s/1viIXlZnpTYTKkm2F-QMj_w?pwd=axr9) and copy to ```ComfyUI/models/BiRefNet/RMBG-2.0``` folder. + +Node Options: +![image](image/load_birefnet_model_v2_node.jpg) + +* model: Select the model. There are two options, ```BiRefNet-General``` and ```RMBG-2.0```. + + +### TransparentBackgroundUltra + +Using the transparent-background model to remove background has better recognition ability and speed, while also having ultra-high edge details. + +*From [googledrive](https://drive.google.com/drive/folders/10KBDY19egb8qEQBv34cqIVSwd38bUAa9?usp=sharing) or [BaiduNetdisk](https://pan.baidu.com/s/10JO0uKzTxJaIkhN_J7RSyw?pwd=v0b0) download all files to ```ComfyUI/models/transparent-background``` folder. + +![image](image/transparent_background_ultra_example.jpg) + +Node Options: +![image](image/transparent_background_ultra_node.jpg) + +* model: Select the model. +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + +### PersonMaskUltra + +Generate masks for portrait's face, hair, body skin, clothing, or accessories. Compared to the previous A Person Mask Generator node, this node has ultra-high edge details. +The model code for this node comes from [a-person-mask-generator](https://github.com/djbielejeski/a-person-mask-generator), edge processing code from [ComfyUI-Image-Filters](https://github.com/spacepxl/ComfyUI-Image-Filters),thanks to the original author. +*Download model files from [BaiduNetdisk](https://pan.baidu.com/s/13zqZtBt89ueCyFufzUlcDg?pwd=jh5g) to ```ComfyUI/models/mediapipe``` folder. + +![image](image/person_mask_ultra_example.jpg) + +Node options: +![image](image/person_mask_ultra_node.jpg) + +* face: Face recognition. +* hair: Hair recognition. +* body: Body skin recognition. +* clothes: Clothing recognition. +* accessories: Identification of accessories (such as backpacks). +* background: Background recognition. +* confidence: Recognition threshold, lower values will output more mask ranges. +* detail_range: Edge detail range. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. + +### PersonMaskUltraV2 + +The V2 upgraded version of PersonMaskUltra has added the VITMatte edge processing method.(Note: Images larger than 2K in size using this method will consume huge memory) + +On the basis of PersonMaskUltra, the following changes have been made: +![image](image/person_mask_ultra_v2_node.jpg) + +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + + +### HumanPartsUltra + +Used for generate human body parts masks, it is based on the warrper of [metal3d/ComfyUI_Human_Parts](https://github.com/metal3d/ComfyUI_Human_Parts), thank the original author. +This node has added ultra-fine edge processing based on the original work. Download model file from [BaiduNetdisk](https://pan.baidu.com/s/1-6uwH6RB0FhIVfa3qO7hhQ?pwd=d862) or [huggingface](https://huggingface.co/Metal3d/deeplabv3p-resnet50-human/tree/main) and copy to ```ComfyUI\models\onnx\human-parts``` folder. +![image](image/human_parts_ultra_example.jpg) + +Node Options: +![image](image/human_parts_node.jpg) + +* image: The input image. +* face: Recognize face switch. +* hair: Recognize hair switch. +* galsses: Recognize glasses switch. +* top_clothes: Recognize top clothes switch. +* bottom_clothes: Recognize bottom clothes switch. +* torso_skin: Recognize torso skin switch. +* left_arm: Recognize left arm switch. +* right_arm: Recognize right arm switch. +* left_leg: Recognize left leg switch. +* right_leg: Recognize right leg switch. +* left_foot: Recognize left foot switch. +* right_foot: Recognize right foot switch. +* detail_method: Edge processing methods. provides VITMatte, VITMatte(local), PyMatting, GuidedFilter. If the model has been downloaded after the first use of VITMatte, you can use VITMatte (local) afterwards. +* detail_erode: Mask the erosion range inward from the edge. the larger the value, the larger the range of inward repair. +* detail_dilate: The edge of the mask expands outward. the larger the value, the wider the range of outward repair. +* black_point: Edge black sampling threshold. +* white_point: Edge white sampling threshold. +* process_detail: Set to false here will skip edge processing to save runtime. +* device: Set whether the VitMatte to use cuda. +* max_megapixels: Set the maximum size for VitMate operations. + + + +### YoloV8Detect + +Use the YoloV8 model to detect faces, hand box areas, or character segmentation. Supports the output of the selected number of channels. +Download the model files from [GoogleDrive](https://drive.google.com/drive/folders/1I5TISO2G1ArSkKJu1O9b4Uvj3DVgn5d2) or [BaiduNetdisk](https://pan.baidu.com/s/1pEY6sjABQaPs6QtpK0q6XA?pwd=grqe) to ```ComfyUI/models/yolo``` folder. + +![image](image/yolov8_detect_example.jpg) + +Node Options: +![image](image/yolov8_detect_node.jpg) + +* yolo_model: Yolo model selection. the model with ```seg``` name can output segmented masks, otherwise they can only output box masks. +* mask_merge: Select the merged mask. ```all``` is to merge all mask outputs. The selected number is how many masks to output, sorted by recognition confidence to merge the output. + +Outputs: + +* mask: The output mask. +* yolo_plot_image: Preview of yolo recognition results. +* yolo_masks: For all masks identified by yolo, each individual mask is output as a mask. + +### MediapipeFacialSegment + +Use the Mediapipe model to detect facial features, segment left and right eyebrows, eyes, lips, and tooth. +*Download the model files from [BaiduNetdisk](https://pan.baidu.com/s/13zqZtBt89ueCyFufzUlcDg?pwd=jh5g) to ```ComfyUI/models/mediapipe``` folder. + +![image](image/mediapipe_facial_segment_example.jpg) + +Node Options: +![image](image/mediapipe_facial_segment_node.jpg) + +* left_eye: Recognition switch of left eye. +* left_eyebrow: Recognition switch of left eyebrow. +* right_eye: Recognition switch of right eye. +* right_eyebrow: Recognition switch of right eyebrow. +* lips: Recognition switch of lips. +* tooth: Recognition switch of tooth. + + +### MaskByDifferent + +Calculate the differences between two images and output them as mask. +![image](image/mask_by_different_example.jpg) + +Node options: +![image](image/mask_by_different_node.jpg) + +* gain: The gain of difference calculate. higher value will result in a more significant slight difference. +* fix_gap: Fix the internal gaps of the mask. higher value will repair larger gaps. +* fix_threshold: The threshold for fix_gap. +* main_subject_detect: Setting this to True will enable subject detection, ignoring differences outside of the subject. + + +## Annotation for notes + +1 The layer_image, layer_mask and the background_image(if have input), These three items must be of the same size. + +2 The mask not a mandatory input item. the alpha channel of the image is used by default. If the image input does not include an alpha channel, the entire image's alpha channel will be automatically created. if have masks input simultaneously, the alpha channel will be overwrite by the mask. + +3 The Blend Mode include **normal, multply, screen, add, subtract, difference, darker, color_burn, color_dodge, linear_burn, linear_dodge, overlay, soft_light, hard_light, vivid_light, pin_light, linear_light, and hard_mix.** all of 19 blend modes in total. +![image](image/blend_mode_result.jpg) +*Preview of the blend mode
+ +3 The BlendModeV2 include **normal, dissolve, darken, multiply, color burn, linear burn, darker color, lighten, screen, color dodge, linear dodge(add), lighter color, dodge, overlay, soft light, hard light, vivid light, linear light, pin light, hard mix, difference, exclusion, subtract, divide, hue, saturation, color, luminosity, grain extract, grain merge** all of 30 blend modes in total. +Part of the code for BlendMode V2 is from [Virtuoso Nodes for ComfyUI](https://github.com/chrisfreilich/virtuoso-nodes). Thanks to the original authors. +![image](image/blend_mode_v2_example.jpg) +*Preview of the Blend Mode V2
+ +4 The RGB color described by hexadecimal RGB format, like '#FA3D86'. + +5 The layer_image and layer_mask must be of the same size. + +## Stars + +[![Star History Chart](https://api.star-history.com/svg?repos=chflame163/ComfyUI_LayerStyle_Advance&type=Date)](https://star-history.com/#chflame163/ComfyUI_LayerStyle_Advance&Date) + +# statement + +LayerStyle Advance nodes follows the MIT license, Some of its functional code comes from other open-source projects. Thanks to the original author. If used for commercial purposes, please refer to the original project license to authorization agreement. diff --git a/README_CN.MD b/README_CN.MD new file mode 100644 index 0000000..a2004b4 --- /dev/null +++ b/README_CN.MD @@ -0,0 +1,980 @@ +# ComfyUI Layer Style Advance + +从ComfyUI Layer Style 剥离出来的节点,主要是一些对依赖包要求较为复杂的节点。 + + +## 工作流用示例 +在workflow目录下有json格式的工作流示例文件,示范了如何在ComfyUI中使用这些节点。 + + +## 安装方法 +(以ComfyUI官方便携包和秋叶整合包为例,其他ComfyUI环境请修改依赖环境目录) + +### 安装插件 +* 推荐使用 ComfyUI Manager 安装。 +* 或者在CompyUI插件目录(例如“CompyUI\custom_nodes\”)中打开cmd窗口,键入 +``` +git clone https://github.com/chflame163/ComfyUI_LayerStyle_Advance.git +``` + +* 或者下载解压zip文件,将得到的文件夹复制到 ```ComfyUI\custom_nodes\```。 + +### 安装依赖包 + +* 官方便携包请双击运行插件目录下的```install_requirements.bat```,秋叶整合包请双击运行插件目录下的```install_requirements_aki.bat```,然后等待安装完成。 + +* 或者在资源管理器```ComfyUI\custom_nodes\ComfyUI_LayerStyle_Advance``` 插件目录位置打开cmd窗口, + +  官方便携包输入以下命令: + +``` +..\..\..\python_embeded\python.exe -s -m pip install .\whl\docopt-0.6.2-py2.py3-none-any.whl +..\..\..\python_embeded\python.exe -s -m pip install .\whl\hydra_core-1.3.2-py3-none-any.whl +..\..\..\python_embeded\python.exe -s -m pip install -r requirements.txt +.\repair_dependency.bat +``` +  秋叶整合包输入以下命令: + +``` +..\..\python\python.exe -s -m pip install .\whl\docopt-0.6.2-py2.py3-none-any.whl +..\..\python\python.exe -s -m pip install .\whl\hydra_core-1.3.2-py3-none-any.whl +..\..\python\python.exe -s -m pip install -r requirements.txt +.\repair_dependency.bat +``` +* 重新打开ComfyUI。 + +### 下载模型 +国内用户请从[百度网盘](https://pan.baidu.com/s/1T_uXMX3OKIWOJLPuLijrgA?pwd=1yye), 海外用户请从[huggingface](https://huggingface.co/chflame163/ComfyUI_LayerStyle/tree/main), +下载全部模型文件并复制到```ComfyUI\models```文件夹。这个链接提供了本插件需要的所有的模型文件。 +或者按各个节点的说明下载模型文件。 + +## 常见问题 +如果节点不能正常加载,或者使用中出现错误,请在ComfyUI终端窗口查看报错信息。以下是常见的错误及解决方法。 + +### Warning: xxxx.ini not found, use default xxxx.. +这个警告信息是找不到ini文件的提示,不影响使用。如果不想看到这些警告,请修改插件目录下所有的 ```*.ini.example``` 文件名为```*.ini```。 + +### ModuleNotFoundError: No module named 'psd_tools' +这个错误是```psd_tools```没有正确安装。 + +解决方法: +* 关闭ComfyUI,在插件目录下打开终端窗口,执行以下命令: +```../../../python_embeded/python.exe -s -m pip install psd_tools``` +如果安装psd_tool中出现```ModuleNotFoundError: No module named 'docopt'```错误,请下载[docopt的whl](https://www.piwheels.org/project/docopt/)手动安装。在终端执行以下命令: +```../../../python_embeded/python.exe -s -m pip install path/docopt-0.6.2-py2.py3-none-any.whl``` path为whl文件的路径名。 + +### Cannot import name 'guidedFilter' from 'cv2.ximgproc' +这个错误是```opencv-contrib-python```没有正确安装,或者安装后又安装了其他opencv包导致。 + +### NameError: name 'guidedFilter' is not defined +问题原因同上。 + +### Cannot import name 'VitMatteImageProcessor' from 'transformers' +这个错误是由于```transformers``` 版本过低造成的 + +### insightface 加载缓慢 +这是由于```protobuf``` 版本过低造成的。 + +#### 以上3个依赖包的问题,请双击运行插件目录下的```repair_dependency.bat```(官方便携包)或者```repair_dependency_aki.bat```(秋叶整合包)自动修复。 + +### onnxruntime::python::CreateExecutionProviderInstance CUDA_PATH is set but CUDA wasn't able to be loaded. Please install the correct version of CUDA and cuDNN as mentioned in the GPU requirements page +解决方法: +请重新安装```onnxruntime```依赖包 + +### Error loading model xxx: We couldn't connect to huggingface.co ... +请检查网络环境。如果在中国不能正常访问huggingface.co,请尝试修改huggingface_hub包强制使用hf_mirror镜像。 +* 在```huggingface_hub```包的目录(通常在虚拟环境内的```Lib/site-packages/huggingface_hub```)中找到```constants.py```, +在```import os```之后增加一行 +``` +os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com' +``` + +### ValueError: Trimap did not contain foreground values (xxxx...) +这个错误是由于使用PyMatting方法处理遮罩边缘时,遮罩面积过大或者过小引起的。 + +解决方法: +* 请调整参数,改变遮罩有效面积。或者换用其他的方法处理边缘。 + +### Requests.exceptions.ProxyError: HTTPSConnectionPool(xxxx...) +出现这个错误,请检查网络环境。 + +### UnboundLocalError: local variable 'clip_processor' referenced before assignment +### UnboundLocalError: local variable 'text_model' referenced before assignment +如果执行JoyCaption2节点时出现这个报错,同时已确定模型文件已放在正确的目录,请检查```transformers```依赖包版本至少在4.43.2以上。 +如果```transformers```依赖包版本大于等于4.45.0, 并同时有报错信息: +``` +Error loading models: De️️scriptors cannot be created directly. +If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. +...... +``` +请尝试降级```protobuf```依赖包到3.20.3, 或者设置环境变量:```PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python```。 + +## 如何找到本节点组 +* 在ComfyUI画布点击右键 - Add Node, 找到 "😺dzNodes"。 +![image](image/node-menu.jpg) + +* 或者在ComfyUI画布双击, 在搜索框输入"layer"。 +![image](image/node-search.jpg) + + +## 更新说明 +**如果本插件更新后出现依赖包错误,请双击运行插件目录下的```install_requirements.bat```(官方便携包),或 ```install_requirements_aki.bat```(秋叶整合包) 重新安装依赖包。 + +* 从requirements.txt 中废弃 [ObjectDetector YOLOWorld](#ObjectDetectorYOLOWorld) 节点所需的依赖。如需使用此节点,请手动安装依赖包。 +* 从ComfyUI Layer Style 剥离部分节点至本仓库。 + + +## 节点说明 + +### QWenImage2Prompt +根据图片反推提示词。这个节点是[ComfyUI_VLM_nodes](https://github.com/gokayfem/ComfyUI_VLM_nodes)中的```UForm-Gen2 Qwen Node```节点的重新封装,感谢原作者。 +请从[huggingface](https://huggingface.co/unum-cloud/uform-gen2-qwen-500m)或者[百度网盘](https://pan.baidu.com/s/1oRkUoOKWaxGod_XTJ8NiTA?pwd=d5d2)下载模型到```ComfyUI/models/LLavacheckpoints/files_for_uform_gen2_qwen```文件夹。 + +![image](image/qwen_image2prompt_example.jpg) + +节点选项说明: +* question: 对UForm-Gen-QWen模型的提示词。 + +### LlamaVision +使用Llama 3.2 vision 模型进行本地推理。可以用于生成提示词。本节点部分代码来自[ComfyUI-PixtralLlamaMolmoVision](https://github.com/SeanScripts/ComfyUI-PixtralLlamaMolmoVision),感谢原作者。 +运行这个节点需要transformers升级到4.45.0以上。 +请从 [百度网盘](https://pan.baidu.com/s/18oHnTrkNMiwKLMcUVrfFjA?pwd=4g81) 或 [huggingface/SeanScripts](https://huggingface.co/SeanScripts/Llama-3.2-11B-Vision-Instruct-nf4/tree/main)下载整个文件夹,并复制到ComfyUI/models/LLM。 + +![image](image/llama_vision_example.jpg) + +节点选项说明: +![image](image/llama_vision_node.jpg) + +* image: 图片输入。 +* model: 目前仅有"Llama-3.2-11B-Vision-Instruct-nf4"这一个模型可用。 +* system_prompt: LLM模型的系统提示词。 +* user_prompt: LLM模型的用户提示词。 +* max_new_tokens: LLM的max_new_tokens参数。 +* do_sample: LLM的do_sample参数。 +* top-p: LLM的top_p参数。 +* top_k: LLM的top_k参数。 +* stop_strings: 截止字符串。 +* seed: 随机种子。 +* control_after_generate: 种子变化选项。 +* include_prompt_in_output: 输出是否包含提示词。 +* cache_model: 是否缓存模型。 + +### JoyCaption2 +使用JoyCaption-alpha-two模型生成提示词。本节点是 https://huggingface.co/John6666/joy-caption-alpha-two-cli-mod 在ComfyUI中的实现,感谢原作者。 +请从 [百度网盘](https://pan.baidu.com/s/1dOjbUEacUOhzFitAQ3uIeQ?pwd=4ypv) 以及 [百度网盘](https://pan.baidu.com/s/1mH1SuW45Dy6Wga7aws5siQ?pwd=w6h5) , +或者 [huggingface/Orenguteng](https://huggingface.co/Orenguteng/Llama-3.1-8B-Lexi-Uncensored-V2/tree/main) 以及 [huggingface/unsloth](https://huggingface.co/unsloth/Meta-Llama-3.1-8B-Instruct/tree/main) 下载整个文件夹,并复制到ComfyUI/models/LLM, +从 [百度网盘](https://pan.baidu.com/s/1pkVymOsDcXqL7IdQJ6lMVw?pwd=v8wp) 或者 [huggingface/google](https://huggingface.co/google/siglip-so400m-patch14-384/tree/main) 下载整个文件夹,并复制到ComfyUI/models/clip, +从 [百度网盘](https://pan.baidu.com/s/12TDwZAeI68hWT6MgRrrK7Q?pwd=d7dh) 或者 [huggingface/John6666](https://huggingface.co/John6666/joy-caption-alpha-two-cli-mod/tree/main)下载 ```cgrkzexw-599808``` 文件夹,并复制到ComfyUI/models/Joy_caption。 +![image](image/joycaption2_example.jpg) + +节点选项说明: +![image](image/joycaption2_node.jpg) + +* image: 图片输入。 +* extra_options: extra_options参数输入。 +* llm_model: 目前有 Orenguteng/Llama-3.1-8B-Lexi-Uncensored-V2 和 unsloth/Meta-Llama-3.1-8B-Instruct 两种LLM模型可选择。 +* device: 模型加载设备。目前仅支持cuda。 +* dtype: 模型加载精度,有nf4 和 bf16 两个选项。 +* vlm_lora: 是否加载text_model。 +* caption_type: caption类型选项, 包括"Descriptive"(正式语气描述), "Descriptive (Informal)"(非正式语气描述), "Training Prompt"(SD训练描述), "MidJourney"(MJ风格描述), "Booru tag list"(标签列表), "Booru-like tag list"(类标签列表), "Art Critic"(艺术评论), "Product Listing"(产品列表), "Social Media Post"(社交媒体风格)。 +* caption_length: 描述长度。 +* user_prompt: LLM模型的用户提示词。如果这里有内容将覆盖caption_type和extra_options的所有设置。 +* max_new_tokens: LLM的max_new_tokens参数。 +* do_sample: LLM的do_sample参数。 +* top-p: LLM的top_p参数。 +* temperature: LLM的temperature参数。 +* cache_model: 是否缓存模型。 + +### JoyCaption2Split +JoyCaption2 的分离式节点,将模型加载与推理分离,使用多个JoyCaption2节点时可共用模型提高效率。 + +节点选项说明: +![image](image/joycaption2_split_node.jpg) + +* image: 图片输入。 +* joy2_model: JoyCaption模型输入。 +* extra_options: extra_options参数输入。 +* caption_type: caption类型选项, 包括"Descriptive"(正式语气描述), "Descriptive (Informal)"(非正式语气描述), "Training Prompt"(SD训练描述), "MidJourney"(MJ风格描述), "Booru tag list"(标签列表), "Booru-like tag list"(类标签列表), "Art Critic"(艺术评论), "Product Listing"(产品列表), "Social Media Post"(社交媒体风格)。 +* caption_length: 描述长度。 +* user_prompt: LLM模型的用户提示词。如果这里有内容将覆盖caption_type和extra_options的所有设置。 +* max_new_tokens: LLM的max_new_tokens参数。 +* do_sample: LLM的do_sample参数。 +* top-p: LLM的top_p参数。 +* temperature: LLM的temperature参数。 + +### LoadJoyCaption2Model +JoyCaption2 的模型加载节点,与JoyCaption2Split配合使用。 + +节点选项说明: +![image](image/load_joycaption2_model_node.jpg) + +* llm_model: 目前有 Orenguteng/Llama-3.1-8B-Lexi-Uncensored-V2 和 unsloth/Meta-Llama-3.1-8B-Instruct 两种LLM模型可选择。 +* device: 模型加载设备。目前仅支持cuda。 +* dtype: 模型加载精度,有nf4 和 bf16 两个选项。 +* vlm_lora: 是否加载text_model。 + + +### JoyCaption2ExtraOptions +JoyCaption2的extra_options参数节点。 + +节点选项说明: +![image](image/joycaption2_extra_options_node.jpg) + +* refer_character_name: 如果图像中有人物/角色,必须将其称为{name} +* exclude_people_info: 不要包含有关无法更改的人物/角色的信息(例如种族、性别等),但仍包含可更改的属性(例如发型)。 +* include_lighting: 包括照明信息。 +* include_camera_angle: 包括摄影机角度信息。 +* include_watermark: 包括是否有水印信息。 +* include_JPEG_artifacts: 包括是否存在 JPEG 伪影信息。 +* include_exif: 如果是照片,包含相机的信息以及光圈、快门速度、ISO等信息。 +* exclude_sexual: 不要包含任何与性有关的内容,保持PG。 +* exclude_image_resolution: 不要包含图像分辨率信息。 +* include_aesthetic_quality: 包含图像美学(从低到非常高)信息。 +* include_composition_style: 包括有关图像构图风格的信息,例如引导线、三分法或对称性。 +* exclude_text: 不要包含任何文字信息。 +* specify_depth_field: 包含景深以及背景模糊信息。 +* specify_lighting_sources: 如果可以判别人造或自然光源,则包含在内。 +* do_not_use_ambiguous_language: 不要使用任何含糊不清的言辞。 +* include_nsfw: 包含NSFW或性暗示信息。 +* only_describe_most_important_elements: 只描述最重要的元素。 +* character_name: 如果选择了```refer_character_name```,则使用此处的名字。 + +### PhiPrompt +使用Micrisoft Phi 3.5文字及视觉模型进行本地推理。可以用于生成提示词,加工提示词或者反推图片的提示词。运行这个模型需要至少16GB的显存。 +请从[百度网盘](https://pan.baidu.com/s/1BdTLdaeGC3trh1U3V-6XTA?pwd=29dh) 或者 [huggingface.co/microsoft/Phi-3.5-vision-instruct](https://huggingface.co/microsoft/Phi-3.5-vision-instruct/tree/main) 和 [huggingface.co/microsoft/Phi-3.5-mini-instruct](https://huggingface.co/microsoft/Phi-3.5-mini-instruct/tree/main) 下载全部模型文件并放到 ```ComfyUI\models\LLM``` 文件夹。 +![image](image/phi_prompt_example.jpg) + +节点选项说明: +![image](image/phi_prompt_node.jpg) + +* image: 可选输入。输入的图片将作为Phi-3.5-vision-instruct的输入。 +* model: 可选择加载的Phi-3.5-vision-instruct模型,或者Phi-3.5-mini-instruct模型。默认值auto将根据是否有图片输入自动加载对应模型。 +* device: 模型加载设备。支持cpu和cuda。 +* dtype: 模型加载精度,有fp16、bf16和fp32三个选项。 +* cache_model: 是否缓存模型。 +* system_prompt: Phi-3.5-mini-instruct的系统提示词。 +* user_prompt: LLM模型的用户提示词。 +* do_sample: LLM的do_sample参数,默认为True。 +* temperature: LLM的temperature参数,默认为0.5。 +* max_new_tokens: LLM的max_new_tokens参数,默认为512。 + + +### UserPromptGeneratorTxtImg +用于生成SD文本到图片提示词的UserPrompt预设。 + +节点选项说明: +![image](image/userprompt_generator_txt2img_node.jpg) + +* template: 提示词模板。目前仅有“SD txt2img prompt”可用。 +* describe: 提示词描述。在这里输入简单的描述。 +* limit_word: 输出的提示词最大长度限制。例如200即表示输出文本将被限制在200个词以内。 + +### UserPromptGeneratorTxtImgWithReference +用于参考输入的内容生成SD文本到图片提示词的UserPrompt预设。 + +节点选项说明: +![image](image/userprompt_generator_txt2img_with_reference_node.jpg) + +* reference_text: 参考文本输入。通常是图片的风格描述。 +* template: 提示词模板。目前仅有“SD txt2img prompt”可用。 +* describe: 提示词描述。在这里输入简单的描述。 +* limit_word: 输出的提示词最大长度限制。例如200即表示输出文本将被限制在200个词以内。 + + +### UserPromptGeneratorReplaceWord +用于将文本中的某个关键词替换为不同内容的UserPrompt预设。这不仅是简单的替换,还可以根据提示词上下文进行文字逻辑梳理以达到输出内容的合理性。 + +节点选项说明: +![image](image/userprompt_generator_replace_word_node.jpg) + +* orig_prompt: 原始提示词输入。 +* template: 提示词模板。目前仅有“prompt replace word”可用。 +* exclude_word: 需要排除的关键词。 +* replace_with_word: 替换exclude_word的关键词。 + +### PromptTagger +根据图片反推提示词,可以设置替换词。这个节点目前使用Google Gemini API作为后端服务,请确保网络环境可以正常使用Gemini。 +请在[Google AI Studio](https://makersuite.google.com/app/apikey)申请你的API key, 并将其填到```api_key.ini```, 这个文件位于插件根目录下, 默认名字是```api_key.ini.example```, 初次使用这个文件需将文件后缀改为.ini。用文本编辑软件打开,在```google_api_key=```后面填入你的API key并保存。 +![image](image/prompt_tagger_example.jpg) + +节点选项说明: +![image](image/prompt_tagger_node.jpg) + +* api: 使用的Api。有"gemini-1.5-flash"和"google-gemini"两个选项。 +* token_limit: 生成提示词的最大token限制。 +* exclude_word: 需要排除的关键词。 +* replace_with_word: 替换exclude_word的关键词。 + +### PromptEmbellish +输入简单的提示词,输出经过润色的提示词,支持输入图片作为参考,支持中文输入。这个节点目前使用Google Gemini API作为后端服务,请确保网络环境可以正常使用Gemini。 +请在[Google AI Studio](https://makersuite.google.com/app/apikey)申请你的API key, 并将其填到```api_key.ini```, 这个文件位于插件根目录下, 默认名字是```api_key.ini.example```, 初次使用这个文件需将文件后缀改为.ini。用文本编辑软件打开,在```google_api_key=```后面填入你的API key并保存。 +![image](image/prompt_embellish_example.jpg) + +节点选项说明: +![image](image/prompt_embellish_node.jpg) + +* image: 可选项,输入图像作为提示词参考。 +* api: 使用的Api。有"gemini-1.5-flash"和"google-gemini"两个选项。 +* token_limit: 生成提示词的最大token限制。 +* discribe: 在这里输入简单的描述。支持中文。 + +### Florence2Image2Prompt +使用florence2模型反推提示词。本节点部分的代码来自[yiwangsimple/florence_dw](https://github.com/yiwangsimple/florence_dw),感谢原作者。 +*首次使用时将自动下载模型,请在可以访问huggingface.co的网络环境下使用。您也可以从[百度网盘](https://pan.baidu.com/s/1hzw9-QiU1vB8pMbBgofZIA?pwd=mfl3)下载模型文件并复制到```ComfyUI/models/florence2```文件夹。 + +![image](image/florence2_image2prompt_example.jpg) + +节点选项说明: +![image](image/florence2_image2prompt_node.jpg) +* florence2_model: Florence2模型输入。 +* image: 图片输入。 +* task: 选择florence2任务。 +* text_input: florence2任务文本输入。 +* max_new_tokens: 生成文本的最大token数量。 +* num_beams: 生成文本的beam search数量。 +* do_sample: 是否使用文本生成采样。 +* fill_mask: 是否使用文本标记掩码填充。 + +### GetColorTone +从图片中获取主颜色或平均色。 +![image](image/get_color_tone_example.jpg) + +节点选项说明: +![image](image/get_color_tone_node.jpg) +* mode: 模式,有两种可选择,主颜色main_color和平均色average。 + +输出: +* RGB color in HEX: 使用16进制RGB字符串格式描述,例如 '#FA3D86'。 +* HSV color in list: HSV颜色值,使用list格式描述。 + +### GetColorToneV2 +GetColorTone的V2升级版。可以指定获取主体或背景的主色或平均色。 +![image](image/get_color_tone_v2_example.jpg) +![image](image/get_color_tone_v2_example2.jpg) + +在GetColorTong基础上做了如下改变: +![image](image/get_color_tone_v2_node.jpg) +* color_of: 提供4个选项,mask, entire, background和subject, 分别表示选择遮罩区域,整个图片,背景,或主体的颜色。 +* remove_background_method: 背景识别的方法, 有BiRefNet和RMBG V1.4两种可以选择。 +* invert_mask: 是否反转遮罩。 +* mask_grow: 遮罩扩张。对于subject, 更大的值使获得的颜色更接近主体中心的颜色。 + +输出: +* image: 纯色图片输出, 尺寸与输入的图片相同。 +* mask: 遮罩输出。 + + +### ImageRewardFilter +![image](image/image_reward_filter_example.jpg) +对批量图片评分并输出排名靠前的图片。这个节点使用了[ImageReward](https://github.com/THUDM/ImageReward)作为图片评分,感谢原作者。 + +![image](image/image_reward_filter_node.jpg) +节点选项说明: +* prompt: 可选输入。将prompt在此输入将作为依据判定其与图片的符合程度。 +* output_nun: 输出的图片数量。此数值应小于图片批量。 + +输出: +* images: 按评分顺序从高到低输出的批量图片。 +* obsolete_images: 淘汰的图片。同样按评分顺序从高到低输出。 + + +### LaMa +![image](image/lama_example.jpg) +根据图像遮罩擦除物体。本节点是对[IOPaint](https://www.iopaint.com)的封装,由 SOTA AI 模型提供支持, 感谢原作者。 +提供[LaMa](https://github.com/advimman/lama), [LDM](https://github.com/CompVis/latent-diffusion), [ZITS](https://github.com/DQiaole/ZITS_inpainting),[MAT](https://github.com/fenglinglwb/MAT), [FcF](https://github.com/SHI-Labs/FcF-Inpainting), [Manga](https://github.com/msxie92/MangaInpainting) 模型以及 SPREAD 擦除方法。请查看链接了解各个模型的介绍。 +请下载模型文件 [lama models(百度网盘)](https://pan.baidu.com/s/1m7La2ELsSKaIFhQ57qg1XQ?pwd=jn10) 或者 [lama models(Google Drive)](https://drive.google.com/drive/folders/1Aq0a4sybb3SRxi7j1e1_ZbBRjaWDdP9e?usp=sharing), 将文件放到```ComfyUI/models/lama``` + +节点选项说明: +![image](image/lama_node.jpg) +* lama_model: 选择模型或方法。 +* device: 在正确安装torch和Nvidia CUDA驱动程序后,使用cuda将明显提高运行速度。 +* invert_mask: 是否反转遮罩。 +* grow: 遮罩扩张幅度。正值是向外扩张,负值是向内收缩。 +* blur: 遮罩模糊幅度。 + + +### ImageAutoCrop +![image](image/image_auto_crop_example.jpg) +自动抠图并按照遮罩裁切图片。可指定生成图片的背景颜色、长宽比和大小。这个节点是为生成训练模型的图片素材而设计的。 +*请参照 [SegmentAnythingUltra](#SegmentAnythingUltra) 和 [RemBgUltra](#RemBgUltra) 节点的模型安装方法安装模型。 + + +节点选项说明: +![image](image/image_auto_crop_node.jpg) +* background_color4: 背景颜色。 +* aspect_ratio: 输出的宽高比。这里提供了常见的画幅比例, "custom"为自定义比例。 +* proportional_width: 比例宽。如果aspect_ratio选项不是"custom",此处设置将被忽略。 +* proportional_height: 比例高。如果aspect_ratio选项不是"custom",此处设置将被忽略。 +* scale_by_longest_side: 允许按长边尺寸缩放。 +* longest_side: scale_by_longest_side被设置为True时,此项将作为是图像长边的长度。 +* detect: 探测方法,min_bounding_rect是最小外接矩形, max_inscribed_rect是最大内接矩形。 +* border_reserve: 保留边框。在探测到的遮罩主体区域之外扩展裁切范围。 +* ultra_detail_range: 遮罩边缘超精细处理范围,0为不处理,可以节省生成时间。 +* matting_method: 生成遮罩的方法。有Segment Anything和 RMBG 1.4两种方法。RMBG 1.4运行速度更快。 +* sam_model: 此处选择Segment Anything所使用的sam模型。 +* grounding_dino_model: 此处选择Segment Anything所使用的grounding_dino模型。 +* sam_threshold: Segment Anything的阈值。 +* sam_prompt: Segment Anything的提示词。 + +输出: +cropped_image: 裁切并更换背景后的图像。 +box_preview: 裁切位置预览。 +cropped_mask: 裁切后的遮罩。 + +### ImageAutoCropV2 + +```ImageAutoCrop```的V2升级版,在之前基础上做了如下改变: +![image](image/image_auto_crop_v2_node.jpg) + +* 增加```mask```可选输入。当有mask输入时,直接使用该输入跳过内置遮罩生成。 +* 增加```fill_background```, 当此项设置为False时将不处理背景,并且超出画幅的部分不纳入输出范围。 +* ```aspect_ratio```增加```original```(原始画面宽高比)选项。 +* scale_by: 允许按长边、短边、宽度或高度指定尺寸缩放。 +* scale_by_length: 这里的数值作为scale_by指定边的长度。 + +### ImageAutoCropV3 +自动裁切图片到指定的尺寸。可输入mask以保留遮罩指定的区域。这个节点是为生成训练模型的图片素材而设计的。 + + +节点选项说明: +![image](image/image_auto_crop_v3_node.jpg) +* image: 输入的图像。 +* mask: 可选输入遮罩。遮罩部分将在裁切长宽比例范围内得到保留。 +* aspect_ratio: 输出的宽高比。这里提供了常见的画幅比例, "custom"为自定义比例, "original"为原始画面比例。 +* proportional_width: 比例宽。如果aspect_ratio选项不是"custom",此处设置将被忽略。 +* proportional_height: 比例高。如果aspect_ratio选项不是"custom",此处设置将被忽略。 +* method: 缩放的采样方法,包括lanczos、bicubic、hamming、bilinear、box和nearest。 +* scale_to_side: 允许按长边、短边、宽度、高度或总像素指定尺寸缩放。 +* scale_to_length: 这里的数值作为scale_to_side指定边的长度, 或者总像素数量(kilo pixels)。 +* round_to_multiple: 倍数取整。例如设置为8,宽和高将强制设置为8的倍数。 + +输出: +cropped_image: 裁切后的图像。 +box_preview: 裁切位置预览。 + + +### SaveImagePlus +![image](image/saveimage_plus_example.jpg) +增强版的保存图片节点。可自定义保存图片的目录,文件名增加时间戳,选择保存格式,设置图片压缩率,设置是否保存工作流,以及可选给图片添加隐形水印(以肉眼无法觉察的方式添加信息,使用配套的```ShowBlindWaterMark```节点可以解码水印)。可选择是否同时输出工作流的json文件。 + +节点选项说明: +![image](image/saveimage_plus_node.jpg) +* iamge: 输入的图片。 +* custom_path*: 用户自定义目录,请按正确的格式输入目录名。如果为空则保存在ComfyUI默认的output目录。 +* filename_prefix*:文件名前缀。。 +* timestamp: 为文件名加上时间戳,可选择日期、时间到秒和时间到毫秒。 +* format:图片保存格式。目前提供png和jpg两种。注意RGBA模式的图片仅支持png格式。 +* quality:图片质量,数值范围10-100,数值越高,图片质量越好,文件的体积也对应增大。 +* meta_data:是否保存元数据即工作流信息到png文件。如果不希望泄露工作流,请把这里设置为false。 +* blind_watermark:这里输入的文字(不支持多语言)将被转换为二维码作为隐形水印保存,使用```ShowBlindWaterMark```节点可以解码水印。注意有水印的图片建议保存为png格式,质量较低的jpg格式将导致水印信息丢失。 +* save_workflow_as_json: 是否同时输出工作流为json文件(输出的json与图片在同一目录)。 +* preview: 预览开关。 + +*输入```%date```表示当前日期(YY-mm-dd),```%time```表示当前时间(HH-MM-SS)。可以输入```/```表示子目录。例如```%date/name_%time``` 将输出图片到```YY-mm-dd```文件夹下,以```name_HH-MM-SS```为文件名前缀。 + + +### AddBlindWaterMark +![image](image/watermark_example.jpg) +给图片添加隐形水印。以肉眼无法觉察的方式添加水印图片,使用```ShowBlindWaterMark```节点可以解码水印。 + +节点选项说明: +![image](image/add_blind_watermark_node.jpg) +* iamge: 输入的图片。 +* watermark_image: 水印图片。这里输入的图片将自动转为正方形的黑白图片作为水印。建议使用二维码作为水印。 + + +### ShowBlindWaterMark +对```AddBlindWaterMark``` 和 ```SaveImagePlus``` 节点添加的隐形水印解码。 +![image](image/show_blind_watermark_node.jpg) + + +### CreateQRCode +生成一个正方形的二维码图片。 + +节点选项说明: +![image](image/create_qrcode_node.jpg) +* size: 生成图片的边长。 +* border: 二维码四周边框的大小,数值越大,边框越宽。 +* text: 这里输入二维码文字内容,不支持多语言。 + +### DecodeQRCode +解码二维码。 + +节点选项说明: +![image](image/decode_qrcode_node.jpg) +* image: 输入二维码图片。 +* pre_blur: 预模糊,对难以识别的二维码可以尝试调整此数值。 + +### LoadPSD +![image](image/load_image_example_psd_file.jpg) +![image](image/load_image_example.jpg) +加载PSD格式文件,并导出图层。 +注意这个节点需要安装psd_tools依赖包,如果安装psd_tool中出现```ModuleNotFoundError: No module named 'docopt'```错误,请下载[docopt的whl](https://www.piwheels.org/project/docopt/)手动安装。 + +节点选项说明: +![image](image/load_image_node.jpg) +* image: 这里列出了```ComfyUI/input```下的*.psd文件,之前加载过的psd图片可以从这里选择。 +* file_path: psd文件的完整路径以及文件名。 +* include_hidden_layer: 是否包括隐藏图层。 +* find_layer_by: 查找图层的方法,可选择按图层索引编号或者图层名称查找。图层组被作为一个图层对待。 +* layer_index: 图层索引编号,0是最下面的图层,依次递增。如果include_hidden_layer设置为false,隐藏的图层不计入。设为-1则输出最上层的图层。 +* layer_name: 图层名称。注意大小写和标点符号必须完全匹配。 + +输出: +flat_image: psd预览图。 +layer_iamge: 查找的图层输出。 +all_layers: 包含全部图层的批量图片。 + +### SD3NegativeConditioning +![image](image/sd3_negative_conditioning_node_note.jpg) +把SD3的Negative Conditioning 的4个节点封装为一个单独节点。 + +节点选项说明: +![image](image/sd3_negative_conditioning_node.jpg) +* zero_out_start: 设置Negative ConditioningZeroOut的ConditioningSetTimestepRange start值, 此数值与Negative的ConditioningSetTimestepRange end值相同。 + + + +### SegmentAnythingUltra +对[ComfyUI Segment Anything](https://github.com/storyicon/comfyui_segment_anything)的改进,使遮罩有更具细节的边缘,感谢原作者。 +*请参照ComfyUI Segment Anything的安装方法安装模型。如果已经正确安装了ComfyUI Segment Anything,可跳过此步骤。 +* 从 [这里](https://huggingface.co/bert-base-uncased/tree/main) 下载 config.json,model.safetensors,tokenizer_config.json,tokenizer.json 和 vocab.txt 5个文件到 ```ComfyUI/models/bert-base-uncased```文件夹。 +* 下载 [GroundingDINO_SwinT_OGC config file](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/GroundingDINO_SwinT_OGC.cfg.py), [GroundingDINO_SwinT_OGC model](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/groundingdino_swint_ogc.pth), +[GroundingDINO_SwinB config file](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/GroundingDINO_SwinB.cfg.py), [GroundingDINO_SwinB model](https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/groundingdino_swinb_cogcoor.pth) 到 ```ComfyUI/models/grounding-dino```文件夹。 +* 下载 [sam_vit_h](https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth),[sam_vit_l](https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth), +[sam_vit_b](https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth), [sam_hq_vit_h](https://huggingface.co/lkeab/hq-sam/resolve/main/sam_hq_vit_h.pth), +[sam_hq_vit_l](https://huggingface.co/lkeab/hq-sam/resolve/main/sam_hq_vit_l.pth), [sam_hq_vit_b](https://huggingface.co/lkeab/hq-sam/resolve/main/sam_hq_vit_b.pth), +[mobile_sam](https://github.com/ChaoningZhang/MobileSAM/blob/master/weights/mobile_sam.pt) 这几个文件到```ComfyUI/models/sams```文件夹。 +*或者从[GroundingDino模型百度网盘](https://pan.baidu.com/s/1P7WQDuaqSYazlSQX8SJjxw?pwd=24ki) 和 [SAM模型百度网盘](https://pan.baidu.com/s/1n7JrHb2vzV2K2z3ktqpNxg?pwd=yoqh) 下载它们。 + +![image](image/segment_anything_ultra_compare.jpg) +![image](image/segment_anything_ultra_example.jpg) + +节点选项说明: +![image](image/segment_anything_ultra_node.jpg) +* sam_model: 选择SAM模型。 +* ground_dino_model: 选择Grounding DINO模型。 +* threshold: SAM阈值。 +* detail_range: 边缘细节范围。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* prompt: SAM的prompt输入。 +* cache_model: 是否缓存模型。 + +### SegmentAnythingUltraV2 +SegmentAnythingUltra的V2升级版,增加了VITMatte边缘处理方法。 +![image](image/ultra_v2_nodes_example.jpg) + +在SegmentAnythingUltra的基础上做了如下改变: +![image](image/segment_anything_ultra_v2_node.jpg) +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + +### SAM2Ultra +本节点是[kijai/ComfyUI-segment-anything-2](https://github.com/kijai/ComfyUI-segment-anything-2)的改造版本。感谢[kijai](https://github.com/kijai)为ComfyUI社区做出的巨大贡献。 +SAM2 Ultra 节点仅支持单张图片,如果需要处理多张图片,请先将image batch 转换为 image list。 +*请从[百度网盘](https://pan.baidu.com/s/1xaQYBA6ktxvAxm310HXweQ?pwd=auki) 或者 [huggingface.co/Kijai/sam2-safetensors](https://huggingface.co/Kijai/sam2-safetensors/tree/main)下载全部模型文件并复制到```ComfyUI/models/sam2```文件夹。 + +![image](image/sam2_example.jpg) + +节点选项说明: +![image](image/sam2_ultra_node.jpg) + +* image: 图片输入。 +* bboxes: 识别框数据输入。 +* sam2_model: 选择SAM2模型。 +* presicion: 模型精度,可选择fp16, bf16 和 fp32。 +* bbox_select: 选择输入的框数据。有3个选项:"all"为全部选择,"first"为选择置信度最高的框,"by_index"可以指定框的索引。 +* select_index: 当bbox_select为"by_index"时,此选项有效。0为第一张。可以输入多个值,中间用任意非数字字符分隔,包括不仅限于逗号,句号,分号,空格或者字母,甚至中文。 +* cache_model: 是否缓存模型。缓存模型后将节省模型加载的时间。 +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + +### SAM2VideoUltra +SAM2 Video Ultra 节点支持处理多张图片或视频序列帧。请在序列的第一帧定义识别框数据以保证正确识别。 + +https://github.com/user-attachments/assets/4726b8bf-9b98-4630-8f54-cb7ed7a3d2c5 + +https://github.com/user-attachments/assets/b2a45c96-4be1-4470-8ceb-addaf301b0cb + +节点选项说明: +![image](image/sam2_video_ultra_node.jpg) + +* image: 图片输入。 +* bboxes: 可选输入,识别框数据输入。bboxes 和 first_frame_mask 二者必须输入其中之一。如果有first_frame_mask输入,bboxes将被忽略。 +* first_frame_mask: 可选输入遮罩,这里的遮罩将作为首帧识别对象。bboxes 和 first_frame_mask 二者必须输入其中之一。如果有first_frame_mask输入,bboxes将被忽略。 +* pre_mask: 可选输入遮罩,这里的遮罩将作为传播关注范围限制,有助于提高识别准确度。 +* sam2_model: 选择SAM2模型。 +* presicion: 模型精度,可选择fp16, bf16。 +* cache_model: 是否缓存模型。缓存模型后将节省模型加载的时间。 +* individual_object: 当设置为 True时,将专注于识别单一对象。设置为False时,将尝试为多个对象生成识别框。 +* mask_preview_color: 在预览输出中显示非遮罩区域的颜色。 +* detail_method: 边缘处理方法。仅VITMatte可用。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* device: 本节点限制仅使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。更大的尺寸将获得更精细的遮罩边缘,但会导致运算速度明显下降。 + +### ObjectDetectorFL2 +使用Florence2模型识别图片中的对象,并输出识别框数据。 +*请从 [百度网盘](https://pan.baidu.com/s/1hzw9-QiU1vB8pMbBgofZIA?pwd=mfl3)下载模型文件并复制到```ComfyUI/models/florence2```文件夹。 + +节点选项说明: +![image](image/object_detector_fl2_node.jpg) + +* image: 图片输入。 +* florence2_model: Florence2模型。从[Florence2模型加载器](#LoadFlorence2Model)输入。 +* prompt: 描述需要识别的对象。 +* sort_method: 选择框排序方法, 有4个选项:"left_to_right"为从左到右排序,"top_to_bottom"为从上到下排序,"big_to_small"为从大到小排序,"confidence"为按置信度排序。 +* bbox_select: 选择输入的框数据。有3个选项:"all"为全部选择,"first"为选择置信度最高的框,"by_index"可以指定框的索引。 +* select_index: 当bbox_select为"by_index"时,此选项有效。0为第一张。可以输入多个值,中间用任意非数字字符分隔,包括不仅限于逗号,句号,分号,空格或者字母,甚至中文。 + +### ObjectDetectorYOLOWorld (已废弃,如继续使用需要手动安装依赖包) + +由于依赖包安装易出问题,已废弃此节点。如需使用,请手动安装下列依赖包: +``` +pip install inference-cli>=0.13.0 +pip install inference-gpu[yolo-world]>=0.13.0 +``` + +使用YOLO World模型识别图片中的对象,并输出识别框数据。 +*请从 [百度网盘](https://pan.baidu.com/s/1QpjajeTA37vEAU2OQnbDcQ?pwd=nqsk) 或[GoogleDrive](https://drive.google.com/drive/folders/1nrsfq4S-yk9ewJgwrhXAoNVqIFLZ1at7?usp=sharing)下载模型文件并复制到```ComfyUI/models/yolo-world```文件夹。 + + +节点选项说明: +![image](image/object_detector_yolo_world_node.jpg) + +* image: 图片输入。 +* confidence_threshold: 置信度阈值。 +* nms_iou_threshold: 非极大值抑制阈值。 +* prompt: 描述需要识别的对象。 +* sort_method: 选择框排序方法, 有4个选项:"left_to_right"为从左到右排序,"top_to_bottom"为从上到下排序,"big_to_small"为从大到小排序,"confidence"为按置信度排序。 +* bbox_select: 选择输入的框数据。有3个选项:"all"为全部选择,"first"为选择置信度最高的框,"by_index"可以指定框的索引。 +* select_index: 当bbox_select为"by_index"时,此选项有效。0为第一张。可以输入多个值,中间用任意非数字字符分隔,包括不仅限于逗号,句号,分号,空格或者字母,甚至中文。 + +### ObjectDetectorYOLO8 +使用YOLO 8模型识别图片中的对象,并输出识别框数据。 +*请在 [GoogleDrive](https://drive.google.com/drive/folders/1I5TISO2G1ArSkKJu1O9b4Uvj3DVgn5d2) 或者 [百度网盘](https://pan.baidu.com/s/1pEY6sjABQaPs6QtpK0q6XA?pwd=grqe) 下载模型文件并放到 ```ComfyUI/models/yolo``` 文件夹。 + +节点选项说明: +![image](image/object_detector_yolo8_node.jpg) +* image: 图片输入。 +* yolo_model: 选择yolo模型。 +* sort_method: 选择框排序方法, 有4个选项:"left_to_right"为从左到右排序,"top_to_bottom"为从上到下排序,"big_to_small"为从大到小排序,"confidence"为按置信度排序。 +* bbox_select: 选择输入的框数据。有3个选项:"all"为全部选择,"first"为选择置信度最高的框,"by_index"可以指定框的索引。 +* select_index: 当bbox_select为"by_index"时,此选项有效。0为第一张。可以输入多个值,中间用任意非数字字符分隔,包括不仅限于逗号,句号,分号,空格或者字母,甚至中文。 + +### ObjectDetectorMask +使用遮罩作为识别框数据。遮罩上所有被白色区域包围的区域,将被识别为一个对象。多个封闭区域将各自识别。 + +节点选项说明: +![image](image/object_detector_mask_node.jpg) +* object_mask: 遮罩输入。 +* sort_method: 选择框排序方法, 有4个选项:"left_to_right"为从左到右排序,"top_to_bottom"为从上到下排序,"big_to_small"为从大到小排序,"confidence"为默认排序。 +* bbox_select: 选择输入的框数据。有3个选项:"all"为全部选择,"first"为选择置信度最高的框,"by_index"可以指定框的索引。 +* select_index: 当bbox_select为"by_index"时,此选项有效。0为第一张。可以输入多个值,中间用任意非数字字符分隔,包括不仅限于逗号,句号,分号,空格或者字母,甚至中文。 + +### BBoxJoin +合并识别框数据。 + +节点选项说明: +![image](image/bbox_join_node.jpg) +* bboxes_1: 必选输入。第一组识别框。 +* bboxes_2: 可选输入。第二组识别框。 +* bboxes_3: 可选输入。第三组识别框。 +* bboxes_4: 可选输入。第四组识别框。 + +### DrawBBoxMask +将ObjectDetector节点输出的识别框数据绘制为遮罩。 +![image](image/draw_bbox_mask_example.jpg) + +节点选项说明: +![image](image/draw_bbox_mask_node.jpg) +* image: 图片输入。必须与ObjectDetector节点识别的图片一致。 +* bboxes: 识别框数据输入。 +* grow_top: 每个识别框向上扩展范围,为识别框高度的百分比。正值为向上扩展,负值为向下扩展。 +* grow_bottom: 每个识别框向下扩展范围,为识别框高度的百分比,正值为向下扩展,负值为向上扩展。 +* grow_left: 每个识别框向左扩展范围,为识别框宽度的百分比。正值为向左扩展,负值为向右扩展。 +* grow_right: 每个识别框向右扩展范围,为识别框宽度的百分比。正值为向右扩展,负值为向左扩展。 + + +### EVF-SAMUltra +本节点是[EVF-SAM](https://github.com/hustvl/EVF-SAM)在ComfyUI中的实现。 +*请从[百度网盘](https://pan.baidu.com/s/1EvaxgKcCxUpMbYKzLnEx9w?pwd=69bn) 或者 [huggingface/EVF-SAM2](https://huggingface.co/YxZhang/evf-sam2/tree/main), [huggingface/EVF-SAM](https://huggingface.co/YxZhang/evf-sam/tree/main) 下载全部模型文件并复制到```ComfyUI/models/EVF-SAM```文件夹(请将模型保存在各自子目录中)。 + +![image](image/evf_sam_ultra_example.jpg) + +节点选项说明: +![image](image/evf_sam_ultra_node.jpg) + +* image: 图片输入。 +* model: 选择模型。目前有 evf-sam2 和 evf-sam 可选。 +* presicion: 模型精度,可选择fp16, bf16 和 fp32。 +* load_in_bit: 按位精度加载模型。可选择full, 8 和 4。 +* pormpt: 用于分割的提示词。 +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + + +### Florence2Ultra +使用 Florence2 模型的分割功能,同时具有超高的边缘细节。 +本节点部分的代码来自[spacepxl/ComfyUI-Florence-2](https://github.com/spacepxl/ComfyUI-Florence-2),感谢原作者。 +*请从 [百度网盘](https://pan.baidu.com/s/1hzw9-QiU1vB8pMbBgofZIA?pwd=mfl3)下载模型文件并复制到```ComfyUI/models/florence2```文件夹。 + +![image](image/florence2_ultra_example.jpg) + +节点选项说明: +![image](image/florence2_ultra_node.jpg) +* florence2_model: Florence2模型输入。 +* image: 图片输入。 +* task: 选择florence2任务。 +* text_input: florence2任务文本输入。 +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + +### LoadFlorence2Model +Florence2 模型加载器。 +![image](image/load_florence2_model_node.jpg) +目前有 base, base-ft, large, large-ft, DocVQA, SD3-Captioner 和 base-PromptGen模型可以选择。 + + +### BiRefNetUltra +使用BiRefNet模型去除背景,有更好的识别能力,同时具有超高的边缘细节。 +本节点模型部分的代码来自vipery的[ComfyUI-BiRefNet](https://github.com/viperyl/ComfyUI-BiRefNet),感谢原作者。 + +*从[https://huggingface.co/ViperYX/BiRefNet](https://huggingface.co/ViperYX/BiRefNet/tree/main) 或者 [百度网盘](https://pan.baidu.com/s/1GxtuNDTIHkuu4FR4uGAT-g?pwd=t2cf) 下载```BiRefNet-ep480.pth```,```pvt_v2_b2.pth```,```pvt_v2_b5.pth```,```swin_base_patch4_window12_384_22kto1k.pth```, ```swin_large_patch4_window12_384_22kto1k.pth```5个文件至```ComfyUI/models/BiRefNet```文件夹。 + +![image](image/birefnet_ultra_example.jpg) + +节点选项说明: +![image](image/birefnet_ultra_node.jpg) +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + + +### BiRefNetUltraV2 +本节点支持使用最新的BiRefNet模型。 +*从[百度网盘](https://pan.baidu.com/s/12z3qUuqag3nqpN2NJ5pSzg?pwd=ek65) 或 [GoogleDrive](https://drive.google.com/drive/folders/1s2Xe0cjq-2ctnJBR24563yMSCOu4CcxM) 下载 ```BiRefNet-general-epoch_244.pth``` 到 ```ComfyUI/Models/BiRefNet/pth``` 文件夹。也可以下载更多的BiRefNet模型放到这里。 + +![image](image/birefnet_ultra_v2_example.jpg) + +节点选项说明: +![image](image/birefnet_ultra_v2_node.jpg) + +* image: 图片输入。 +* birefnet_model: BiRefNet模型输入,模型从LoadBiRefNetModel节点输出。 +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 由于BiRefNet的边缘处理已经非常不错,此处默认设为False。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + + +### LoadBiRefNetModel +加载BiRefNet模型。 + + +节点选项说明: +![image](image/load_birefnet_model_node.jpg) + +* model: 选择模型。列出 ```CoomfyUI/models/BiRefNet/pth``` 文件夹下的文件供选择。 + +### LoadBiRefNetModelV2 +本节点是[jimlee2048](https://github.com/jimlee2048)提交的PR,支持加载RMBG-2.0模型。 +从 [huggingface](https://huggingface.co/briaai/RMBG-2.0/tree/main) 或 [百度网盘](https://pan.baidu.com/s/1viIXlZnpTYTKkm2F-QMj_w?pwd=axr9) 下载全部文件并复制到```ComfyUI/models/BiRefNet/RMBG-2.0```文件夹。 + +节点选项说明: +![image](image/load_birefnet_model_v2_node.jpg) + +* model: 选择模型。有两个选项: ```BiRefNet-General``` 和 ```RMBG-2.0```。 + + + +### TransparentBackgroundUltra +使用transparent-background模型去除背景,有更好的识别能力和识别速度,同时具有超高的边缘细节。 + +*从 [googledrive](https://drive.google.com/drive/folders/10KBDY19egb8qEQBv34cqIVSwd38bUAa9?usp=sharing) 或 [百度网盘](https://pan.baidu.com/s/10JO0uKzTxJaIkhN_J7RSyw?pwd=v0b0) 下载全部文件至```ComfyUI/models/transparent-background```文件夹。 + +![image](image/transparent_background_ultra_example.jpg) + +节点选项说明: +![image](image/transparent_background_ultra_node.jpg) +* model: 选择模型。 +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + +### PersonMaskUltra +为人物生成脸、头发、身体皮肤、衣服或配饰的遮罩。与之前的A Person Mask Generator节点相比,这个节点具有超高的边缘细节。 +本节点的模型代码来自[a-person-mask-generator](https://github.com/djbielejeski/a-person-mask-generator),边缘处理代码来自spacepxl的[ComfyUI-Image-Filters](https://github.com/spacepxl/ComfyUI-Image-Filters),感谢原作者。 +*从[百度网盘](https://pan.baidu.com/s/13zqZtBt89ueCyFufzUlcDg?pwd=jh5g) 下载模型文件并放到```ComfyUI/models/mediapipe```文件夹。 + +![image](image/person_mask_ultra_example.jpg) + +节点选项说明: +![image](image/person_mask_ultra_node.jpg) +* face: 脸部识别。 +* hair: 头发识别。 +* body: 身体皮肤识别。 +* clothes: 衣服识别。 +* accessories: 配饰(例如背包)识别。 +* background: 背景识别。 +* confidence: 识别阈值,更低的值将输出更多的遮罩范围。 +* detail_range: 边缘细节范围。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 + +### PersonMaskUltraV2 +PersonMaskUltra的V2升级版,增加了VITMatte边缘处理方法。 + +在PersonMaskUltra的基础上做了如下改变: +![image](image/person_mask_ultra_v2_node.jpg) +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + + +### HumanPartsUltra +用于分割人体肢体,是基于[metal3d/ComfyUI_Human_Parts](https://github.com/metal3d/ComfyUI_Human_Parts) 的重新封装,感谢原作者。 +本节点在原作基础上增加了超精细边缘处理。请从[百度网盘](https://pan.baidu.com/s/1-6uwH6RB0FhIVfa3qO7hhQ?pwd=d862) 或 [huggingface](https://huggingface.co/Metal3d/deeplabv3p-resnet50-human/tree/main) 下载模型文件并复制到 ```ComfyUI\models\onnx\human-parts``` 文件夹。 +![image](image/human_parts_ultra_example.jpg) + +节点选项说明: +![image](image/human_parts_node.jpg) + +* image: 图片输入。 +* face: 是否识别人脸。 +* hair: 是否识别头发。 +* galsses: 是否识别眼镜。 +* top_clothes: 是否识别上装。 +* bottom_clothes: 是否识别下装。 +* torso_skin: 是否识别躯干皮肤。 +* left_arm: 是否识别左手臂。 +* right_arm: 是否识别右手臂。 +* left_leg: 是否识别左腿。 +* right_leg: 是否识别右腿。 +* left_foot: 是否识别左脚。 +* right_foot: 是否识别右脚。 +* detail_method: 边缘处理方法。提供了VITMatte, VITMatte(local), PyMatting, GuidedFilter。如果首次使用VITMatte后模型已经下载,之后可以使用VITMatte(local)。 +* detail_erode: 遮罩边缘向内侵蚀范围。数值越大,向内修复的范围越大。 +* detail_dilate: 遮罩边缘向外扩张范围。数值越大,向外修复的范围越大。 +* black_point: 边缘黑色采样阈值。 +* white_point: 边缘白色采样阈值。 +* process_detail: 此处设为False将跳过边缘处理以节省运行时间。 +* device: 设置是否使用cuda。 +* max_megapixels: 设置vitmatte运算的最大尺寸。 + + +### YoloV8Detect +使用YoloV8模型检测人脸、手部box区域,或者人物分割。支持输出所选择数量的通道。 +请在 [GoogleDrive](https://drive.google.com/drive/folders/1I5TISO2G1ArSkKJu1O9b4Uvj3DVgn5d2) 或者 [百度网盘](https://pan.baidu.com/s/1pEY6sjABQaPs6QtpK0q6XA?pwd=grqe) 下载模型文件并放到 ```ComfyUI/models/yolo``` 文件夹。 + +![image](image/yolov8_detect_example.jpg) + +节点选项说明: +![image](image/yolov8_detect_node.jpg) +* yolo_model: yolo模型选择。带有```seg```名字的模型可以输出分割的mask, 否则只能输出box区域的遮罩。 +* mask_merge: 选择合并的遮罩。```all```是合并全部遮罩输出。选数值是输出多少个遮罩,按识别置信度排序合并输出。 + +输出: +* mask: 输出的遮罩。 +* yolo_plot_image: yolo识别结果预览图。 +* yolo_masks: yolo识别出来的所有遮罩,每个单独的遮罩输出为一个mask。 + + +### MediapipeFacialSegment +使用Mediapipe模型检测人脸五官,分割左右眉、眼睛、嘴唇和牙齿。 +*从[百度网盘](https://pan.baidu.com/s/13zqZtBt89ueCyFufzUlcDg?pwd=jh5g) 下载模型文件并放到```ComfyUI/models/mediapipe```文件夹。 + +![image](image/mediapipe_facial_segment_example.jpg) + +节点选项说明: +![image](image/mediapipe_facial_segment_node.jpg) +* left_eye: 左眼识别开关。 +* left_eyebrow: 左眉识别开关。 +* right_eye: 右眼识别开关。 +* right_eyebrow: 右眉识别开关。 +* lips: 嘴唇识别开关。 +* tooth: 牙齿识别开关。 + + +### MaskByDifferent +计算两张图像不同之处,并输出为遮罩。 +![image](image/mask_by_different_example.jpg) + +节点选项说明: +![image](image/mask_by_different_node.jpg) +* gain: 计算增益。调高此值,微弱的差异将更显著的呈现。 +* fix_gap: 修补遮罩内部缝隙。更高的值将修补更大的缝隙。 +* fix_threshold: 修补阈值。 +* main_subject_detect: 此项设为True将开启主体侦测,忽略主体之外的差异。 + + + +## 节点注解 +1 image、mask和background_image(如果有输入)这三项必须是相同的尺寸。 + +2 mask不是必须的输入项,默认使用image的alpha通道,如果image输入不包含alpha通道将自动创建整个图像的alpha通道。如果输入mask,原本的alpha通道将被mask覆盖。 + +3 混合模式 包括normal、multply、screen、add、subtract、difference、darker、lighter、color_burn、color_dodge、linear_burn、linear_dodge、overlay、soft_light、hard_light、vivid_light、pin_light、linear_light、hard_mix, 共19种混合模式。 +![image](image/blend_mode_result.jpg) +*混合模式预览
+ + +3 混合模式V2 包括nomal, dissolve, darken, multiply, color burn, linear burn, darker color, lighten, screen, color dodge, linear dodge(add), lighter color, dodge, overlay, soft light, hard light, vivid light, linear light, pin light, hard mix, difference, exclusion, subtract, divide, hue, saturation, color, luminosity, grain extract, grain merge共30种模式。 +混合模式V2的部分代码来自[Virtuoso Nodes for ComfyUI](https://github.com/chrisfreilich/virtuoso-nodes)的```Blend Modes```节点。感谢原作者。 +![image](image/blend_mode_v2_example.jpg) +*混合模式V2版预览
+ +4 颜色使用16进制RGB字符串格式描述,例如 '#FA3D86'。 + +5 image和mask这两项必须是相同的尺寸。 + +## Star 记录 + +[![Star History Chart](https://api.star-history.com/svg?repos=chflame163/ComfyUI_LayerStyle_Advance&type=Date)](https://star-history.com/#chflame163/ComfyUI_LayerStyle_Advance&Date) + +## 声明 +LayerStyle Advance节点遵照MIT开源协议,有部分功能代码和模型来自其他开源项目,感谢原作者。如果作为商业用途,请查阅原项目授权协议使用。 diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..cec1e3d --- /dev/null +++ b/__init__.py @@ -0,0 +1,53 @@ +import importlib.util +import os +import sys +import json + +NODE_CLASS_MAPPINGS = {} +NODE_DISPLAY_NAME_MAPPINGS = {} + +python = sys.executable + +def get_ext_dir(subpath=None, mkdir=False): + dir = os.path.dirname(__file__) + if subpath is not None: + dir = os.path.join(dir, subpath) + + dir = os.path.abspath(dir) + + if mkdir and not os.path.exists(dir): + os.makedirs(dir) + return dir + +def serialize(obj): + if isinstance(obj, (str, int, float, bool, list, dict, type(None))): + return obj + return str(obj) # 转为字符串 + + +py = get_ext_dir("py") +files = os.listdir(py) +all_nodes = {} +for file in files: + if not file.endswith(".py"): + continue + name = os.path.splitext(file)[0] + imported_module = importlib.import_module(".py.{}".format(name), __name__) + try: + NODE_CLASS_MAPPINGS = {**NODE_CLASS_MAPPINGS, **imported_module.NODE_CLASS_MAPPINGS} + NODE_DISPLAY_NAME_MAPPINGS = {**NODE_DISPLAY_NAME_MAPPINGS, **imported_module.NODE_DISPLAY_NAME_MAPPINGS} + serialized_CLASS_MAPPINGS = {k: serialize(v) for k, v in imported_module.NODE_CLASS_MAPPINGS.items()} + serialized_DISPLAY_NAME_MAPPINGS = {k: serialize(v) for k, v in imported_module.NODE_DISPLAY_NAME_MAPPINGS.items()} + all_nodes[file]={"NODE_CLASS_MAPPINGS": serialized_CLASS_MAPPINGS, "NODE_DISPLAY_NAME_MAPPINGS": serialized_DISPLAY_NAME_MAPPINGS} + except: + pass + + +# 保存为文件 +with open("all_nodes.json", "w", encoding="utf-8") as f: + json.dump(all_nodes, f, ensure_ascii=False, indent=4) + + +WEB_DIRECTORY = "./js" + +__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"] diff --git a/api_key.ini.example b/api_key.ini.example new file mode 100644 index 0000000..3ed1f43 --- /dev/null +++ b/api_key.ini.example @@ -0,0 +1,2 @@ +# LayerStyle api_key +google_api_key= \ No newline at end of file diff --git a/custom_size.ini.example b/custom_size.ini.example new file mode 100644 index 0000000..fc8de0c --- /dev/null +++ b/custom_size.ini.example @@ -0,0 +1,10 @@ +# LayerStyle Custom_size +1024 x 1024 +768 x 512 +512 x 768 +1280 x 720 +720 x 1280 +1344 x 768 +768 x 1344 +1536 x 640 +640 x 1536 diff --git a/font/Alibaba-PuHuiTi-Heavy.ttf b/font/Alibaba-PuHuiTi-Heavy.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7eb047f4fa407b63012947b3651e5cb0f3394c75 GIT binary patch literal 2167400 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

txuVkRxzC^DG%IIIOU9;`{Kqv*N#z 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\vGj3wH&9`=N@JLUOC8AcS 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