lanvent e6d148e729 plugins: add sdwebui(stable diffusion) plugin | 1年前 | |
---|---|---|
.. | ||
__init__.py | 1年前 | |
config.json.template | 1年前 | |
readme.md | 1年前 | |
sdwebui.py | 1年前 |
本插件用于将画图请求转发给stable diffusion webui 使用前先安装stable diffusion webui,并在它的启动参数中添加 “--api” 具体参考(https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/API)
请安装本插件的依赖包webuiapi
```pip install webuiapi```
请将config.json.template
复制为config.json
,并修改其中的参数和规则
用户的画图请求格式为:
<画图触发词><关键词1> <关键词2> ... <关键词n>:<prompt>
本插件会对画图触发词后的关键词进行逐个匹配,如果触发了规则中的关键词,则会在画图请求中重载对应的参数。 规则会按顺序匹配,每个关键词最多匹配到1次,如果有重复的参数,则以最后一个为准: 第一个”:“号之后的内容会作为附加的prompt,接在最终的prompt后
例如: 画横版 高清 二次元:cat 会触发三个关键词 “横版”, “高清”, “二次元”,prompt为”cat” 若默认参数是:
"width": 512,
"height": 512,
"enable_hr": false,
"prompt": "8k"
"negative_prompt": "nsfw",
"sd_model_checkpoint": "perfectWorld_v2Baked"
“横版”触发的规则参数为:
"width": 640,
"height": 384,
“高清”触发的规则参数为:
"enable_hr": true,
"hr_scale": 1.6,
“二次元”触发的规则参数为:
"negative_prompt": "(low quality, worst quality:1.4),(bad_prompt:0.8), (monochrome:1.1), (greyscale)",
"steps": 20,
"prompt": "masterpiece, best quality",
"sd_model_checkpoint": "meinamix_meinaV8"
最后将第一个”:“后的内容cat连接在prompt后,得到最终参数为:
"width": 640,
"height": 384,
"enable_hr": true,
"hr_scale": 1.6,
"negative_prompt": "(low quality, worst quality:1.4),(bad_prompt:0.8), (monochrome:1.1), (greyscale)",
"steps": 20,
"prompt": "masterpiece, best quality, cat",
"sd_model_checkpoint": "meinamix_meinaV8"
PS: 参数分为两部分, 一部分是params,为画画的参数;参数名必须与webuiapi包中txt2img api的参数名一致 另一部分是options,指sdwebui的设置,使用的模型和vae需要写在里面。它和http://127.0.0.1:7860/sdapi/v1/options所返回的键一致。