gitextract_t_2nmh0z/ ├── .github/ │ ├── FUNDING.yml │ └── ISSUE_TEMPLATE/ │ ├── config.yml │ ├── 🐛-bug-report.md │ └── 🚀-feature-request.md ├── .gitignore ├── LICENSE ├── README.md ├── build_docker.sh ├── docker/ │ ├── CPUDockerfile │ └── GPUDockerfile ├── iopaint/ │ ├── __init__.py │ ├── __main__.py │ ├── api.py │ ├── batch_processing.py │ ├── benchmark.py │ ├── cli.py │ ├── const.py │ ├── download.py │ ├── file_manager/ │ │ ├── __init__.py │ │ ├── file_manager.py │ │ ├── storage_backends.py │ │ └── utils.py │ ├── helper.py │ ├── installer.py │ ├── model/ │ │ ├── __init__.py │ │ ├── anytext/ │ │ │ ├── __init__.py │ │ │ ├── anytext_model.py │ │ │ ├── anytext_pipeline.py │ │ │ ├── anytext_sd15.yaml │ │ │ ├── cldm/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cldm.py │ │ │ │ ├── ddim_hacked.py │ │ │ │ ├── embedding_manager.py │ │ │ │ ├── hack.py │ │ │ │ ├── model.py │ │ │ │ └── recognizer.py │ │ │ ├── ldm/ │ │ │ │ ├── __init__.py │ │ │ │ ├── models/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── autoencoder.py │ │ │ │ │ └── diffusion/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ddim.py │ │ │ │ │ ├── ddpm.py │ │ │ │ │ ├── dpm_solver/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── dpm_solver.py │ │ │ │ │ │ └── sampler.py │ │ │ │ │ ├── plms.py │ │ │ │ │ └── sampling_util.py │ │ │ │ ├── modules/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── attention.py │ │ │ │ │ ├── diffusionmodules/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── model.py │ │ │ │ │ │ ├── openaimodel.py │ │ │ │ │ │ ├── upscaling.py │ │ │ │ │ │ └── util.py │ │ │ │ │ ├── distributions/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── distributions.py │ │ │ │ │ ├── ema.py │ │ │ │ │ └── encoders/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── modules.py │ │ │ │ └── util.py │ │ │ ├── main.py │ │ │ ├── ocr_recog/ │ │ │ │ ├── RNN.py │ │ │ │ ├── RecCTCHead.py │ │ │ │ ├── RecModel.py │ │ │ │ ├── RecMv1_enhance.py │ │ │ │ ├── RecSVTR.py │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── en_dict.txt │ │ │ │ └── ppocr_keys_v1.txt │ │ │ └── utils.py │ │ ├── base.py │ │ ├── brushnet/ │ │ │ ├── __init__.py │ │ │ ├── brushnet.py │ │ │ ├── brushnet_unet_forward.py │ │ │ ├── brushnet_wrapper.py │ │ │ ├── brushnet_xl_wrapper.py │ │ │ ├── pipeline_brushnet.py │ │ │ ├── pipeline_brushnet_sd_xl.py │ │ │ └── unet_2d_blocks.py │ │ ├── controlnet.py │ │ ├── ddim_sampler.py │ │ ├── fcf.py │ │ ├── helper/ │ │ │ ├── __init__.py │ │ │ ├── controlnet_preprocess.py │ │ │ ├── cpu_text_encoder.py │ │ │ └── g_diffuser_bot.py │ │ ├── instruct_pix2pix.py │ │ ├── kandinsky.py │ │ ├── lama.py │ │ ├── ldm.py │ │ ├── manga.py │ │ ├── mat.py │ │ ├── mi_gan.py │ │ ├── opencv2.py │ │ ├── original_sd_configs/ │ │ │ ├── __init__.py │ │ │ ├── sd_xl_base.yaml │ │ │ ├── sd_xl_refiner.yaml │ │ │ ├── v1-inference.yaml │ │ │ └── v2-inference-v.yaml │ │ ├── paint_by_example.py │ │ ├── plms_sampler.py │ │ ├── power_paint/ │ │ │ ├── __init__.py │ │ │ ├── pipeline_powerpaint.py │ │ │ ├── power_paint.py │ │ │ ├── power_paint_v2.py │ │ │ ├── powerpaint_tokenizer.py │ │ │ └── v2/ │ │ │ ├── BrushNet_CA.py │ │ │ ├── __init__.py │ │ │ ├── pipeline_PowerPaint_Brushnet_CA.py │ │ │ ├── unet_2d_blocks.py │ │ │ └── unet_2d_condition.py │ │ ├── sd.py │ │ ├── sdxl.py │ │ ├── utils.py │ │ └── zits.py │ ├── model_manager.py │ ├── plugins/ │ │ ├── __init__.py │ │ ├── anime_seg.py │ │ ├── base_plugin.py │ │ ├── basicsr/ │ │ │ ├── LICENSE │ │ │ ├── __init__.py │ │ │ ├── arch_util.py │ │ │ ├── img_util.py │ │ │ └── rrdbnet_arch.py │ │ ├── briarmbg.py │ │ ├── briarmbg2.py │ │ ├── facexlib/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── detection/ │ │ │ │ ├── __init__.py │ │ │ │ ├── align_trans.py │ │ │ │ ├── matlab_cp2tform.py │ │ │ │ ├── retinaface.py │ │ │ │ ├── retinaface_net.py │ │ │ │ └── retinaface_utils.py │ │ │ ├── parsing/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bisenet.py │ │ │ │ ├── parsenet.py │ │ │ │ └── resnet.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── face_restoration_helper.py │ │ │ ├── face_utils.py │ │ │ └── misc.py │ │ ├── gfpgan/ │ │ │ ├── __init__.py │ │ │ └── archs/ │ │ │ ├── __init__.py │ │ │ ├── gfpganv1_clean_arch.py │ │ │ ├── restoreformer_arch.py │ │ │ └── stylegan2_clean_arch.py │ │ ├── gfpgan_plugin.py │ │ ├── gfpganer.py │ │ ├── interactive_seg.py │ │ ├── realesrgan.py │ │ ├── remove_bg.py │ │ ├── restoreformer.py │ │ ├── segment_anything/ │ │ │ ├── __init__.py │ │ │ ├── build_sam.py │ │ │ ├── modeling/ │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── image_encoder.py │ │ │ │ ├── image_encoder_hq.py │ │ │ │ ├── mask_decoder.py │ │ │ │ ├── prompt_encoder.py │ │ │ │ ├── sam.py │ │ │ │ ├── sam_hq.py │ │ │ │ ├── tiny_vit_sam.py │ │ │ │ └── transformer.py │ │ │ ├── predictor.py │ │ │ ├── predictor_hq.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ └── transforms.py │ │ └── segment_anything2/ │ │ ├── __init__.py │ │ ├── build_sam.py │ │ ├── modeling/ │ │ │ ├── __init__.py │ │ │ ├── backbones/ │ │ │ │ ├── __init__.py │ │ │ │ ├── hieradet.py │ │ │ │ ├── image_encoder.py │ │ │ │ └── utils.py │ │ │ ├── memory_attention.py │ │ │ ├── memory_encoder.py │ │ │ ├── position_encoding.py │ │ │ ├── sam/ │ │ │ │ ├── __init__.py │ │ │ │ ├── mask_decoder.py │ │ │ │ ├── prompt_encoder.py │ │ │ │ └── transformer.py │ │ │ ├── sam2_base.py │ │ │ └── sam2_utils.py │ │ ├── sam2_image_predictor.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── misc.py │ │ └── transforms.py │ ├── runtime.py │ ├── schema.py │ ├── tests/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── test_adjust_mask.py │ │ ├── test_anytext.py │ │ ├── test_brushnet.py │ │ ├── test_controlnet.py │ │ ├── test_instruct_pix2pix.py │ │ ├── test_load_img.py │ │ ├── test_low_mem.py │ │ ├── test_match_histograms.py │ │ ├── test_model.py │ │ ├── test_model_md5.py │ │ ├── test_model_switch.py │ │ ├── test_outpainting.py │ │ ├── test_paint_by_example.py │ │ ├── test_plugins.py │ │ ├── test_save_exif.py │ │ ├── test_save_quality.py │ │ ├── test_sd_model.py │ │ ├── test_sdxl.py │ │ └── utils.py │ └── web_config.py ├── main.py ├── publish.sh ├── requirements-dev.txt ├── requirements.txt ├── scripts/ │ ├── .gitignore │ ├── README.md │ ├── convert_vae_pt_to_diffusers.py │ ├── environment.yaml │ ├── pack.bat │ ├── pack.sh │ ├── tool.py │ └── user_scripts/ │ ├── win_config.bat │ ├── win_setup.bat │ ├── win_setup_cn.bat │ ├── win_start.bat │ ├── win_start_cn.bat │ └── win_update.bat ├── setup.py └── web_app/ ├── .eslintrc.cjs ├── .gitignore ├── README.md ├── components.json ├── index.html ├── package.json ├── postcss.config.js ├── src/ │ ├── App.tsx │ ├── components/ │ │ ├── Coffee.tsx │ │ ├── Cropper.tsx │ │ ├── DiffusionProgress.tsx │ │ ├── Editor.tsx │ │ ├── Extender.tsx │ │ ├── FileManager.tsx │ │ ├── FileSelect.tsx │ │ ├── Header.tsx │ │ ├── ImageSize.tsx │ │ ├── InteractiveSeg.tsx │ │ ├── Plugins.tsx │ │ ├── PromptInput.tsx │ │ ├── Settings.tsx │ │ ├── Shortcuts.tsx │ │ ├── SidePanel/ │ │ │ ├── CV2Options.tsx │ │ │ ├── DiffusionOptions.tsx │ │ │ ├── LDMOptions.tsx │ │ │ ├── LabelTitle.tsx │ │ │ └── index.tsx │ │ ├── Workspace.tsx │ │ └── ui/ │ │ ├── accordion.tsx │ │ ├── alert-dialog.tsx │ │ ├── button.tsx │ │ ├── context-menu.tsx │ │ ├── dialog.tsx │ │ ├── dropdown-menu.tsx │ │ ├── form.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── popover.tsx │ │ ├── progress.tsx │ │ ├── radio-group.tsx │ │ ├── scroll-area.tsx │ │ ├── select.tsx │ │ ├── separator.tsx │ │ ├── sheet.tsx │ │ ├── slider.tsx │ │ ├── switch.tsx │ │ ├── tabs.tsx │ │ ├── textarea.tsx │ │ ├── toast.tsx │ │ ├── toaster.tsx │ │ ├── toggle.tsx │ │ ├── tooltip.tsx │ │ └── use-toast.ts │ ├── globals.css │ ├── hooks/ │ │ ├── useAsyncMemo.tsx │ │ ├── useHotkey.tsx │ │ ├── useImage.tsx │ │ ├── useInputImage.tsx │ │ └── useResolution.tsx │ ├── lib/ │ │ ├── api.ts │ │ ├── const.ts │ │ ├── states.ts │ │ ├── types.ts │ │ └── utils.ts │ ├── main.tsx │ └── vite-env.d.ts ├── tailwind.config.js ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts