44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
|
from ..config import config
|
||
|
from .base import AIDRAW_BASE
|
||
|
|
||
|
class AIDRAW(AIDRAW_BASE):
|
||
|
"""队列中的单个请求"""
|
||
|
model: str = "nai-diffusion" if config.novelai_h else "safe-diffusion"
|
||
|
|
||
|
async def post(self):
|
||
|
# 获取请求体
|
||
|
header = {
|
||
|
"authorization": "Bearer " + config.novelai_token,
|
||
|
":authority": "https://api.novelai.net",
|
||
|
":path": "/ai/generate-image",
|
||
|
"content-type": "application/json",
|
||
|
"referer": "https://novelai.net",
|
||
|
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
|
||
|
}
|
||
|
post_api = "https://api.novelai.net/ai/generate-image"
|
||
|
for i in range(self.batch):
|
||
|
parameters = {
|
||
|
"width": self.width,
|
||
|
"height": self.height,
|
||
|
"qualityToggle": False,
|
||
|
"scale": self.scale,
|
||
|
"sampler": self.sampler,
|
||
|
"steps": self.steps,
|
||
|
"seed": self.seed[i],
|
||
|
"n_samples": 1,
|
||
|
"ucPreset": 0,
|
||
|
"uc": self.ntags,
|
||
|
}
|
||
|
if self.img2img:
|
||
|
parameters.update({
|
||
|
"image": self.image,
|
||
|
"strength": self.strength,
|
||
|
"noise": self.noise
|
||
|
})
|
||
|
json= {
|
||
|
"input": self.tags,
|
||
|
"model": self.model,
|
||
|
"parameters": parameters
|
||
|
}
|
||
|
await self.post_(header, post_api,json)
|
||
|
return self.result
|