mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-15 21:19:39 -05:00
[GH-ISSUE #14584] issue: Pasting Image in UI results in "Error: expected string or bytes-like object, got 'list'" #120617
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?
Originally created by @nem0nic on GitHub (Jun 1, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/14584
Check Existing Issues
Installation Method
Docker
Open WebUI Version
0.6.13
Ollama Version (if applicable)
0.9.0
Operating System
Fedora
Browser (if applicable)
Chrome and Firefox
Confirmation
README.md.Expected Behavior
When pasting images, Open WebUI should be able to decode the image and pass it to the model for analysis
Actual Behavior
Error: expected string or bytes-like object, got 'list'
Steps to Reproduce
Paste image into any chat. Doesn't matter what model or what image format.
Logs & Screenshots
`2025-06-01T19:50:38.841857578Z ERROR[FUNC:TIME_AWARENESS]127:2025-06-01 19:50:38,841: Error in <function Filter.inlet at 0x7f9581fd4ae0>: expected string or bytes-like object, got 'list'
2025-06-01T19:50:38.841876544Z Traceback (most recent call last):
2025-06-01T19:50:38.841878679Z File "", line 125, in _wrapper
2025-06-01T19:50:38.841880633Z File "", line 274, in inlet
2025-06-01T19:50:38.841882225Z File "", line 433, in add_or_update_filter_context
2025-06-01T19:50:38.841883748Z File "/usr/local/lib/python3.11/site-packages/bs4/init.py", line 462, in init
2025-06-01T19:50:38.841885271Z for (
2025-06-01T19:50:38.841886644Z File "/usr/local/lib/python3.11/site-packages/bs4/builder/_lxml.py", line 281, in prepare_markup
2025-06-01T19:50:38.841888397Z for encoding in detector.encodings:
2025-06-01T19:50:38.841889780Z File "/usr/local/lib/python3.11/site-packages/bs4/dammit.py", line 623, in encodings
2025-06-01T19:50:38.841891293Z self.declared_encoding = self.find_declared_encoding(
2025-06-01T19:50:38.841892765Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-06-01T19:50:38.841894168Z File "/usr/local/lib/python3.11/site-packages/bs4/dammit.py", line 722, in find_declared_encoding
2025-06-01T19:50:38.841895631Z declared_encoding_match = xml_re.search(markup, endpos=xml_endpos)
2025-06-01T19:50:38.841897025Z ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-06-01T19:50:38.841898427Z TypeError: expected string or bytes-like object, got 'list'
2025-06-01T19:50:38.845341718Z 2025-06-01 19:50:38.841 | ERROR | function_get_current_time:_wrapper:127 - Error in <function Filter.inlet at 0x7f9581fd4ae0>: expected string or bytes-like object, got 'list' - {}
2025-06-01T19:50:38.845352267Z Traceback (most recent call last):
2025-06-01T19:50:38.845354151Z
2025-06-01T19:50:38.845355584Z File "", line 198, in _run_module_as_main
2025-06-01T19:50:38.845357137Z File "", line 88, in _run_code
2025-06-01T19:50:38.845358691Z File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 4, in
2025-06-01T19:50:38.845360264Z uvicorn.main()
2025-06-01T19:50:38.845371204Z │ └
2025-06-01T19:50:38.845373238Z └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/init.py'>
2025-06-01T19:50:38.845374851Z File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1442, in call
2025-06-01T19:50:38.845376414Z return self.main(*args, **kwargs)
2025-06-01T19:50:38.845377837Z │ │ │ └ {}
2025-06-01T19:50:38.845379251Z │ │ └ ()
2025-06-01T19:50:38.845380653Z │ └ <function Command.main at 0x7f9611ac2700>
2025-06-01T19:50:38.845382146Z └
2025-06-01T19:50:38.845383558Z File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1363, in main
2025-06-01T19:50:38.845385011Z rv = self.invoke(ctx)
2025-06-01T19:50:38.845386373Z │ │ └ <click.core.Context object at 0x7f961284c990>
2025-06-01T19:50:38.845388016Z │ └ <function Command.invoke at 0x7f9611ac23e0>
2025-06-01T19:50:38.845389659Z └
2025-06-01T19:50:38.845391343Z File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1226, in invoke
2025-06-01T19:50:38.845392905Z return ctx.invoke(self.callback, **ctx.params)
2025-06-01T19:50:38.845394319Z │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
2025-06-01T19:50:38.845395932Z │ │ │ │ └ <click.core.Context object at 0x7f961284c990>
2025-06-01T19:50:38.845397414Z │ │ │ └ <function main at 0x7f9611780c20>
2025-06-01T19:50:38.845398858Z │ │ └
2025-06-01T19:50:38.845400291Z │ └ <function Context.invoke at 0x7f9611ac1620>
2025-06-01T19:50:38.845401723Z └ <click.core.Context object at 0x7f961284c990>
2025-06-01T19:50:38.845403146Z File "/usr/local/lib/python3.11/site-packages/click/core.py", line 794, in invoke
2025-06-01T19:50:38.845404579Z return callback(*args, **kwargs)
2025-06-01T19:50:38.845406383Z │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
2025-06-01T19:50:38.845407986Z │ └ ()
2025-06-01T19:50:38.845409358Z └ <function main at 0x7f9611780c20>
2025-06-01T19:50:38.845410760Z File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 412, in main
2025-06-01T19:50:38.845412223Z run(
2025-06-01T19:50:38.845413566Z └ <function run at 0x7f9611b9f740>
2025-06-01T19:50:38.845417654Z File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 579, in run
2025-06-01T19:50:38.845419167Z server.run()
2025-06-01T19:50:38.845420519Z │ └ <function Server.run at 0x7f9611a20860>
2025-06-01T19:50:38.845421962Z └ <uvicorn.server.Server object at 0x7f9611ba3ad0>
2025-06-01T19:50:38.845423375Z File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 66, in run
2025-06-01T19:50:38.845424788Z return asyncio.run(self.serve(sockets=sockets))
2025-06-01T19:50:38.845426181Z │ │ │ │ └ None
2025-06-01T19:50:38.845427613Z │ │ │ └ <function Server.serve at 0x7f9611a20900>
2025-06-01T19:50:38.845429086Z │ │ └ <uvicorn.server.Server object at 0x7f9611ba3ad0>
2025-06-01T19:50:38.845430528Z │ └ <function run at 0x7f9611ef5300>
2025-06-01T19:50:38.845431941Z └ <module 'asyncio' from '/usr/local/lib/python3.11/asyncio/init.py'>
2025-06-01T19:50:38.845433404Z File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
2025-06-01T19:50:38.845434887Z return runner.run(main)
2025-06-01T19:50:38.845436360Z │ │ └ <coroutine object Server.serve at 0x7f96119408b0>
2025-06-01T19:50:38.845437853Z │ └ <function Runner.run at 0x7f9611d68ea0>
2025-06-01T19:50:38.845439306Z └ <asyncio.runners.Runner object at 0x7f9611787350>
2025-06-01T19:50:38.845440748Z File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
2025-06-01T19:50:38.845442181Z return self._loop.run_until_complete(task)
2025-06-01T19:50:38.845443574Z │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:70> wai...
2025-06-01T19:50:38.845445227Z │ │ └ <cyfunction Loop.run_until_complete at 0x7f961176b370>
2025-06-01T19:50:38.845446660Z │ └ <uvloop.Loop running=True closed=False debug=False>
2025-06-01T19:50:38.845448103Z └ <asyncio.runners.Runner object at 0x7f9611787350>
2025-06-01T19:50:38.845449565Z File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 141, in coro
2025-06-01T19:50:38.845451038Z await self.app(scope, receive_or_disconnect, send_no_error)
2025-06-01T19:50:38.845452580Z │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9583102f20>
2025-06-01T19:50:38.845454284Z │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845455917Z │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845459726Z │ └ <starlette_compress.CompressMiddleware object at 0x7f9610b65bc0>
2025-06-01T19:50:38.845461228Z └ <open_webui.main.RedirectMiddleware object at 0x7f95883a31d0>
2025-06-01T19:50:38.845462671Z File "/usr/local/lib/python3.11/site-packages/starlette_compress/init.py", line 92, in call
2025-06-01T19:50:38.845464153Z return await self._zstd(scope, receive, send)
2025-06-01T19:50:38.845465536Z │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7f9583102f20>
2025-06-01T19:50:38.845467159Z │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845468742Z │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845470235Z │ └ <member '_zstd' of 'CompressMiddleware' objects>
2025-06-01T19:50:38.845471668Z └ <starlette_compress.CompressMiddleware object at 0x7f9610b65bc0>
2025-06-01T19:50:38.845473111Z File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 100, in call
2025-06-01T19:50:38.845474573Z await self.app(scope, receive, wrapper)
2025-06-01T19:50:38.845475956Z │ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7f9583103380>
2025-06-01T19:50:38.845477509Z │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845479083Z │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845480575Z │ └ <member 'app' of 'ZstdResponder' objects>
2025-06-01T19:50:38.845481988Z └ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7f9588093780>
2025-06-01T19:50:38.845483631Z File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in call
2025-06-01T19:50:38.845485123Z await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
2025-06-01T19:50:38.845486547Z │ │ │ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7f9583103380>
2025-06-01T19:50:38.845488190Z │ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845489843Z │ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845493770Z │ │ │ └ <starlette.requests.Request object at 0x7f956cab0750>
2025-06-01T19:50:38.845495343Z │ │ └ <fastapi.routing.APIRouter object at 0x7f95c5b73250>
2025-06-01T19:50:38.845496806Z │ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7f95cd4ddcd0>
2025-06-01T19:50:38.845498299Z └ <function wrap_app_handling_exceptions at 0x7f960eb54e00>
2025-06-01T19:50:38.845499723Z File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
2025-06-01T19:50:38.845501185Z await app(scope, receive, sender)
2025-06-01T19:50:38.845502568Z │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9583103d80>
2025-06-01T19:50:38.845504160Z │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845505744Z │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845507226Z └ <fastapi.routing.APIRouter object at 0x7f95c5b73250>
2025-06-01T19:50:38.845508649Z File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
2025-06-01T19:50:38.845510102Z await self.middleware_stack(scope, receive, send)
2025-06-01T19:50:38.845511484Z │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9583103d80>
2025-06-01T19:50:38.845513238Z │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845515051Z │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845516614Z │ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7f95c5b73250>>
2025-06-01T19:50:38.845518208Z └ <fastapi.routing.APIRouter object at 0x7f95c5b73250>
2025-06-01T19:50:38.845519670Z File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
2025-06-01T19:50:38.845521273Z await route.handle(scope, receive, send)
2025-06-01T19:50:38.845523809Z │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9583103d80>
2025-06-01T19:50:38.845525912Z │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845530541Z │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845532505Z │ └ <function Route.handle at 0x7f960eb56480>
2025-06-01T19:50:38.845534308Z └ APIRoute(path='/api/chat/completions', name='chat_completion', methods=['POST'])
2025-06-01T19:50:38.845536112Z File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
2025-06-01T19:50:38.845537936Z await self.app(scope, receive, send)
2025-06-01T19:50:38.845539639Z │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9583103d80>
2025-06-01T19:50:38.845541653Z │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845543626Z │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845545560Z │ └ <function request_response..app at 0x7f958330ad40>
2025-06-01T19:50:38.845547494Z └ APIRoute(path='/api/chat/completions', name='chat_completion', methods=['POST'])
2025-06-01T19:50:38.845549418Z File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
2025-06-01T19:50:38.845551261Z await wrap_app_handling_exceptions(app, request)(scope, receive, send)
2025-06-01T19:50:38.845553025Z │ │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f9583103d80>
2025-06-01T19:50:38.845555108Z │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845557143Z │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845559077Z │ │ └ <starlette.requests.Request object at 0x7f956cab09d0>
2025-06-01T19:50:38.845568243Z │ └ <function request_response..app..app at 0x7f9583112ac0>
2025-06-01T19:50:38.845571821Z └ <function wrap_app_handling_exceptions at 0x7f960eb54e00>
2025-06-01T19:50:38.845574816Z File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
2025-06-01T19:50:38.845577582Z await app(scope, receive, sender)
2025-06-01T19:50:38.845580117Z │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7f95831137e0>
2025-06-01T19:50:38.845586709Z │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7f95831036a0>
2025-06-01T19:50:38.845589976Z │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.19.0.4', 8080), 'c...
2025-06-01T19:50:38.845592911Z └ <function request_response..app..app at 0x7f9583112ac0>
2025-06-01T19:50:38.845595947Z File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
2025-06-01T19:50:38.845598893Z response = await f(request)
2025-06-01T19:50:38.845600637Z │ └ <starlette.requests.Request object at 0x7f956cab09d0>
2025-06-01T19:50:38.845602490Z └ <function get_request_handler..app at 0x7f958330aca0>
2025-06-01T19:50:38.845604404Z File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
2025-06-01T19:50:38.845606277Z raw_response = await run_endpoint_function(
2025-06-01T19:50:38.845608171Z └ <function run_endpoint_function at 0x7f960eb942c0>
2025-06-01T19:50:38.845610104Z File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
2025-06-01T19:50:38.845611927Z return await dependant.call(**values)
2025-06-01T19:50:38.845615625Z │ └ <function chat_completion at 0x7f9583309e40>
2025-06-01T19:50:38.845617439Z └ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[ModelField(field_info=Body(Pydant...
2025-06-01T19:50:38.845619292Z
2025-06-01T19:50:38.845620945Z File "/app/backend/open_webui/main.py", line 1263, in chat_completion
2025-06-01T19:50:38.845622739Z form_data, metadata, events = await process_chat_payload(
2025-06-01T19:50:38.845624502Z │ │ └ <function process_chat_payload at 0x7f95c5f9c360>
2025-06-01T19:50:38.845626346Z │ └ {'user_id': '15ed2078-ea53-44c9-b0ed-58f85c20b334', 'chat_id': '74e8c35d-fdf6-4d56-be7d-171db3009e87', 'message_id': '435338a...
2025-06-01T19:50:38.845628229Z └ {'stream': True, 'model': 'gemma3:27b', 'messages': [{'role': 'system', 'content': 'You are Nova, an advanced AI co-created b...
2025-06-01T19:50:38.845630063Z
2025-06-01T19:50:38.845631696Z File "/app/backend/open_webui/utils/middleware.py", line 819, in process_chat_payload
2025-06-01T19:50:38.845633519Z form_data, flags = await process_filter_functions(
2025-06-01T19:50:38.845635242Z │ └ <function process_filter_functions at 0x7f95ccf42660>
2025-06-01T19:50:38.845637077Z └ {'stream': True, 'model': 'gemma3:27b', 'messages': [{'role': 'system', 'content': 'You are Nova, an advanced AI co-created b...
2025-06-01T19:50:38.845641686Z
2025-06-01T19:50:38.845643388Z File "/app/backend/open_webui/utils/filter.py", line 121, in process_filter_functions
2025-06-01T19:50:38.845645222Z form_data = await handler(**params)
2025-06-01T19:50:38.845646966Z │ └ {'body': {'stream': True, 'model': 'gemma3:27b', 'messages': [{'role': 'system', 'content': 'You are Nova, an advanced AI co-...
2025-06-01T19:50:38.845648849Z └ <bound method Filter.inlet of <function_get_current_time.Filter object at 0x7f9583481890>>
2025-06-01T19:50:38.845650802Z
2025-06-01T19:50:38.845652435Z > File "", line 125, in _wrapper
2025-06-01T19:50:38.845654289Z File "", line 274, in inlet
2025-06-01T19:50:38.845656114Z File "", line 433, in add_or_update_filter_context
2025-06-01T19:50:38.845658157Z File "/usr/local/lib/python3.11/site-packages/bs4/init.py", line 462, in init
2025-06-01T19:50:38.845660061Z for (
2025-06-01T19:50:38.845661774Z File "/usr/local/lib/python3.11/site-packages/bs4/builder/_lxml.py", line 281, in prepare_markup
2025-06-01T19:50:38.845663598Z for encoding in detector.encodings:
2025-06-01T19:50:38.845665321Z │ └ <property object at 0x7f960e8115d0>
2025-06-01T19:50:38.845667174Z └ <bs4.dammit.EncodingDetector object at 0x7f95830e4350>
2025-06-01T19:50:38.845668988Z File "/usr/local/lib/python3.11/site-packages/bs4/dammit.py", line 623, in encodings
2025-06-01T19:50:38.845670791Z self.declared_encoding = self.find_declared_encoding(
2025-06-01T19:50:38.845672535Z │ │ │ └ <classmethod(<function EncodingDetector.find_declared_encoding at 0x7f960e82ae80>)>
2025-06-01T19:50:38.845674548Z │ │ └ <bs4.dammit.EncodingDetector object at 0x7f95830e4350>
2025-06-01T19:50:38.845676412Z │ └ None
2025-06-01T19:50:38.845678116Z └ <bs4.dammit.EncodingDetector object at 0x7f95830e4350>
2025-06-01T19:50:38.845680030Z File "/usr/local/lib/python3.11/site-packages/bs4/dammit.py", line 722, in find_declared_encoding
2025-06-01T19:50:38.845681913Z declared_encoding_match = xml_re.search(markup, endpos=xml_endpos)
2025-06-01T19:50:38.845683677Z │ │ │ └ 1024
2025-06-01T19:50:38.845685560Z │ │ └ [{'type': 'text', 'text': ''}, {'type': 'image_url', 'image_url': {'url': 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABKQA...
2025-06-01T19:50:38.845687524Z │ └ <method 'search' of 're.Pattern' objects>
2025-06-01T19:50:38.845689397Z └ re.compile('^\s*<\?.encoding='"['"].\?>', re.IGNORECASE)
2025-06-01T19:50:38.845694256Z
2025-06-01T19:50:38.845696040Z TypeError: expected string or bytes-like object, got 'list'`
Additional Information
No response
@taylorwilsdon commented on GitHub (Jun 1, 2025):
Cannot reproduce, just pasted your github avatar in without issue to 0.6.13:
Can you share the actual image you're trying to paste in? Maybe it's a malformed svg or something.
Edit - wait, this is being caused by some 3rd party filter function you're running -
add_or_update_filter_contextis not part of the Open WebUI codebase. Just disable whatever functions are running and test again, should work.@nem0nic commented on GitHub (Jun 1, 2025):
Tried both a simple PNG and JPEG of the openwebui interface just like you did.
PS, also tried on both Windows and Linux just for S&G and to rule out the client machine.
@taylorwilsdon commented on GitHub (Jun 1, 2025):
Yeah ++ see my edit above, you have a bugged 3rd party function, this isn't related to Open WebUI itself
@nem0nic commented on GitHub (Jun 1, 2025):
Well that did fix it I'll be dammed. I only have the Date/Time function and just added the Dynamic Image Routing function today to see if it would fix it from the community addons.
@taylorwilsdon commented on GitHub (Jun 1, 2025):
Glad to hear! fwiw @tjbck there might be a decent opportunity here for error messages that highlight the source either in the initial view or collapsed and possible toggle out - even just a little chip that denotes that it's a tool failure / function failure / pipeline failure / openapi failure etc might help folks self solve or at least identify cause to avoid bug reports. Happy to take a run at that if it sounds useful.