Skip to content

Commit 33020d8

Browse files
authored
perf: parallelize image loading in image_edits endpoint (open-webui#20911)
Use asyncio.gather() to load multiple images concurrently instead of sequentially, significantly reducing latency for multi-image edit operations.
1 parent 2c12278 commit 33020d8

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

backend/open_webui/routers/images.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -910,7 +910,8 @@ async def load_url_image(data):
910910
if isinstance(form_data.image, str):
911911
form_data.image = await load_url_image(form_data.image)
912912
elif isinstance(form_data.image, list):
913-
form_data.image = [await load_url_image(img) for img in form_data.image]
913+
# Load all images in parallel for better performance
914+
form_data.image = list(await asyncio.gather(*[load_url_image(img) for img in form_data.image]))
914915
except Exception as e:
915916
raise HTTPException(status_code=400, detail=ERROR_MESSAGES.DEFAULT(e))
916917

0 commit comments

Comments
 (0)