altoiddealer 0eea1acc6e Restore '/controlnet/control_types' API endpoint (#912)
Restores the '/controlnet/control_types' API endpoint, which is immensely useful for anyone using ControlNet via the API

## Description

I recently opened an Issue on the main ControlNet extension repo Mikubill/sd-webui-controlnet#2737 suggesting that they add a new API endpoint to allow users to retrieve filtered data based on a Control Type, just like in the UI.

I was both shocked and immensely disappointed when they finally replied, stating that the endpoint does already exist!

I understand that Forge is a massive overhaul to A1111, so perhaps this aspect was removed to get everything working, and then just never reimplemented.

Whatever the case, this endpoint is truly amazing for using ControlNet via API.  With only the 'models' and 'modules' endpoints, how the heck is someone to make a dynamic script?  They would essentially have to take a fat chunk of existing ControlNet code, plus these few added functions, just to filter the data appropriately.

I'm an amateur coder, at best, however I'm quite confident about this implementation.

This uses your existing functions as best as possible, I believe, including your filter list and the check for currently loaded SD model version.

Please merge this.

Thank you

## Screenshots/videos:

<img width="1136" alt="Restored" src="https://github.com/lllyasviel/stable-diffusion-webui-forge/assets/1613484/8996c3f2-27be-4405-b0cd-7f05f3eaa2d2">

[response_1714160176770.json](https://github.com/lllyasviel/stable-diffusion-webui-forge/files/15134692/response_1714160176770.json)

## Checklist:

- [X] I have read [contributing wiki page](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Contributing)
- [X] I have performed a self-review of my own code
- [X] My code follows the [style guidelines](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Contributing#code-style)
- [X] My code passes [tests](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Tests)
2024-08-01 12:48:30 -07:00
2024-08-01 12:27:20 -07:00
2024-07-26 12:02:46 -07:00
2022-09-30 14:16:26 +03:00
2024-07-26 12:02:46 -07:00
2024-08-01 12:27:20 -07:00
2024-07-26 07:20:29 -07:00
2024-07-31 21:10:19 -07:00
2024-08-01 12:27:20 -07:00
2024-07-26 12:02:46 -07:00
2024-07-26 12:02:46 -07:00
2024-07-26 12:02:46 -07:00
2024-07-29 17:55:44 -06:00
2024-07-27 06:47:04 -07:00
2023-08-21 15:27:04 +03:00
2024-01-25 17:02:35 -08:00
2023-04-03 15:23:35 -04:00
2023-01-15 09:24:48 +03:00
2024-07-26 12:02:46 -07:00
2024-07-29 08:20:13 -06:00
2024-01-31 12:29:58 +08:00
2024-07-31 19:04:02 -07:00
2024-07-26 12:02:46 -07:00
2023-01-07 13:30:06 +03:00
2024-07-26 12:02:46 -07:00
2024-07-26 12:02:46 -07:00
2024-07-26 12:02:46 -07:00
2024-07-26 12:02:46 -07:00
2024-07-26 12:02:46 -07:00
2024-07-26 12:02:46 -07:00

Stable Diffusion WebUI Forge

Stable Diffusion WebUI Forge is a platform on top of Stable Diffusion WebUI (based on Gradio) to make development easier, optimize resource management, speed up inference, and study experimental features.

The name "Forge" is inspired from "Minecraft Forge". This project is aimed at becoming SD WebUI's Forge.

Forge is currently based on SD-WebUI 1.10.1 at this commit.

Installing Forge

If you are proficient in Git and you want to install Forge as another branch of SD-WebUI, please see here. In this way, you can reuse all SD checkpoints and all extensions you installed previously in your OG SD-WebUI, but you should know what you are doing.

If you know what you are doing, you can install Forge using same method as SD-WebUI. (Install Git, Python, Git Clone the forge repo https://github.com/lllyasviel/stable-diffusion-webui-forge.git and then run webui-user.bat).

Or you can just use this one-click installation package (with git and python included).

>>> Click Here to Download One-Click Package <<<

After you download, you uncompress, use update.bat to update, and use run.bat to run.

Note that running update.bat is important, otherwise you may be using a previous version with potential bugs unfixed.

image

Previous Versions

You can download previous versions here.

Forge Status

Based on manual test one-by-one:

Component Status Last Test
Basic Diffusion Normal 2024 July 27
GPU Memory Management System Normal 2024 July 27
LoRAs Normal 2024 July 27
All Preprocessors Normal 2024 July 27
All ControlNets Normal 2024 July 27
All IP-Adapters Normal 2024 July 27
All Instant-IDs Normal 2024 July 27
All Reference-only Methods Normal 2024 July 27
All Integrated Extensions Normal 2024 July 27
Popular Extensions (Adetailer, etc) Normal 2024 July 27
Gradio 4 UIs Normal 2024 July 27
Gradio 4 Forge Canvas Normal 2024 July 27
LoRA/Checkpoint Selection UI for Gradio 4 Normal 2024 July 27
Photopea/OpenposeEditor/etc for ControlNet Normal 2024 July 27
Wacom 128 level touch pressure support for Canvas Normal 2024 July 15
Microsoft Surface touch pressure support for Canvas Broken, pending fix 2024 July 29

Feel free to open issue if anything is broken and I will take a look every several days. If I do not update this "Forge Status" then it means I cannot reproduce any problem. In that case, fresh re-install should help most.

Under Construction

This Readme is under construction ... more docs/wiki coming soon ...

Description
No description provided
Readme Cite this repository 138 MiB
Languages
Python 94.2%
JavaScript 1.9%
Cuda 1.7%
C++ 0.9%
CSS 0.6%
Other 0.6%