https://github.com/lanvent/plugin_replicate
https://github.com/lanvent/plugin_replicate
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lanvent/plugin_replicate
- Owner: lanvent
- Created: 2023-04-07T06:56:24.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-20T10:53:35.000Z (over 1 year ago)
- Last Synced: 2025-01-12T19:43:25.001Z (4 months ago)
- Language: Python
- Size: 11.7 KB
- Stars: 36
- Watchers: 1
- Forks: 23
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-cow-plugins - lanvent/plugin_replicate
README
## 插件描述
本插件用于将画图请求转发给`replicate` api。
## 使用说明
在 [`Replicate`](https://replicate.com/)获取`API Token`,
将`config.json.template`复制为`config.json`,修改`API token`,并修改其中的参数和规则。
> 请**注意**,你需要满足每个`model`规定的`API`限制。
> 比如: [`anything-v3`](https://replicate.com/cjwbw/anything-v3-better-vae/api) 不支持384的长宽。`Railway`支持使用环境变量(`replicate_api_token`或`REPLICATE_API_TOKEN`)方式传递`API token`,
### 画图请求格式
> 2023.05.05 API中如果包含`model`/`version`参数,比如[maxim API](https://replicate.com/google-research/maxim),请使用`_model`和`_version`来表示这些参数,程序中会自动替换它们。
> 2023.04.09 新增图生图功能,如果关键词需要触发图片输入的模型,请在它的参数中添加```"image": ```
> 例如:[gfpgan](https://replicate.com/tencentarc/gfpgan/api)的图片上传参数是`img`,那么它的参数中应该添加```"image": "img"```
> 在触发该关键词后,插件会请求你发送一张图片。以下是另一个插件[`sdwebui`](https://github.com/lanvent/plugin_sdwebui)的说明,关键词覆盖的逻辑一样,先拿来用。
用户的画图请求格式为:
```
<画图触发词><关键词1> <关键词2> ... <关键词n>:
```- 本插件会对画图触发词后的关键词进行逐个匹配,如果触发了规则中的关键词,则会在画图请求中重载对应的参数。
- 规则的匹配顺序参考`config.json`中的顺序,每个关键词最多被匹配到1次,如果多个关键词触发了重复的参数,重复参数以最后一个关键词为准。
- 关键词中包含`help`或`帮助`,会打印出帮助文档。第一个"**:**"号之后的内容会作为附加的**prompt**,接在最终的prompt后。
例如: 画横版 高清 二次元:cat
会触发三个关键词 "横版", "高清", "二次元",prompt为"cat"
若默认参数是:
```json
"width": 512,
"height": 512,
"enable_hr": false,
"prompt": "8k"
"negative_prompt": "nsfw",
"sd_model_checkpoint": "perfectWorld_v2Baked"
```"横版"触发的规则参数为:
```json
"width": 640,
"height": 384,
```"高清"触发的规则参数为:
```json
"enable_hr": true,
"hr_scale": 1.6,
```"二次元"触发的规则参数为:
```json
"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后。
得到最终参数为:
```json
"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"
```