mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 10:58:17 -05:00
[PR #20007] [CLOSED] feat/perf: Convert user input images from base64 to file URLs #48473
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/20007
Author: @Classic298
Created: 12/17/2025
Status: ❌ Closed
Base:
dev← Head:image_url📝 Commits (8)
73733feMerge pull request open-webui#19030 from open-webui/dev (#109)a0d62c8Update env.py0ad1f51Merge pull request open-webui#19030 from open-webui/dev (#111)72dbd76Claude/analyze image storage w vojf (#112)210fa38Claude/analyze image storage w vojf (#113)3a98415Claude/analyze image storage w vojf (#114)57e27bfMerge branch 'dev' into image_url697633aMerge branch 'dev' into image_url📊 Changes
6 files changed (+96 additions, -10 deletions)
View changed files
📝
backend/open_webui/env.py(+5 -0)📝
backend/open_webui/models/chats.py(+42 -0)📝
backend/open_webui/models/users.py(+2 -1)📝
backend/open_webui/retrieval/utils.py(+2 -1)📝
backend/open_webui/routers/chats.py(+16 -8)📝
backend/open_webui/utils/files.py(+29 -0)📄 Description
Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions to discuss your idea/fix with the community before creating a pull request, and describe your changes before submitting a pull request.
This is to ensure large feature PRs are discussed with the community first, before starting work on it. If the community does not want this feature or it is not relevant for Open WebUI as a project, it can be identified in the discussion before working on the feature and submitting the PR.
Before submitting, make sure you've checked the following:
devbranch. Not targeting thedevbranch will lead to immediate closure of the PR.Changelog Entry
Description
Converts user input images from base64 to file URLs, fixing #13122. Reduces session payload sizes from 100MB+ to <1MB for image-heavy chats, enables browser caching, and improves load times from several seconds to under one second.
Added
Fixed
Additional Information
Backward compatibility: Existing chats work unchanged. Conversion applies only to new/updated chats. Disable via ENABLE_CHAT_INPUT_BASE64_IMAGE_URL_CONVERSION=False.
Security: Uses existing file access control (user ownership, admin access, knowledge base/channel sharing).
Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.