Commit 03636760 authored by gd1551's avatar gd1551 Committed by GitHub

feat: divide resolution by two and fix if advanced sd

parent e2744fb4
...@@ -34,6 +34,12 @@ defaults = { ...@@ -34,6 +34,12 @@ defaults = {
'dalle-mini': (dalle_mini_defaults, dalle_mini_forced_defaults), 'dalle-mini': (dalle_mini_defaults, dalle_mini_forced_defaults),
} }
def closest_multiple(num, mult):
num_int = int(num)
floor = math.floor(num_int / mult) * mult
ceil = math.ceil(num_int / mult) * mult
return floor if (num_int - floor) < (ceil - num_int) else ceil
def sanitize_stable_diffusion(request): def sanitize_stable_diffusion(request):
if request.width * request.height == 0: if request.width * request.height == 0:
return False, "width and height must be non-zero" return False, "width and height must be non-zero"
...@@ -65,6 +71,10 @@ def sanitize_stable_diffusion(request): ...@@ -65,6 +71,10 @@ def sanitize_stable_diffusion(request):
if request.noise < 0.0 or request.noise > 1.0: if request.noise < 0.0 or request.noise > 1.0:
return False, "noise should be more than 0.0 and less than 1.0" return False, "noise should be more than 0.0 and less than 1.0"
if request.advanced:
request.width = closest_multiple(request.width // 2, 64)
request.height = closest_multiple(request.height // 2, 64)
return True, request return True, request
def sanitize_dalle_mini(request): def sanitize_dalle_mini(request):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment