[GH-ISSUE #24051] issue: Mistral AI TTS raising a 400 Bad Request error #107161

Closed
opened 2026-05-18 05:49:04 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @deathmaster9 on GitHub (Apr 23, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/24051

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

0.9.1

Ollama Version (if applicable)

0.21.1

Operating System

macOS Sequoia

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

When i click on the read text, i must get the voice version.
I configured TTS with Mistral AI.
The STT with Mistral AI is working well.

Actual Behavior

When I click on the read text, I'm getting the following error :
External: 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech'

Steps to Reproduce

After configuring the TTS with the Mistral AI (see attached pic), i click on a generated text to hear it and i get the error.
Image

Logs & Screenshots

Docker logs :
2026-04-23 22:20:27.012 | 2026-04-23 20:20:27.011 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:27082 - "POST /api/chat/completions HTTP/1.1" 200
2026-04-23 22:20:27.066 | 2026-04-23 20:20:27.065 | INFO | open_webui.utils.session_pool:get_session:66 - Created shared aiohttp session pool (limit=unlimited, per_host=unlimited, dns_ttl=300)
2026-04-23 22:20:29.037 | 2026-04-23 20:20:29.037 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:27082 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
2026-04-23 22:20:40.991 | 2026-04-23 20:20:40.990 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 162.159.142.207:19586 - "GET /_app/version.json HTTP/1.1" 200
2026-04-23 22:20:53.756 | 2026-04-23 20:20:53.756 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 162.159.142.207:53802 - "POST /api/chat/completions HTTP/1.1" 200
2026-04-23 22:20:55.208 | 2026-04-23 20:20:55.208 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 162.159.142.207:53802 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
2026-04-23 22:21:01.988 | 2026-04-23 20:21:01.982 | ERROR | open_webui.routers.audio:speech:612 - 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech'
2026-04-23 22:21:01.988 | Traceback (most recent call last):
2026-04-23 22:21:01.988 |
2026-04-23 22:21:01.988 | File "", line 198, in _run_module_as_main
2026-04-23 22:21:01.988 | File "", line 88, in _run_code
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 4, in
2026-04-23 22:21:01.988 | uvicorn.main()
2026-04-23 22:21:01.988 | │ └
2026-04-23 22:21:01.988 | └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/init.py'>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in call
2026-04-23 22:21:01.988 | return self.main(args, **kwargs)
2026-04-23 22:21:01.988 | │ │ │ └ {}
2026-04-23 22:21:01.988 | │ │ └ ()
2026-04-23 22:21:01.988 | │ └ <function Command.main at 0x7fefed347100>
2026-04-23 22:21:01.988 | └
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main
2026-04-23 22:21:01.988 | rv = self.invoke(ctx)
2026-04-23 22:21:01.988 | │ │ └ <click.core.Context object at 0x7fefee070850>
2026-04-23 22:21:01.988 | │ └ <function Command.invoke at 0x7fefed346de0>
2026-04-23 22:21:01.988 | └
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
2026-04-23 22:21:01.988 | return ctx.invoke(self.callback, **ctx.params)
2026-04-23 22:21:01.988 | │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '
', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
2026-04-23 22:21:01.988 | │ │ │ │ └ <click.core.Context object at 0x7fefee070850>
2026-04-23 22:21:01.988 | │ │ │ └ <function main at 0x7fefed13fb00>
2026-04-23 22:21:01.988 | │ │ └
2026-04-23 22:21:01.988 | │ └ <function Context.invoke at 0x7fefed346020>
2026-04-23 22:21:01.988 | └ <click.core.Context object at 0x7fefee070850>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke
2026-04-23 22:21:01.988 | return callback(args, **kwargs)
2026-04-23 22:21:01.988 | │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '
', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
2026-04-23 22:21:01.988 | │ └ ()
2026-04-23 22:21:01.988 | └ <function main at 0x7fefed13fb00>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 433, in main
2026-04-23 22:21:01.988 | run(
2026-04-23 22:21:01.988 | └ <function run at 0x7fefed1e1bc0>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 606, in run
2026-04-23 22:21:01.988 | server.run()
2026-04-23 22:21:01.988 | │ └ <function Server.run at 0x7fefed1e1440>
2026-04-23 22:21:01.988 | └ <uvicorn.server.Server object at 0x7fefed379d10>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 75, in run
2026-04-23 22:21:01.988 | return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
2026-04-23 22:21:01.988 | │ │ │ │ │ │ └ <function Config.get_loop_factory at 0x7fefed3105e0>
2026-04-23 22:21:01.988 | │ │ │ │ │ └ <uvicorn.config.Config object at 0x7fefee206950>
2026-04-23 22:21:01.988 | │ │ │ │ └ <uvicorn.server.Server object at 0x7fefed379d10>
2026-04-23 22:21:01.988 | │ │ │ └ None
2026-04-23 22:21:01.988 | │ │ └ <function Server.serve at 0x7fefed1e14e0>
2026-04-23 22:21:01.988 | │ └ <uvicorn.server.Server object at 0x7fefed379d10>
2026-04-23 22:21:01.988 | └ <function asyncio_run at 0x7fefed34a0c0>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
2026-04-23 22:21:01.988 | return runner.run(main)
2026-04-23 22:21:01.988 | │ │ └ <coroutine object Server.serve at 0x7fefed09b3d0>
2026-04-23 22:21:01.988 | │ └ <function Runner.run at 0x7fefed594f40>
2026-04-23 22:21:01.988 | └ <asyncio.runners.Runner object at 0x7fefee207e50>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
2026-04-23 22:21:01.988 | return self._loop.run_until_complete(task)
2026-04-23 22:21:01.988 | │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:79> wai...
2026-04-23 22:21:01.988 | │ │ └ <cyfunction Loop.run_until_complete at 0x7fefed15dfc0>
2026-04-23 22:21:01.988 | │ └ <uvloop.Loop running=True closed=False debug=False>
2026-04-23 22:21:01.988 | └ <asyncio.runners.Runner object at 0x7fefee207e50>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
2026-04-23 22:21:01.988 | await self.app(scope, receive_or_disconnect, send_no_error)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7fef56923060>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10>
2026-04-23 22:21:01.988 | └ <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x7fef57ac2410>
2026-04-23 22:21:01.988 |
2026-04-23 22:21:01.988 | File "/app/backend/open_webui/utils/asgi_middleware.py", line 215, in call
2026-04-23 22:21:01.988 | await self.app(scope, receive, send)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7fef56923060>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0>
2026-04-23 22:21:01.988 | └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10>
2026-04-23 22:21:01.988 |
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/init.py", line 104, in call
2026-04-23 22:21:01.988 | return await self._zstd(scope, receive, send)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7fef56923060>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <member '_zstd' of 'CompressMiddleware' objects>
2026-04-23 22:21:01.988 | └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 107, in call
2026-04-23 22:21:01.988 | await self.app(scope, receive, wrapper)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7fef569219e0>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <member 'app' of 'ZstdResponder' objects>
2026-04-23 22:21:01.988 | └ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7fef5ca62800>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in call
2026-04-23 22:21:01.988 | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
2026-04-23 22:21:01.988 | │ │ │ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7fef569219e0>
2026-04-23 22:21:01.988 | │ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ │ │ └ <starlette.requests.Request object at 0x7fef56f0dd90>
2026-04-23 22:21:01.988 | │ │ └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850>
2026-04-23 22:21:01.988 | │ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7fef57a1a990>
2026-04-23 22:21:01.988 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
2026-04-23 22:21:01.988 | await app(scope, receive, sender)
2026-04-23 22:21:01.988 | │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef569223e0>
2026-04-23 22:21:01.988 | │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in call
2026-04-23 22:21:01.988 | await self.app(scope, receive, send)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef569223e0>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>
2026-04-23 22:21:01.988 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 660, in call
2026-04-23 22:21:01.988 | await self.middleware_stack(scope, receive, send)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef569223e0>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>>
2026-04-23 22:21:01.988 | └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 680, in app
2026-04-23 22:21:01.988 | await route.handle(scope, receive, send)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef569223e0>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <function Route.handle at 0x7fefea9dc9a0>
2026-04-23 22:21:01.988 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST'])
2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
2026-04-23 22:21:01.988 | await self.app(scope, receive, send)
2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef569223e0>
2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.988 | │ └ <function request_response..app at 0x7fef5caa8220>
2026-04-23 22:21:01.988 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST'])
2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 130, in app
2026-04-23 22:21:01.989 | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
2026-04-23 22:21:01.989 | │ │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef569223e0>
2026-04-23 22:21:01.989 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.989 | │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.989 | │ │ └ <starlette.requests.Request object at 0x7fef56d07410>
2026-04-23 22:21:01.989 | │ └ <function request_response..app..app at 0x7fef56923100>
2026-04-23 22:21:01.989 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420>
2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
2026-04-23 22:21:01.989 | await app(scope, receive, sender)
2026-04-23 22:21:01.989 | │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56922340>
2026-04-23 22:21:01.989 | │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef56dcc5e0>
2026-04-23 22:21:01.989 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:01.989 | └ <function request_response..app..app at 0x7fef56923100>
2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 116, in app
2026-04-23 22:21:01.989 | response = await f(request)
2026-04-23 22:21:01.989 | │ └ <starlette.requests.Request object at 0x7fef56d07410>
2026-04-23 22:21:01.989 | └ <function get_request_handler..app at 0x7fef5caa82c0>
2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 670, in app
2026-04-23 22:21:01.989 | raw_response = await run_endpoint_function(
2026-04-23 22:21:01.989 | └ <function run_endpoint_function at 0x7fefea9dea20>
2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 324, in run_endpoint_function
2026-04-23 22:21:01.989 | return await dependant.call(**values)
2026-04-23 22:21:01.989 | │ │ └ {'user': UserModel(id='040d4c69-b351-47d7-a1fc-bbf380d2097b', email='marc.moussa@gmail.com', username=None, role='admin', nam...
2026-04-23 22:21:01.989 | │ └ <function speech at 0x7fefb7710ae0>
2026-04-23 22:21:01.989 | └ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[], dependencies=[Dependant(path_p...
2026-04-23 22:21:01.989 |
2026-04-23 22:21:01.989 | > File "/app/backend/open_webui/routers/audio.py", line 594, in speech
2026-04-23 22:21:01.989 | r.raise_for_status()
2026-04-23 22:21:01.989 | │ └ <function ClientResponse.raise_for_status at 0x7fefeac5a520>
2026-04-23 22:21:01.989 | └ <ClientResponse(https://api.mistral.ai/v1/audio/speech) [400 Bad Request]>
2026-04-23 22:21:01.989 | <CIMultiDictProxy('Date': 'Thu, 23 Apr 2026 20:21:...
2026-04-23 22:21:01.989 |
2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 636, in raise_for_status
2026-04-23 22:21:01.989 | raise ClientResponseError(
2026-04-23 22:21:01.989 | └ <class 'aiohttp.client_exceptions.ClientResponseError'>
2026-04-23 22:21:01.989 |
2026-04-23 22:21:01.989 | aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech'
2026-04-23 22:21:01.989 | 2026-04-23 20:21:01.988 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:63294 - "POST /api/v1/audio/speech HTTP/1.1" 400
2026-04-23 22:21:02.212 | 2026-04-23 20:21:02.207 | ERROR | open_webui.routers.audio:speech:612 - 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech'
2026-04-23 22:21:02.212 | Traceback (most recent call last):
2026-04-23 22:21:02.212 |
2026-04-23 22:21:02.212 | File "", line 198, in _run_module_as_main
2026-04-23 22:21:02.212 | File "", line 88, in _run_code
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 4, in
2026-04-23 22:21:02.212 | uvicorn.main()
2026-04-23 22:21:02.212 | │ └
2026-04-23 22:21:02.212 | └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/init.py'>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in call
2026-04-23 22:21:02.212 | return self.main(args, **kwargs)
2026-04-23 22:21:02.212 | │ │ │ └ {}
2026-04-23 22:21:02.212 | │ │ └ ()
2026-04-23 22:21:02.212 | │ └ <function Command.main at 0x7fefed347100>
2026-04-23 22:21:02.212 | └
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main
2026-04-23 22:21:02.212 | rv = self.invoke(ctx)
2026-04-23 22:21:02.212 | │ │ └ <click.core.Context object at 0x7fefee070850>
2026-04-23 22:21:02.212 | │ └ <function Command.invoke at 0x7fefed346de0>
2026-04-23 22:21:02.212 | └
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
2026-04-23 22:21:02.212 | return ctx.invoke(self.callback, **ctx.params)
2026-04-23 22:21:02.212 | │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '
', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
2026-04-23 22:21:02.212 | │ │ │ │ └ <click.core.Context object at 0x7fefee070850>
2026-04-23 22:21:02.212 | │ │ │ └ <function main at 0x7fefed13fb00>
2026-04-23 22:21:02.212 | │ │ └
2026-04-23 22:21:02.212 | │ └ <function Context.invoke at 0x7fefed346020>
2026-04-23 22:21:02.212 | └ <click.core.Context object at 0x7fefee070850>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke
2026-04-23 22:21:02.212 | return callback(args, **kwargs)
2026-04-23 22:21:02.212 | │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '
', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
2026-04-23 22:21:02.212 | │ └ ()
2026-04-23 22:21:02.212 | └ <function main at 0x7fefed13fb00>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 433, in main
2026-04-23 22:21:02.212 | run(
2026-04-23 22:21:02.212 | └ <function run at 0x7fefed1e1bc0>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 606, in run
2026-04-23 22:21:02.212 | server.run()
2026-04-23 22:21:02.212 | │ └ <function Server.run at 0x7fefed1e1440>
2026-04-23 22:21:02.212 | └ <uvicorn.server.Server object at 0x7fefed379d10>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 75, in run
2026-04-23 22:21:02.212 | return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
2026-04-23 22:21:02.212 | │ │ │ │ │ │ └ <function Config.get_loop_factory at 0x7fefed3105e0>
2026-04-23 22:21:02.212 | │ │ │ │ │ └ <uvicorn.config.Config object at 0x7fefee206950>
2026-04-23 22:21:02.212 | │ │ │ │ └ <uvicorn.server.Server object at 0x7fefed379d10>
2026-04-23 22:21:02.212 | │ │ │ └ None
2026-04-23 22:21:02.212 | │ │ └ <function Server.serve at 0x7fefed1e14e0>
2026-04-23 22:21:02.212 | │ └ <uvicorn.server.Server object at 0x7fefed379d10>
2026-04-23 22:21:02.212 | └ <function asyncio_run at 0x7fefed34a0c0>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
2026-04-23 22:21:02.212 | return runner.run(main)
2026-04-23 22:21:02.212 | │ │ └ <coroutine object Server.serve at 0x7fefed09b3d0>
2026-04-23 22:21:02.212 | │ └ <function Runner.run at 0x7fefed594f40>
2026-04-23 22:21:02.212 | └ <asyncio.runners.Runner object at 0x7fefee207e50>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
2026-04-23 22:21:02.212 | return self._loop.run_until_complete(task)
2026-04-23 22:21:02.212 | │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:79> wai...
2026-04-23 22:21:02.212 | │ │ └ <cyfunction Loop.run_until_complete at 0x7fefed15dfc0>
2026-04-23 22:21:02.212 | │ └ <uvloop.Loop running=True closed=False debug=False>
2026-04-23 22:21:02.212 | └ <asyncio.runners.Runner object at 0x7fefee207e50>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
2026-04-23 22:21:02.212 | await self.app(scope, receive_or_disconnect, send_no_error)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7fef56923ce0>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10>
2026-04-23 22:21:02.212 | └ <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x7fef57ac2410>
2026-04-23 22:21:02.212 |
2026-04-23 22:21:02.212 | File "/app/backend/open_webui/utils/asgi_middleware.py", line 215, in call
2026-04-23 22:21:02.212 | await self.app(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7fef56923ce0>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0>
2026-04-23 22:21:02.212 | └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10>
2026-04-23 22:21:02.212 |
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/init.py", line 104, in call
2026-04-23 22:21:02.212 | return await self._zstd(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..send_no_error at 0x7fef56923ce0>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <member '_zstd' of 'CompressMiddleware' objects>
2026-04-23 22:21:02.212 | └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 107, in call
2026-04-23 22:21:02.212 | await self.app(scope, receive, wrapper)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7fef56920e00>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <member 'app' of 'ZstdResponder' objects>
2026-04-23 22:21:02.212 | └ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7fef5ca62800>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in call
2026-04-23 22:21:02.212 | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ │ │ └ <function ZstdResponder.call..wrapper at 0x7fef56920e00>
2026-04-23 22:21:02.212 | │ │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ │ │ └ <starlette.requests.Request object at 0x7fef56d639d0>
2026-04-23 22:21:02.212 | │ │ └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850>
2026-04-23 22:21:02.212 | │ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7fef57a1a990>
2026-04-23 22:21:02.212 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
2026-04-23 22:21:02.212 | await app(scope, receive, sender)
2026-04-23 22:21:02.212 | │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56921b20>
2026-04-23 22:21:02.212 | │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in call
2026-04-23 22:21:02.212 | await self.app(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56921b20>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>
2026-04-23 22:21:02.212 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 660, in call
2026-04-23 22:21:02.212 | await self.middleware_stack(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56921b20>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>>
2026-04-23 22:21:02.212 | └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 680, in app
2026-04-23 22:21:02.212 | await route.handle(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56921b20>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <function Route.handle at 0x7fefea9dc9a0>
2026-04-23 22:21:02.212 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST'])
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
2026-04-23 22:21:02.212 | await self.app(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56921b20>
2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ └ <function request_response..app at 0x7fef5caa8220>
2026-04-23 22:21:02.212 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST'])
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 130, in app
2026-04-23 22:21:02.212 | await wrap_app_handling_exceptions(app, request)(scope, receive, send)
2026-04-23 22:21:02.212 | │ │ │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56921b20>
2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | │ │ └ <starlette.requests.Request object at 0x7fef56d60950>
2026-04-23 22:21:02.212 | │ └ <function request_response..app..app at 0x7fef569220c0>
2026-04-23 22:21:02.212 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
2026-04-23 22:21:02.212 | await app(scope, receive, sender)
2026-04-23 22:21:02.212 | │ │ │ └ <function wrap_app_handling_exceptions..wrapped_app..sender at 0x7fef56923d80>
2026-04-23 22:21:02.212 | │ │ └ <function BaseHTTPMiddleware.call..call_next..receive_or_disconnect at 0x7fef569216c0>
2026-04-23 22:21:02.212 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c...
2026-04-23 22:21:02.212 | └ <function request_response..app..app at 0x7fef569220c0>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 116, in app
2026-04-23 22:21:02.212 | response = await f(request)
2026-04-23 22:21:02.212 | │ └ <starlette.requests.Request object at 0x7fef56d60950>
2026-04-23 22:21:02.212 | └ <function get_request_handler..app at 0x7fef5caa82c0>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 670, in app
2026-04-23 22:21:02.212 | raw_response = await run_endpoint_function(
2026-04-23 22:21:02.212 | └ <function run_endpoint_function at 0x7fefea9dea20>
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 324, in run_endpoint_function
2026-04-23 22:21:02.212 | return await dependant.call(**values)
2026-04-23 22:21:02.212 | │ │ └ {'user': UserModel(id='040d4c69-b351-47d7-a1fc-bbf380d2097b', email='marc.moussa@gmail.com', username=None, role='admin', nam...
2026-04-23 22:21:02.212 | │ └ <function speech at 0x7fefb7710ae0>
2026-04-23 22:21:02.212 | └ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[], dependencies=[Dependant(path_p...
2026-04-23 22:21:02.212 |
2026-04-23 22:21:02.212 | > File "/app/backend/open_webui/routers/audio.py", line 594, in speech
2026-04-23 22:21:02.212 | r.raise_for_status()
2026-04-23 22:21:02.212 | │ └ <function ClientResponse.raise_for_status at 0x7fefeac5a520>
2026-04-23 22:21:02.212 | └ <ClientResponse(https://api.mistral.ai/v1/audio/speech) [400 Bad Request]>
2026-04-23 22:21:02.212 | <CIMultiDictProxy('Date': 'Thu, 23 Apr 2026 20:21:...
2026-04-23 22:21:02.212 |
2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 636, in raise_for_status
2026-04-23 22:21:02.212 | raise ClientResponseError(
2026-04-23 22:21:02.212 | └ <class 'aiohttp.client_exceptions.ClientResponseError'>
2026-04-23 22:21:02.212 |
2026-04-23 22:21:02.212 | aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech'
2026-04-23 22:21:02.213 | 2026-04-23 20:21:02.212 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:63294 - "POST /api/v1/audio/speech HTTP/1.1" 400
2026-04-23 22:21:04.296 | 2026-04-23 20:21:04.296 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:63294 - "GET /_app/version.json HTTP/1.1" 304
2026-04-23 22:21:40.995 | 2026-04-23 20:21:40.995 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:22238 - "GET /_app/version.json HTTP/1.1" 200
2026-04-23 22:22:04.701 | 2026-04-23 20:22:04.701 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:27781 - "GET /_app/version.json HTTP/1.1" 304
2026-04-23 22:22:40.995 | 2026-04-23 20:22:40.994 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:28031 - "GET /_app/version.json HTTP/1.1" 200
2026-04-23 22:23:04.704 | 2026-04-23 20:23:04.704 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:56169 - "GET /_app/version.json HTTP/1.1" 304
2026-04-23 22:23:22.235 | 2026-04-23 20:23:22.235 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:50738 - "GET /api/usage HTTP/1.1" 200
2026-04-23 22:23:25.539 | 2026-04-23 20:23:25.538 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:50738 - "GET /ollama/api/version HTTP/1.1" 200
2026-04-23 22:23:25.717 | 2026-04-23 20:23:25.717 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:50738 - "GET /api/version/updates HTTP/1.1" 200
2026-04-23 22:23:40.994 | 2026-04-23 20:23:40.994 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:28828 - "GET /_app/version.json HTTP/1.1" 200
2026-04-23 22:23:44.816 | 2026-04-23 20:23:44.815 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:59394 - "GET /api/version/updates HTTP/1.1" 200
2026-04-23 22:23:45.786 | 2026-04-23 20:23:45.786 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:59394 - "GET /api/version/updates HTTP/1.1" 200
2026-04-23 22:24:04.791 | 2026-04-23 20:24:04.791 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:21641 - "GET /_app/version.json HTTP/1.1" 304
2026-04-23 22:24:40.994 | 2026-04-23 20:24:40.994 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:56430 - "GET /_app/version.json HTTP/1.1" 200

Additional Information

No response

Originally created by @deathmaster9 on GitHub (Apr 23, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/24051 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version 0.9.1 ### Ollama Version (if applicable) 0.21.1 ### Operating System macOS Sequoia ### Browser (if applicable) _No response_ ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior When i click on the read text, i must get the voice version. I configured TTS with Mistral AI. The STT with Mistral AI is working well. ### Actual Behavior When I click on the read text, I'm getting the following error : External: 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech' ### Steps to Reproduce After configuring the TTS with the Mistral AI (see attached pic), i click on a generated text to hear it and i get the error. <img width="1177" height="175" alt="Image" src="https://github.com/user-attachments/assets/52549d68-769d-4874-952e-aa52aaa222fa" /> ### Logs & Screenshots Docker logs : 2026-04-23 22:20:27.012 | 2026-04-23 20:20:27.011 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:27082 - "POST /api/chat/completions HTTP/1.1" 200 2026-04-23 22:20:27.066 | 2026-04-23 20:20:27.065 | INFO | open_webui.utils.session_pool:get_session:66 - Created shared aiohttp session pool (limit=unlimited, per_host=unlimited, dns_ttl=300) 2026-04-23 22:20:29.037 | 2026-04-23 20:20:29.037 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:27082 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 2026-04-23 22:20:40.991 | 2026-04-23 20:20:40.990 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 162.159.142.207:19586 - "GET /_app/version.json HTTP/1.1" 200 2026-04-23 22:20:53.756 | 2026-04-23 20:20:53.756 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 162.159.142.207:53802 - "POST /api/chat/completions HTTP/1.1" 200 2026-04-23 22:20:55.208 | 2026-04-23 20:20:55.208 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 162.159.142.207:53802 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 2026-04-23 22:21:01.988 | 2026-04-23 20:21:01.982 | ERROR | open_webui.routers.audio:speech:612 - 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech' 2026-04-23 22:21:01.988 | Traceback (most recent call last): 2026-04-23 22:21:01.988 | 2026-04-23 22:21:01.988 | File "<frozen runpy>", line 198, in _run_module_as_main 2026-04-23 22:21:01.988 | File "<frozen runpy>", line 88, in _run_code 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module> 2026-04-23 22:21:01.988 | uvicorn.main() 2026-04-23 22:21:01.988 | │ └ <Command main> 2026-04-23 22:21:01.988 | └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/__init__.py'> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in __call__ 2026-04-23 22:21:01.988 | return self.main(*args, **kwargs) 2026-04-23 22:21:01.988 | │ │ │ └ {} 2026-04-23 22:21:01.988 | │ │ └ () 2026-04-23 22:21:01.988 | │ └ <function Command.main at 0x7fefed347100> 2026-04-23 22:21:01.988 | └ <Command main> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main 2026-04-23 22:21:01.988 | rv = self.invoke(ctx) 2026-04-23 22:21:01.988 | │ │ └ <click.core.Context object at 0x7fefee070850> 2026-04-23 22:21:01.988 | │ └ <function Command.invoke at 0x7fefed346de0> 2026-04-23 22:21:01.988 | └ <Command main> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke 2026-04-23 22:21:01.988 | return ctx.invoke(self.callback, **ctx.params) 2026-04-23 22:21:01.988 | │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... 2026-04-23 22:21:01.988 | │ │ │ │ └ <click.core.Context object at 0x7fefee070850> 2026-04-23 22:21:01.988 | │ │ │ └ <function main at 0x7fefed13fb00> 2026-04-23 22:21:01.988 | │ │ └ <Command main> 2026-04-23 22:21:01.988 | │ └ <function Context.invoke at 0x7fefed346020> 2026-04-23 22:21:01.988 | └ <click.core.Context object at 0x7fefee070850> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke 2026-04-23 22:21:01.988 | return callback(*args, **kwargs) 2026-04-23 22:21:01.988 | │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... 2026-04-23 22:21:01.988 | │ └ () 2026-04-23 22:21:01.988 | └ <function main at 0x7fefed13fb00> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 433, in main 2026-04-23 22:21:01.988 | run( 2026-04-23 22:21:01.988 | └ <function run at 0x7fefed1e1bc0> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 606, in run 2026-04-23 22:21:01.988 | server.run() 2026-04-23 22:21:01.988 | │ └ <function Server.run at 0x7fefed1e1440> 2026-04-23 22:21:01.988 | └ <uvicorn.server.Server object at 0x7fefed379d10> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 75, in run 2026-04-23 22:21:01.988 | return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory()) 2026-04-23 22:21:01.988 | │ │ │ │ │ │ └ <function Config.get_loop_factory at 0x7fefed3105e0> 2026-04-23 22:21:01.988 | │ │ │ │ │ └ <uvicorn.config.Config object at 0x7fefee206950> 2026-04-23 22:21:01.988 | │ │ │ │ └ <uvicorn.server.Server object at 0x7fefed379d10> 2026-04-23 22:21:01.988 | │ │ │ └ None 2026-04-23 22:21:01.988 | │ │ └ <function Server.serve at 0x7fefed1e14e0> 2026-04-23 22:21:01.988 | │ └ <uvicorn.server.Server object at 0x7fefed379d10> 2026-04-23 22:21:01.988 | └ <function asyncio_run at 0x7fefed34a0c0> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run 2026-04-23 22:21:01.988 | return runner.run(main) 2026-04-23 22:21:01.988 | │ │ └ <coroutine object Server.serve at 0x7fefed09b3d0> 2026-04-23 22:21:01.988 | │ └ <function Runner.run at 0x7fefed594f40> 2026-04-23 22:21:01.988 | └ <asyncio.runners.Runner object at 0x7fefee207e50> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run 2026-04-23 22:21:01.988 | return self._loop.run_until_complete(task) 2026-04-23 22:21:01.988 | │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:79> wai... 2026-04-23 22:21:01.988 | │ │ └ <cyfunction Loop.run_until_complete at 0x7fefed15dfc0> 2026-04-23 22:21:01.988 | │ └ <uvloop.Loop running=True closed=False debug=False> 2026-04-23 22:21:01.988 | └ <asyncio.runners.Runner object at 0x7fefee207e50> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro 2026-04-23 22:21:01.988 | await self.app(scope, receive_or_disconnect, send_no_error) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fef56923060> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10> 2026-04-23 22:21:01.988 | └ <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x7fef57ac2410> 2026-04-23 22:21:01.988 | 2026-04-23 22:21:01.988 | File "/app/backend/open_webui/utils/asgi_middleware.py", line 215, in __call__ 2026-04-23 22:21:01.988 | await self.app(scope, receive, send) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fef56923060> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0> 2026-04-23 22:21:01.988 | └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10> 2026-04-23 22:21:01.988 | 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/__init__.py", line 104, in __call__ 2026-04-23 22:21:01.988 | return await self._zstd(scope, receive, send) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fef56923060> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <member '_zstd' of 'CompressMiddleware' objects> 2026-04-23 22:21:01.988 | └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 107, in __call__ 2026-04-23 22:21:01.988 | await self.app(scope, receive, wrapper) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function ZstdResponder.__call__.<locals>.wrapper at 0x7fef569219e0> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <member 'app' of 'ZstdResponder' objects> 2026-04-23 22:21:01.988 | └ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7fef5ca62800> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ 2026-04-23 22:21:01.988 | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) 2026-04-23 22:21:01.988 | │ │ │ │ │ │ └ <function ZstdResponder.__call__.<locals>.wrapper at 0x7fef569219e0> 2026-04-23 22:21:01.988 | │ │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ │ │ └ <starlette.requests.Request object at 0x7fef56f0dd90> 2026-04-23 22:21:01.988 | │ │ └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850> 2026-04-23 22:21:01.988 | │ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7fef57a1a990> 2026-04-23 22:21:01.988 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app 2026-04-23 22:21:01.988 | await app(scope, receive, sender) 2026-04-23 22:21:01.988 | │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef569223e0> 2026-04-23 22:21:01.988 | │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ 2026-04-23 22:21:01.988 | await self.app(scope, receive, send) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef569223e0> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90> 2026-04-23 22:21:01.988 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 660, in __call__ 2026-04-23 22:21:01.988 | await self.middleware_stack(scope, receive, send) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef569223e0> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>> 2026-04-23 22:21:01.988 | └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90> 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 680, in app 2026-04-23 22:21:01.988 | await route.handle(scope, receive, send) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef569223e0> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <function Route.handle at 0x7fefea9dc9a0> 2026-04-23 22:21:01.988 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST']) 2026-04-23 22:21:01.988 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle 2026-04-23 22:21:01.988 | await self.app(scope, receive, send) 2026-04-23 22:21:01.988 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef569223e0> 2026-04-23 22:21:01.988 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.988 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.988 | │ └ <function request_response.<locals>.app at 0x7fef5caa8220> 2026-04-23 22:21:01.988 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST']) 2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 130, in app 2026-04-23 22:21:01.989 | await wrap_app_handling_exceptions(app, request)(scope, receive, send) 2026-04-23 22:21:01.989 | │ │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef569223e0> 2026-04-23 22:21:01.989 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.989 | │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.989 | │ │ └ <starlette.requests.Request object at 0x7fef56d07410> 2026-04-23 22:21:01.989 | │ └ <function request_response.<locals>.app.<locals>.app at 0x7fef56923100> 2026-04-23 22:21:01.989 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420> 2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app 2026-04-23 22:21:01.989 | await app(scope, receive, sender) 2026-04-23 22:21:01.989 | │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56922340> 2026-04-23 22:21:01.989 | │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef56dcc5e0> 2026-04-23 22:21:01.989 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:01.989 | └ <function request_response.<locals>.app.<locals>.app at 0x7fef56923100> 2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 116, in app 2026-04-23 22:21:01.989 | response = await f(request) 2026-04-23 22:21:01.989 | │ └ <starlette.requests.Request object at 0x7fef56d07410> 2026-04-23 22:21:01.989 | └ <function get_request_handler.<locals>.app at 0x7fef5caa82c0> 2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 670, in app 2026-04-23 22:21:01.989 | raw_response = await run_endpoint_function( 2026-04-23 22:21:01.989 | └ <function run_endpoint_function at 0x7fefea9dea20> 2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 324, in run_endpoint_function 2026-04-23 22:21:01.989 | return await dependant.call(**values) 2026-04-23 22:21:01.989 | │ │ └ {'user': UserModel(id='040d4c69-b351-47d7-a1fc-bbf380d2097b', email='marc.moussa@gmail.com', username=None, role='admin', nam... 2026-04-23 22:21:01.989 | │ └ <function speech at 0x7fefb7710ae0> 2026-04-23 22:21:01.989 | └ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[], dependencies=[Dependant(path_p... 2026-04-23 22:21:01.989 | 2026-04-23 22:21:01.989 | > File "/app/backend/open_webui/routers/audio.py", line 594, in speech 2026-04-23 22:21:01.989 | r.raise_for_status() 2026-04-23 22:21:01.989 | │ └ <function ClientResponse.raise_for_status at 0x7fefeac5a520> 2026-04-23 22:21:01.989 | └ <ClientResponse(https://api.mistral.ai/v1/audio/speech) [400 Bad Request]> 2026-04-23 22:21:01.989 | <CIMultiDictProxy('Date': 'Thu, 23 Apr 2026 20:21:... 2026-04-23 22:21:01.989 | 2026-04-23 22:21:01.989 | File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 636, in raise_for_status 2026-04-23 22:21:01.989 | raise ClientResponseError( 2026-04-23 22:21:01.989 | └ <class 'aiohttp.client_exceptions.ClientResponseError'> 2026-04-23 22:21:01.989 | 2026-04-23 22:21:01.989 | aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech' 2026-04-23 22:21:01.989 | 2026-04-23 20:21:01.988 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:63294 - "POST /api/v1/audio/speech HTTP/1.1" 400 2026-04-23 22:21:02.212 | 2026-04-23 20:21:02.207 | ERROR | open_webui.routers.audio:speech:612 - 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech' 2026-04-23 22:21:02.212 | Traceback (most recent call last): 2026-04-23 22:21:02.212 | 2026-04-23 22:21:02.212 | File "<frozen runpy>", line 198, in _run_module_as_main 2026-04-23 22:21:02.212 | File "<frozen runpy>", line 88, in _run_code 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module> 2026-04-23 22:21:02.212 | uvicorn.main() 2026-04-23 22:21:02.212 | │ └ <Command main> 2026-04-23 22:21:02.212 | └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/__init__.py'> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in __call__ 2026-04-23 22:21:02.212 | return self.main(*args, **kwargs) 2026-04-23 22:21:02.212 | │ │ │ └ {} 2026-04-23 22:21:02.212 | │ │ └ () 2026-04-23 22:21:02.212 | │ └ <function Command.main at 0x7fefed347100> 2026-04-23 22:21:02.212 | └ <Command main> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main 2026-04-23 22:21:02.212 | rv = self.invoke(ctx) 2026-04-23 22:21:02.212 | │ │ └ <click.core.Context object at 0x7fefee070850> 2026-04-23 22:21:02.212 | │ └ <function Command.invoke at 0x7fefed346de0> 2026-04-23 22:21:02.212 | └ <Command main> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke 2026-04-23 22:21:02.212 | return ctx.invoke(self.callback, **ctx.params) 2026-04-23 22:21:02.212 | │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... 2026-04-23 22:21:02.212 | │ │ │ │ └ <click.core.Context object at 0x7fefee070850> 2026-04-23 22:21:02.212 | │ │ │ └ <function main at 0x7fefed13fb00> 2026-04-23 22:21:02.212 | │ │ └ <Command main> 2026-04-23 22:21:02.212 | │ └ <function Context.invoke at 0x7fefed346020> 2026-04-23 22:21:02.212 | └ <click.core.Context object at 0x7fefee070850> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke 2026-04-23 22:21:02.212 | return callback(*args, **kwargs) 2026-04-23 22:21:02.212 | │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... 2026-04-23 22:21:02.212 | │ └ () 2026-04-23 22:21:02.212 | └ <function main at 0x7fefed13fb00> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 433, in main 2026-04-23 22:21:02.212 | run( 2026-04-23 22:21:02.212 | └ <function run at 0x7fefed1e1bc0> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 606, in run 2026-04-23 22:21:02.212 | server.run() 2026-04-23 22:21:02.212 | │ └ <function Server.run at 0x7fefed1e1440> 2026-04-23 22:21:02.212 | └ <uvicorn.server.Server object at 0x7fefed379d10> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 75, in run 2026-04-23 22:21:02.212 | return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory()) 2026-04-23 22:21:02.212 | │ │ │ │ │ │ └ <function Config.get_loop_factory at 0x7fefed3105e0> 2026-04-23 22:21:02.212 | │ │ │ │ │ └ <uvicorn.config.Config object at 0x7fefee206950> 2026-04-23 22:21:02.212 | │ │ │ │ └ <uvicorn.server.Server object at 0x7fefed379d10> 2026-04-23 22:21:02.212 | │ │ │ └ None 2026-04-23 22:21:02.212 | │ │ └ <function Server.serve at 0x7fefed1e14e0> 2026-04-23 22:21:02.212 | │ └ <uvicorn.server.Server object at 0x7fefed379d10> 2026-04-23 22:21:02.212 | └ <function asyncio_run at 0x7fefed34a0c0> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run 2026-04-23 22:21:02.212 | return runner.run(main) 2026-04-23 22:21:02.212 | │ │ └ <coroutine object Server.serve at 0x7fefed09b3d0> 2026-04-23 22:21:02.212 | │ └ <function Runner.run at 0x7fefed594f40> 2026-04-23 22:21:02.212 | └ <asyncio.runners.Runner object at 0x7fefee207e50> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run 2026-04-23 22:21:02.212 | return self._loop.run_until_complete(task) 2026-04-23 22:21:02.212 | │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:79> wai... 2026-04-23 22:21:02.212 | │ │ └ <cyfunction Loop.run_until_complete at 0x7fefed15dfc0> 2026-04-23 22:21:02.212 | │ └ <uvloop.Loop running=True closed=False debug=False> 2026-04-23 22:21:02.212 | └ <asyncio.runners.Runner object at 0x7fefee207e50> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro 2026-04-23 22:21:02.212 | await self.app(scope, receive_or_disconnect, send_no_error) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fef56923ce0> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10> 2026-04-23 22:21:02.212 | └ <open_webui.utils.security_headers.SecurityHeadersMiddleware object at 0x7fef57ac2410> 2026-04-23 22:21:02.212 | 2026-04-23 22:21:02.212 | File "/app/backend/open_webui/utils/asgi_middleware.py", line 215, in __call__ 2026-04-23 22:21:02.212 | await self.app(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fef56923ce0> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0> 2026-04-23 22:21:02.212 | └ <open_webui.utils.asgi_middleware.RedirectMiddleware object at 0x7fef57bcab10> 2026-04-23 22:21:02.212 | 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/__init__.py", line 104, in __call__ 2026-04-23 22:21:02.212 | return await self._zstd(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fef56923ce0> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <member '_zstd' of 'CompressMiddleware' objects> 2026-04-23 22:21:02.212 | └ <starlette_compress.CompressMiddleware object at 0x7fefeccf3bf0> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 107, in __call__ 2026-04-23 22:21:02.212 | await self.app(scope, receive, wrapper) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function ZstdResponder.__call__.<locals>.wrapper at 0x7fef56920e00> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <member 'app' of 'ZstdResponder' objects> 2026-04-23 22:21:02.212 | └ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7fef5ca62800> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ 2026-04-23 22:21:02.212 | await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ │ │ └ <function ZstdResponder.__call__.<locals>.wrapper at 0x7fef56920e00> 2026-04-23 22:21:02.212 | │ │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ │ │ └ <starlette.requests.Request object at 0x7fef56d639d0> 2026-04-23 22:21:02.212 | │ │ └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850> 2026-04-23 22:21:02.212 | │ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7fef57a1a990> 2026-04-23 22:21:02.212 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app 2026-04-23 22:21:02.212 | await app(scope, receive, sender) 2026-04-23 22:21:02.212 | │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56921b20> 2026-04-23 22:21:02.212 | │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ 2026-04-23 22:21:02.212 | await self.app(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56921b20> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90> 2026-04-23 22:21:02.212 | └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fef5e06d850> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 660, in __call__ 2026-04-23 22:21:02.212 | await self.middleware_stack(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56921b20> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7fef5d4a3f90>> 2026-04-23 22:21:02.212 | └ <fastapi.routing.APIRouter object at 0x7fef5d4a3f90> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 680, in app 2026-04-23 22:21:02.212 | await route.handle(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56921b20> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <function Route.handle at 0x7fefea9dc9a0> 2026-04-23 22:21:02.212 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST']) 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle 2026-04-23 22:21:02.212 | await self.app(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56921b20> 2026-04-23 22:21:02.212 | │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ └ <function request_response.<locals>.app at 0x7fef5caa8220> 2026-04-23 22:21:02.212 | └ APIRoute(path='/api/v1/audio/speech', name='speech', methods=['POST']) 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 130, in app 2026-04-23 22:21:02.212 | await wrap_app_handling_exceptions(app, request)(scope, receive, send) 2026-04-23 22:21:02.212 | │ │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56921b20> 2026-04-23 22:21:02.212 | │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | │ │ └ <starlette.requests.Request object at 0x7fef56d60950> 2026-04-23 22:21:02.212 | │ └ <function request_response.<locals>.app.<locals>.app at 0x7fef569220c0> 2026-04-23 22:21:02.212 | └ <function wrap_app_handling_exceptions at 0x7fefea99b420> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app 2026-04-23 22:21:02.212 | await app(scope, receive, sender) 2026-04-23 22:21:02.212 | │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fef56923d80> 2026-04-23 22:21:02.212 | │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fef569216c0> 2026-04-23 22:21:02.212 | │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.17.0.2', 8080), 'c... 2026-04-23 22:21:02.212 | └ <function request_response.<locals>.app.<locals>.app at 0x7fef569220c0> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 116, in app 2026-04-23 22:21:02.212 | response = await f(request) 2026-04-23 22:21:02.212 | │ └ <starlette.requests.Request object at 0x7fef56d60950> 2026-04-23 22:21:02.212 | └ <function get_request_handler.<locals>.app at 0x7fef5caa82c0> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 670, in app 2026-04-23 22:21:02.212 | raw_response = await run_endpoint_function( 2026-04-23 22:21:02.212 | └ <function run_endpoint_function at 0x7fefea9dea20> 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 324, in run_endpoint_function 2026-04-23 22:21:02.212 | return await dependant.call(**values) 2026-04-23 22:21:02.212 | │ │ └ {'user': UserModel(id='040d4c69-b351-47d7-a1fc-bbf380d2097b', email='marc.moussa@gmail.com', username=None, role='admin', nam... 2026-04-23 22:21:02.212 | │ └ <function speech at 0x7fefb7710ae0> 2026-04-23 22:21:02.212 | └ Dependant(path_params=[], query_params=[], header_params=[], cookie_params=[], body_params=[], dependencies=[Dependant(path_p... 2026-04-23 22:21:02.212 | 2026-04-23 22:21:02.212 | > File "/app/backend/open_webui/routers/audio.py", line 594, in speech 2026-04-23 22:21:02.212 | r.raise_for_status() 2026-04-23 22:21:02.212 | │ └ <function ClientResponse.raise_for_status at 0x7fefeac5a520> 2026-04-23 22:21:02.212 | └ <ClientResponse(https://api.mistral.ai/v1/audio/speech) [400 Bad Request]> 2026-04-23 22:21:02.212 | <CIMultiDictProxy('Date': 'Thu, 23 Apr 2026 20:21:... 2026-04-23 22:21:02.212 | 2026-04-23 22:21:02.212 | File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 636, in raise_for_status 2026-04-23 22:21:02.212 | raise ClientResponseError( 2026-04-23 22:21:02.212 | └ <class 'aiohttp.client_exceptions.ClientResponseError'> 2026-04-23 22:21:02.212 | 2026-04-23 22:21:02.212 | aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url='https://api.mistral.ai/v1/audio/speech' 2026-04-23 22:21:02.213 | 2026-04-23 20:21:02.212 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:63294 - "POST /api/v1/audio/speech HTTP/1.1" 400 2026-04-23 22:21:04.296 | 2026-04-23 20:21:04.296 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:63294 - "GET /_app/version.json HTTP/1.1" 304 2026-04-23 22:21:40.995 | 2026-04-23 20:21:40.995 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:22238 - "GET /_app/version.json HTTP/1.1" 200 2026-04-23 22:22:04.701 | 2026-04-23 20:22:04.701 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:27781 - "GET /_app/version.json HTTP/1.1" 304 2026-04-23 22:22:40.995 | 2026-04-23 20:22:40.994 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:28031 - "GET /_app/version.json HTTP/1.1" 200 2026-04-23 22:23:04.704 | 2026-04-23 20:23:04.704 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:56169 - "GET /_app/version.json HTTP/1.1" 304 2026-04-23 22:23:22.235 | 2026-04-23 20:23:22.235 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:50738 - "GET /api/usage HTTP/1.1" 200 2026-04-23 22:23:25.539 | 2026-04-23 20:23:25.538 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:50738 - "GET /ollama/api/version HTTP/1.1" 200 2026-04-23 22:23:25.717 | 2026-04-23 20:23:25.717 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 172.66.2.203:50738 - "GET /api/version/updates HTTP/1.1" 200 2026-04-23 22:23:40.994 | 2026-04-23 20:23:40.994 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:28828 - "GET /_app/version.json HTTP/1.1" 200 2026-04-23 22:23:44.816 | 2026-04-23 20:23:44.815 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:59394 - "GET /api/version/updates HTTP/1.1" 200 2026-04-23 22:23:45.786 | 2026-04-23 20:23:45.786 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:59394 - "GET /api/version/updates HTTP/1.1" 200 2026-04-23 22:24:04.791 | 2026-04-23 20:24:04.791 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:21641 - "GET /_app/version.json HTTP/1.1" 304 2026-04-23 22:24:40.994 | 2026-04-23 20:24:40.994 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 192.168.65.1:56430 - "GET /_app/version.json HTTP/1.1" 200 ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-18 05:49:04 -05:00
Author
Owner

@troed commented on GitHub (Apr 24, 2026):

If it's the same as I had it's because the default/suggested model name no longer exists. Switching to voxtral-mini-tts-2603 worked for me.

<!-- gh-comment-id:4310976804 --> @troed commented on GitHub (Apr 24, 2026): If it's the same as I had it's because the default/suggested model name no longer exists. Switching to voxtral-mini-tts-2603 worked for me.
Author
Owner

@tjbck commented on GitHub (Apr 24, 2026):

Addressed in dev.

<!-- gh-comment-id:4311046319 --> @tjbck commented on GitHub (Apr 24, 2026): Addressed in dev.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#107161