Browse Source

allowing auto on gpt-image-1

Lucas Teixeira 5 days ago
parent
commit
95610080fb
1 changed files with 15 additions and 2 deletions
  1. 15 2
      backend/open_webui/routers/images.py

+ 15 - 2
backend/open_webui/routers/images.py

@@ -303,8 +303,14 @@ async def update_image_config(
 ):
     set_image_model(request, form_data.MODEL)
 
+    if (form_data.IMAGE_SIZE == "auto" and form_data.MODEL != 'gpt-image-1'):
+        raise HTTPException(
+            status_code=400,
+            detail=ERROR_MESSAGES.INCORRECT_FORMAT("  (auto is only allowed with gpt-image-1).")
+        )
+
     pattern = r"^\d+x\d+$"
-    if re.match(pattern, form_data.IMAGE_SIZE):
+    if form_data.IMAGE_SIZE == "auto" or re.match(pattern, form_data.IMAGE_SIZE):
         request.app.state.config.IMAGE_SIZE = form_data.IMAGE_SIZE
     else:
         raise HTTPException(
@@ -472,7 +478,14 @@ async def image_generations(
     form_data: GenerateImageForm,
     user=Depends(get_verified_user),
 ):
-    width, height = tuple(map(int, request.app.state.config.IMAGE_SIZE.split("x")))
+    # if IMAGE_SIZE = 'auto', default WidthxHeight to the 512x512 default
+    # This is only relevant when the user has set IMAGE_SIZE to 'auto' with an
+    # image model other than gpt-image-1, which is warned about on settings save
+    width, height = (
+        tuple(map(int, request.app.state.config.IMAGE_SIZE.split("x")))
+        if 'x' in request.app.state.config.IMAGE_SIZE
+        else (512, 512)
+    )
 
     r = None
     try: