UPDATE: API instruction
+ VersionUP (beta; alpha passed)
This commit is contained in:
parent
6bc53c1501
commit
ac78afe904
71
API.md
Normal file
71
API.md
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# <div align="center">ReActor Extension API</div>
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
|
||||||
|
[Built-in SD WebUI API](#built-in-sd-webui-api) | [External ReActor API](#external-reactor-api)
|
||||||
|
|
||||||
|
---
|
||||||
|
</div>
|
||||||
|
|
||||||
|
Gourieff's **ReActor** SD WebUI Extension allows to operate via API: both built-in and external (POST and GET requests).
|
||||||
|
|
||||||
|
|
||||||
|
## Built-in SD WebUI API
|
||||||
|
|
||||||
|
This API is actual if you use Automatic1111 stable-diffusion-webui.
|
||||||
|
|
||||||
|
First of all - check the [SD Web API Wiki](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/API) for how to use the API.
|
||||||
|
|
||||||
|
* Call `requests.get(url=f'{address}/sdapi/v1/script-info')` to find the args that ReActor needs;
|
||||||
|
* Define ReActor script args and add like this `"alwayson_scripts": {"reactor":{"args":args}}` in the payload;
|
||||||
|
* Call the API.
|
||||||
|
|
||||||
|
You can find the [full usage example](./example/api_example.py) with all the available parameters and discriptions in the "example" folder.
|
||||||
|
|
||||||
|
## External ReActor API
|
||||||
|
|
||||||
|
ReActor extension supports for external calls via POST or GET requests while your SD WebUI server is working.
|
||||||
|
|
||||||
|
> :warning: Source and Target images must be "base64".
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
curl -X POST \
|
||||||
|
'http://127.0.0.1:7860/reactor/image' \
|
||||||
|
-H 'accept: application/json' \
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{
|
||||||
|
"source_image": "data:image/png;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/7g...",
|
||||||
|
"target_image": "data:image/png;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABCAAD/7g...",
|
||||||
|
"source_faces_index": [0],
|
||||||
|
"face_index": [0],
|
||||||
|
"upscaler": "4x_Struzan_300000",
|
||||||
|
"scale": 2,
|
||||||
|
"upscale_visibility": 1,
|
||||||
|
"face_restorer": "CodeFormer",
|
||||||
|
"restorer_visibility": 1,
|
||||||
|
"restore_first": 1,
|
||||||
|
"model": "inswapper_128.onnx",
|
||||||
|
"gender_source": 0,
|
||||||
|
"gender_target": 0,
|
||||||
|
"save_to_file": 0,
|
||||||
|
"result_file_path": ""
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
* Set `"upscaler"` to `"None"` and `"scale"` to `1` if you don't need to upscale;
|
||||||
|
* Set `"save_to_file"` to `1` if you need to save result to a file;
|
||||||
|
* `"result_file_path"` is set to the `"outputs/api"` folder by default (please, create the folder beforehand to avoid any errors) with a timestamped filename ;(output_YYYY-MM-DD_hh-mm-ss), you can set any specific path, e.g. `"C:/stable-diffusion-webui/outputs/api/output.png"`.
|
||||||
|
|
||||||
|
You can find full usage examples with all the available parameters in the "example" folder: [cURL](./example/api_external.curl), [JSON](./example/api_external.json).
|
||||||
|
|
||||||
|
As a result you recieve a "base64" image:
|
||||||
|
|
||||||
|
```
|
||||||
|
{"image":"iVBORw0KGgoAAAANSUhEUgAABlAAAARQCAIAAAAdiYuqAAEAAElEQVR4nOz9+ZMlSXImBn6qau4vIjKzzr5wzwBCDrm/7f+/K7IHV3ZkhUIuyZHlkBhiMGig0Y0..."}
|
||||||
|
```
|
||||||
|
|
||||||
|
A list of available models can be seen by GET:
|
||||||
|
* http://127.0.0.1:7860/reactor/models
|
||||||
|
* http://127.0.0.1:7860/reactor/upscalers
|
||||||
15
README.md
15
README.md
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# <div align="center">ReActor 0.4.0a for StableDiffusion</div>
|
# <div align="center">ReActor 0.4.0b for StableDiffusion</div>
|
||||||
### The Fast and Simple "[roop-based](https://github.com/s0md3v/sd-webui-roop)" FaceSwap Extension with a lot of improvements and without NSFW filter (uncensored, use it on your own [responsibility](#disclaimer))
|
### The Fast and Simple "[roop-based](https://github.com/s0md3v/sd-webui-roop)" FaceSwap Extension with a lot of improvements and without NSFW filter (uncensored, use it on your own [responsibility](#disclaimer))
|
||||||
|
|
||||||
> Ex "Roop-GE" (GE - Gourieff Edition, aka "NSFW-Roop"), the extension was renamed with the version 0.3.0<br>
|
> Ex "Roop-GE" (GE - Gourieff Edition, aka "NSFW-Roop"), the extension was renamed with the version 0.3.0<br>
|
||||||
@ -17,7 +17,7 @@
|
|||||||
---
|
---
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<b>
|
<b>
|
||||||
<a href="#installation">Installation</a> | <a href="#usage">Usage</a> | <a href="#troubleshooting">Troubleshooting</a> | <a href="#updating">Updating</a> | <a href="#comfyui">ComfyUI</a> | <a href="#disclaimer">Disclaimer</a>
|
<a href="#installation">Installation</a> | <a href="#usage">Usage</a> | <a href="#api">API</a> | <a href="#troubleshooting">Troubleshooting</a> | <a href="#updating">Updating</a> | <a href="#comfyui">ComfyUI</a> | <a href="#disclaimer">Disclaimer</a>
|
||||||
</b>
|
</b>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -91,11 +91,6 @@
|
|||||||
|
|
||||||
<img src="example/example.jpg" alt="example" width="808"/>
|
<img src="example/example.jpg" alt="example" width="808"/>
|
||||||
|
|
||||||
**You can use ReActor with Webui API:**
|
|
||||||
1. Check the [SD Web API Wiki](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/API) for how to use API;
|
|
||||||
2. Call `requests.get(url=f'{address}/sdapi/v1/script-info')` to find the args that ReActor needs;
|
|
||||||
3. Define ReActor script args and add like this `"alwayson_scripts": {"reactor":{"args":args}}` in the payload;
|
|
||||||
4. Call the API, there's a [full usage example](./example/api_example.py) in the example folder.
|
|
||||||
|
|
||||||
### The result face is blurry
|
### The result face is blurry
|
||||||
Use the "Restore Face" option. You can also try the "Upscaler" option or for more finer control, use an upscaler from the "Extras" tab.
|
Use the "Restore Face" option. You can also try the "Upscaler" option or for more finer control, use an upscaler from the "Extras" tab.
|
||||||
@ -119,6 +114,12 @@ You can choose to activate the swap on the source image or on the generated imag
|
|||||||
|
|
||||||
Inpainting should work but only the masked part will be swapped.
|
Inpainting should work but only the masked part will be swapped.
|
||||||
|
|
||||||
|
## API
|
||||||
|
|
||||||
|
You can use ReActor with the built-in Webui API or via an external API.
|
||||||
|
|
||||||
|
Please follow **[this](/API.md)** page for the detailed instruction.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
**I. "You should at least have one model in models directory"**
|
**I. "You should at least have one model in models directory"**
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
app_title = "ReActor"
|
app_title = "ReActor"
|
||||||
version_flag = "v0.4.0a"
|
version_flag = "v0.4.0b"
|
||||||
|
|
||||||
from scripts.logger import logger, get_Run, set_Run
|
from scripts.logger import logger, get_Run, set_Run
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user