mirror of
https://github.com/KoboldAI/KoboldAI-Client.git
synced 2025-06-05 21:59:24 +02:00
39
aiserver.py
39
aiserver.py
@@ -9112,9 +9112,7 @@ def UI_2_generate_image(data):
|
||||
eventlet.sleep(0)
|
||||
|
||||
art_guide = '{}'.format(koboldai_vars.img_gen_art_guide)
|
||||
steps = '{}'.format(koboldai_vars.img_gen_steps)
|
||||
cfg_scale = '{}'.format(koboldai_vars.img_gen_cfg_scale)
|
||||
|
||||
print("Generating image using data:{} and art guide:{}".format(data,art_guide))
|
||||
#get latest action
|
||||
if len(koboldai_vars.actions) > 0:
|
||||
action = koboldai_vars.actions[-1]
|
||||
@@ -9193,11 +9191,11 @@ def UI_2_generate_image(data):
|
||||
|
||||
|
||||
@logger.catch
|
||||
def text2img_local(prompt, art_guide="", filename="new.png"):
|
||||
def text2img_local(prompt,
|
||||
art_guide="",
|
||||
filename="new.png"):
|
||||
start_time = time.time()
|
||||
logger.debug("Generating Image")
|
||||
steps = '{}'.format(koboldai_vars.img_gen_steps)
|
||||
cfg_scale = '{}'.format(koboldai_vars.img_gen_cfg_scale)
|
||||
koboldai_vars.aibusy = True
|
||||
koboldai_vars.generating_image = True
|
||||
from diffusers import StableDiffusionPipeline
|
||||
@@ -9214,7 +9212,7 @@ def text2img_local(prompt, art_guide="", filename="new.png"):
|
||||
from torch import autocast
|
||||
with autocast("cuda"):
|
||||
return pipe(prompt, num_inference_steps=num_inference_steps).images[0]
|
||||
image = tpool.execute(get_image, pipe, prompt, num_inference_steps=steps)
|
||||
image = tpool.execute(get_image, pipe, prompt, num_inference_steps=koboldai_vars.img_gen_steps)
|
||||
buffered = BytesIO()
|
||||
image.save(buffered, format="JPEG")
|
||||
img_str = base64.b64encode(buffered.getvalue()).decode('ascii')
|
||||
@@ -9235,11 +9233,8 @@ def text2img_local(prompt, art_guide="", filename="new.png"):
|
||||
|
||||
@logger.catch
|
||||
def text2img_horde(prompt,
|
||||
#art_guide = '{}'.format(koboldai_vars.img_gen_art_guide),
|
||||
art_guide = "",
|
||||
filename = "story_art.png"):
|
||||
steps = '{}'.format(koboldai_vars.img_gen_steps)
|
||||
cfg_scale = '{}'.format(koboldai_vars.img_gen_cfg_scale)
|
||||
logger.debug("Generating Image using Horde")
|
||||
koboldai_vars.generating_image = True
|
||||
|
||||
@@ -9255,8 +9250,8 @@ def text2img_horde(prompt,
|
||||
"nsfw": True,
|
||||
"sampler_name": "k_euler_a",
|
||||
"karras": True,
|
||||
"cfg_scale": cfg_scale,
|
||||
"steps":steps,
|
||||
"cfg_scale": koboldai_vars.img_gen_cfg_scale,
|
||||
"steps":koboldai_vars.img_gen_steps,
|
||||
"width":512,
|
||||
"height":512}
|
||||
}
|
||||
@@ -9286,11 +9281,8 @@ def text2img_horde(prompt,
|
||||
|
||||
@logger.catch
|
||||
def text2img_api(prompt,
|
||||
#art_guide = '{}'.format(koboldai_vars.img_gen_art_guide),
|
||||
art_guide = "",
|
||||
filename = "story_art.png"):
|
||||
steps = '{}'.format(koboldai_vars.img_gen_steps)
|
||||
cfg_scale = '{}'.format(koboldai_vars.img_gen_cfg_scale)
|
||||
logger.debug("Generating Image using Local SD-WebUI API")
|
||||
koboldai_vars.generating_image = True
|
||||
#The following list are valid properties with their defaults, to add/modify in final_imgen_params. Will refactor configuring values into UI element in future.
|
||||
@@ -9324,22 +9316,19 @@ def text2img_api(prompt,
|
||||
#"override_settings": {},
|
||||
#"sampler_index": "Euler"
|
||||
final_imgen_params = {
|
||||
"n": 1,
|
||||
"prompt": "{}, {}".format(prompt, art_guide),
|
||||
"n_iter": 1,
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"steps": steps,
|
||||
"cfg_scale": cfg_scale,
|
||||
"steps": koboldai_vars.img_gen_steps,
|
||||
"cfg_scale": koboldai_vars.img_gen_cfg_scale,
|
||||
"negative_prompt": "{}".format(koboldai_vars.img_gen_negative_prompt),
|
||||
"sampler_index": "Euler a"
|
||||
}
|
||||
|
||||
final_submit_dict = {
|
||||
"prompt": "{}, {}".format(prompt, art_guide),
|
||||
"params": final_imgen_params,
|
||||
}
|
||||
apiaddress = '{}/sdapi/v1/txt2img'.format(koboldai_vars.img_gen_api_url)
|
||||
payload_json = json.dumps(final_submit_dict)
|
||||
logger.debug(final_submit_dict)
|
||||
payload_json = json.dumps(final_imgen_params)
|
||||
logger.debug(final_imgen_params)
|
||||
#print("payload_json contains " + payload_json)
|
||||
submit_req = requests.post(url=f'{apiaddress}', data=payload_json).json()
|
||||
if submit_req:
|
||||
results = submit_req
|
||||
|
@@ -601,12 +601,12 @@ gensettingstf = [
|
||||
{
|
||||
"UI_V2_Only": True,
|
||||
"uitype": "slider",
|
||||
"unit": "int",
|
||||
"unit": "float",
|
||||
"label": "Cfg Scale",
|
||||
"id": "img_gen_cfg_scale",
|
||||
"min": 1,
|
||||
"max": 30,
|
||||
"step": 1,
|
||||
"step": 0.5,
|
||||
"default": "7",
|
||||
"tooltip": "Set how strictly the AI will follow prompts, 5-15 are good values.\nDefault:7",
|
||||
"menu_path": "Interface",
|
||||
|
@@ -997,7 +997,7 @@ class user_settings(settings):
|
||||
self.img_gen_art_guide = "fantasy illustration, artstation, by jason felix by steve argyle by tyler jacobson by peter mohrbacher, cinematic lighting"
|
||||
self.img_gen_negative_prompt = "lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name"
|
||||
self.img_gen_steps = 30
|
||||
self.img_gen_cfg_scale = 7
|
||||
self.img_gen_cfg_scale = 7.0
|
||||
self.cluster_requested_models = [] # The models which we allow to generate during cluster mode
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user