MTO-TCP / fooocusapi /parameters.py
ishworrsubedii's picture
Updated the latest changes
36cd99b
raw
history blame
3.56 kB
from typing import Dict, List, Tuple
import numpy as np
import copy
from fooocusapi.models.common.requests import AdvancedParams
class ImageGenerationParams:
def __init__(
self,
prompt: str,
negative_prompt: str,
style_selections: List[str],
performance_selection: str,
aspect_ratios_selection: str,
image_number: int,
image_seed: int | None,
sharpness: float,
guidance_scale: float,
base_model_name: str,
refiner_model_name: str,
refiner_switch: float,
loras: List[Tuple[str, float]],
uov_input_image: np.ndarray | None,
uov_method: str,
upscale_value: float | None,
outpaint_selections: List[str],
outpaint_distance_left: int,
outpaint_distance_right: int,
outpaint_distance_top: int,
outpaint_distance_bottom: int,
inpaint_input_image: Dict[str, np.ndarray] | None,
inpaint_additional_prompt: str | None,
image_prompts: List[Tuple[np.ndarray, float, float, str]],
advanced_params: List[any] | None,
save_extension: str,
save_meta: bool,
meta_scheme: str,
save_name: str,
require_base64: bool,
):
self.prompt = prompt
self.negative_prompt = negative_prompt
self.style_selections = style_selections
self.performance_selection = performance_selection
self.aspect_ratios_selection = aspect_ratios_selection
self.image_number = image_number
self.image_seed = image_seed
self.sharpness = sharpness
self.guidance_scale = guidance_scale
self.base_model_name = base_model_name
self.refiner_model_name = refiner_model_name
self.refiner_switch = refiner_switch
self.loras = loras
self.uov_input_image = uov_input_image
self.uov_method = uov_method
self.upscale_value = upscale_value
self.outpaint_selections = outpaint_selections
self.outpaint_distance_left = outpaint_distance_left
self.outpaint_distance_right = outpaint_distance_right
self.outpaint_distance_top = outpaint_distance_top
self.outpaint_distance_bottom = outpaint_distance_bottom
self.inpaint_input_image = inpaint_input_image
self.inpaint_additional_prompt = inpaint_additional_prompt
self.image_prompts = image_prompts
self.save_extension = save_extension
self.save_meta = save_meta
self.meta_scheme = meta_scheme
self.save_name = save_name
self.require_base64 = require_base64
self.advanced_params = advanced_params
if self.advanced_params is None:
self.advanced_params = AdvancedParams()
# Auto set mixing_image_prompt_and_inpaint to True
if len(self.image_prompts) > 0 and self.inpaint_input_image is not None:
print("Mixing Image Prompts and Inpaint Enabled")
self.advanced_params.mixing_image_prompt_and_inpaint = True
if len(self.image_prompts) > 0 and self.uov_input_image is not None:
print("Mixing Image Prompts and Vary Upscale Enabled")
self.advanced_params.mixing_image_prompt_and_vary_upscale = True
def to_dict(self):
"""
Convert the ImageGenerationParams object to a dictionary.
Args:
self:
Returns:
self to dict
"""
obj_dict = copy.deepcopy(self)
return obj_dict.__dict__