diff --git a/model_presets.toml b/model_presets.toml index 98e3122..7130dcc 100644 --- a/model_presets.toml +++ b/model_presets.toml @@ -14,6 +14,14 @@ Detailed Prompting Guide: - Sampler: Works well with DPM++ 2M SDE. """ "Resolution Set" = "sdxl" -"CFG Scale" = 6.0 -"Sampling Steps" = 28 -"Sampling Method" = "DPM++ 2M SDE" +"CFG Scale" = 4.0 +"Hires. fix" = true +"Denoising strength" = 0.5 +"Upscale by" = 1.5 +"Upscaler" = "Lanczos" +"Hires steps" = 16 +"Hires CFG Scale" = 4.0 +"Sampling Steps" = 32 +"Sampling Method" = "Euler a" +"Schedule Type" = "Uniform" +"Rescale CFG" = 0.3 diff --git a/tools/__init__.py b/tools/__init__.py index 2531be8..f84c744 100644 --- a/tools/__init__.py +++ b/tools/__init__.py @@ -148,10 +148,7 @@ TOOL_REGISTRY = [ "prompt": {"type": "string", "description": "The prompt for the image. Required."}, "negative_prompt": {"type": "string", "description": "The negative prompt to exclude unwanted elements."}, "resolution_preset": {"type": "string", "description": "A named resolution preset (e.g., 'square', 'portrait'). Available options depend on the model."}, - "steps": {"type": "integer", "description": "Number of sampling steps."}, "cfg_scale": {"type": "number", "description": "CFG scale for prompt adherence."}, - "seed": {"type": "number", "description": "Random seed for reproducibility. Use -1 for random."}, - "sampler": {"type": "string", "description": "The sampling method to use."}, }, "required": ["model_name", "prompt"], }, diff --git a/tools/generate_image.py b/tools/generate_image.py index f7e670b..6ed7faf 100644 --- a/tools/generate_image.py +++ b/tools/generate_image.py @@ -92,10 +92,7 @@ async def handle(args: Dict[str, Any]) -> List[Dict[str, Any]]: overrides = { "prompt": "Prompt", "negative_prompt": "Negative Prompt", - "steps": "Sampling Steps", "cfg_scale": "CFG Scale", - "seed": "Seed", - "sampler": "Sampling Method" } for arg_key, label in overrides.items(): @@ -105,13 +102,16 @@ async def handle(args: Dict[str, Any]) -> List[Dict[str, Any]]: if "Prompt" in label_map: payload[label_map["Prompt"]] = prompt + if "Seed" in label_map: + payload[label_map["Seed"]] = -1 + for _ in range(7): payload.insert(39, None) # 6. EXECUTE GENERATION try: gen_payload = {"data": payload} - gen_resp = requests.post(f"{SD_URL}/api/txt2img", json=gen_payload, timeout=300) + gen_resp = requests.post(f"{config.SD_URL}/api/txt2img", json=gen_payload, timeout=300) gen_resp.raise_for_status() res_data = gen_resp.json()