[GH-ISSUE #21230] issue: connecting to api.minimaxi.com/v1 encounter "OpenAI: Network Problem" #34948

Closed
opened 2026-04-25 09:07:27 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @silenceroom on GitHub (Feb 7, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/21230

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.7.2

Ollama Version (if applicable)

No response

Operating System

K8S

Browser (if applicable)

Chrome

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

API verify and conenection success after create the connection to Minimax's API

Actual Behavior

The verify process reported an error for connection to https://api.minimaxi.com/v1
OpenAI: Network Problem

  1. Other connection (such as Azure AI, DeepSeek etc) works perfect.
  2. The same api/endpoint (api.minimaxi.com) works perfect on other tools such as CherryStudio

Steps to Reproduce

  1. Create new connection
  2. URL: https://api.minimaxi.com/v1
  3. Key
  4. Manualy put "MiniMax-M2.1" into the models ID whitelist.
  5. Click "verify", an error popup on the top right coner.
Image

Logs & Screenshots

Chrome Console Log

Image

On the same instance, verify process to other API provider works fine:

Image

Docker Log:
Image

Additional Information

Really didn't find anything informative aobut this case, did anyone running into the same issue like me?

Originally created by @silenceroom on GitHub (Feb 7, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/21230 ### 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.7.2 ### Ollama Version (if applicable) _No response_ ### Operating System K8S ### Browser (if applicable) Chrome ### 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 API verify and conenection success after create the connection to Minimax's API ### Actual Behavior The verify process reported an error for connection to https://api.minimaxi.com/v1 OpenAI: Network Problem 1. Other connection (such as Azure AI, DeepSeek etc) works perfect. 2. The same api/endpoint (api.minimaxi.com) works perfect on other tools such as CherryStudio ### Steps to Reproduce 1. Create new connection 2. URL: https://api.minimaxi.com/v1 3. Key 4. Manualy put "MiniMax-M2.1" into the models ID whitelist. 5. Click "verify", an error popup on the top right coner. <img width="1139" height="768" alt="Image" src="https://github.com/user-attachments/assets/e207734e-8980-4076-b27d-15f3fb3c9b8b" /> ### Logs & Screenshots Chrome Console Log <img width="978" height="504" alt="Image" src="https://github.com/user-attachments/assets/444f823c-4d28-40f8-b56a-02b4722e2b5b" /> On the same instance, verify process to other API provider works fine: <img width="752" height="180" alt="Image" src="https://github.com/user-attachments/assets/fe63eacb-6918-4e7d-a827-ac805b045f43" /> Docker Log: <img width="1463" height="350" alt="Image" src="https://github.com/user-attachments/assets/96cf1191-528a-4572-8f52-23ad965adc12" /> ### Additional Information Really didn't find anything informative aobut this case, did anyone running into the same issue like me?
GiteaMirror added the bugconfirmed issue labels 2026-04-25 09:07:27 -05:00
Author
Owner

@owui-terminator[bot] commented on GitHub (Feb 7, 2026):

🔍 Similar Issues Found

I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:

  1. #21227 issue: OpenAI connection model retrieval fails with OAuth: GitHub session token not used, 401 error
    by uesleilima • Feb 06, 2026 • bug

  2. #19906 issue: Openai API problem: Unrecognized request argument supplied: keep_alive
    by nehogyirj • Dec 12, 2025 • bug

  3. #21023 issue: Apis broken! /v1 error 503, all accessible despite Endpoint restrictions
    by dingausmwald • Jan 29, 2026 • bug


💡 Tips:

  • If this is a duplicate, please consider closing this issue and adding any additional details to the existing one
  • If you found a solution in any of these issues, please share it here to help others

This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.

<!-- gh-comment-id:3863530436 --> @owui-terminator[bot] commented on GitHub (Feb 7, 2026): 🔍 **Similar Issues Found** I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions: 1. [#21227](https://github.com/open-webui/open-webui/issues/21227) **issue: OpenAI connection model retrieval fails with OAuth: GitHub session token not used, 401 error** *by uesleilima • Feb 06, 2026 • `bug`* 2. [#19906](https://github.com/open-webui/open-webui/issues/19906) **issue: Openai API problem: Unrecognized request argument supplied: keep_alive** *by nehogyirj • Dec 12, 2025 • `bug`* 3. [#21023](https://github.com/open-webui/open-webui/issues/21023) **issue: Apis broken! /v1 error 503, all accessible despite Endpoint restrictions** *by dingausmwald • Jan 29, 2026 • `bug`* --- 💡 **Tips:** - If this is a duplicate, please consider closing this issue and adding any additional details to the existing one - If you found a solution in any of these issues, please share it here to help others *This comment was generated automatically by a bot.* Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
Author
Owner

@silenceroom commented on GitHub (Feb 7, 2026):

Update:

While the "verify" reported an error, the model itself actually works well.... Really werid.

<!-- gh-comment-id:3863653279 --> @silenceroom commented on GitHub (Feb 7, 2026): Update: While the "verify" reported an error, the model itself actually works well.... Really werid.
Author
Owner

@silentoplayz commented on GitHub (Feb 7, 2026):

I am able to confirm this issue occurs on my end on the latest dev branch.

Image Image

The model is usable within a chat without issue, but the Verify button to verify the connection within the Connections tab of the admin panel throws the following error:

Backend logs from Open WebUI

2026-02-07 00:53:41.910 | ERROR    | open_webui.routers.openai:get_models:617 - Client error: 404, message='Attempt to decode JSON with unexpected mimetype: text/plain', url='https://api.minimax.io/v1/models'
Traceback (most recent call last):

  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module>
    uvicorn.main()
            <Command main>
     <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/__init__.py'>
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in __call__
    return self.main(*args, **kwargs)
                            {}
                     ()
                <function Command.main at 0x7fa9ead93100>
            <Command main>
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main
    rv = self.invoke(ctx)
                    <click.core.Context object at 0x7fa9ebaba590>
              <function Command.invoke at 0x7fa9ead92de0>
          <Command main>
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke
    return ctx.invoke(self.callback, **ctx.params)
                                       {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
                                    <click.core.Context object at 0x7fa9ebaba590>
                         <function main at 0x7fa9eab83920>
                     <Command main>
               <function Context.invoke at 0x7fa9ead92020>
            <click.core.Context object at 0x7fa9ebaba590>
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke
    return callback(*args, **kwargs)
                            {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ...
                     ()
            <function main at 0x7fa9eab83920>
  File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 424, in main
    run(
     <function run at 0x7fa9eac2db20>
  File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 594, in run
    server.run()
           <function Server.run at 0x7fa9eac2d3a0>
     <uvicorn.server.Server object at 0x7fa9eadbfa90>
  File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 67, in run
    return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory())
                                                                        <function Config.get_loop_factory at 0x7fa9ead585e0>
                                                                  <uvicorn.config.Config object at 0x7fa9ebababd0>
                                                              <uvicorn.server.Server object at 0x7fa9eadbfa90>
                                        None
                           <function Server.serve at 0x7fa9eac2d440>
                       <uvicorn.server.Server object at 0x7fa9eadbfa90>
            <function asyncio_run at 0x7fa9ead96020>
  File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run
    return runner.run(main)
                     <coroutine object Server.serve at 0x7fa9eaae74c0>
                  <function Runner.run at 0x7fa9eafe8fe0>
            <asyncio.runners.Runner object at 0x7fa9eac868d0>
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
                                       <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:71> wai...
                     <cyfunction Loop.run_until_complete at 0x7fa9eabaa140>
                <uvloop.Loop running=True closed=False debug=False>
            <asyncio.runners.Runner object at 0x7fa9eac868d0>
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
                                              <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fa938946ac0>
                        <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
                  {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
          │    └ <starlette_compress.CompressMiddleware object at 0x7fa93c5fe430>
          └ <open_webui.main.RedirectMiddleware object at 0x7fa93ce97990>
  File "/usr/local/lib/python3.11/site-packages/starlette_compress/__init__.py", line 104, in __call__
    return await self._zstd(scope, receive, send)
                 │    │     │      │        └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fa938946ac0>
                 │    │     │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
                 │    │     └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
                      <member '_zstd' of 'CompressMiddleware' objects>
                  <starlette_compress.CompressMiddleware object at 0x7fa93c5fe430>
  File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 107, in __call__
    await self.app(scope, receive, wrapper)
                                <function ZstdResponder.__call__.<locals>.wrapper at 0x7fa9389471a0>
                        <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
                  {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
          │    └ <member 'app' of 'ZstdResponder' objects>
          └ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7fa93c8437c0>
  File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
          │                            │    │    │     │      │        └ <function ZstdResponder.__call__.<locals>.wrapper at 0x7fa9389471a0>
          │                            │    │    │     │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
          │                            │    │    │     └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
                                               <starlette.requests.Request object at 0x7fa91b603a10>
                                           <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fa93c842f90>
                                       <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7fa93cca9450>
           <function wrap_app_handling_exceptions at 0x7fa9e83d63e0>
  File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
                            <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0>
                    <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
              {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
          └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fa93c842f90>
  File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
          │    │   │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0>
          │    │   │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
          │    │   └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
               <fastapi.routing.APIRouter object at 0x7fa93cced010>
           <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fa93c842f90>
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 716, in __call__
    await self.middleware_stack(scope, receive, send)
                                             <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0>
                                     <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
                               {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
          │    └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7fa93cced010>>
          └ <fastapi.routing.APIRouter object at 0x7fa93cced010>
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 736, in app
    await route.handle(scope, receive, send)
          │     │      │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0>
          │     │      │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
          │     │      └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
                <function Route.handle at 0x7fa9e83d79c0>
           APIRoute(path='/openai/models/{url_idx}', name='get_models', methods=['GET'])
  File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle
    await self.app(scope, receive, send)
                                <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0>
                        <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
                  {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
          │    └ <function request_response.<locals>.app at 0x7fa93cdb0360>
          └ APIRoute(path='/openai/models/{url_idx}', name='get_models', methods=['GET'])
  File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 115, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
          │                            │    │        │      │        └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0>
          │                            │    │        │      └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
          │                            │    │        └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
                                           <starlette.requests.Request object at 0x7fa91b64e210>
                                       <function request_response.<locals>.app.<locals>.app at 0x7fa938946ca0>
           <function wrap_app_handling_exceptions at 0x7fa9e83d63e0>
  File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
                            <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa938945b20>
                    <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00>
              {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c...
          └ <function request_response.<locals>.app.<locals>.app at 0x7fa938946ca0>
  File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 101, in app
    response = await f(request)
                     │ └ <starlette.requests.Request object at 0x7fa91b64e210>
                     └ <function get_request_handler.<locals>.app at 0x7fa93cdb0220>
  File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 355, in app
    raw_response = await run_endpoint_function(
                         └ <function run_endpoint_function at 0x7fa9e8409940>
  File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 243, in run_endpoint_function
    return await dependant.call(**values)
                 │         │      └ {'user': UserModel(id='98d73112-48f6-435e-bf1f-70acc7ccddb5', email='jacwoo21@outlook.com', username=None, role='admin', name...
                 │         └ <function get_models at 0x7fa93ee41bc0>
                 └ Dependant(path_params=[ModelField(field_info=Path(PydanticUndefined), name='url_idx', mode='validation', config=None)], query...

> File "/app/backend/open_webui/routers/openai.py", line 588, in get_models
    res = await r.json()
                │ └ <function ClientResponse.json at 0x7fa9e8a1e7a0>
                └ <ClientResponse(https://api.minimax.io/v1/models) [404 404 Page not found]>
                  <CIMultiDictProxy('Date': 'Sat, 07 Feb 2026 05:53...

  File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 756, in json
    raise ContentTypeError(
           <class 'aiohttp.client_exceptions.ContentTypeError'>

aiohttp.client_exceptions.ContentTypeError: 404, message='Attempt to decode JSON with unexpected mimetype: text/plain', url='https://api.minimax.io/v1/models'
<!-- gh-comment-id:3863672757 --> @silentoplayz commented on GitHub (Feb 7, 2026): I am able to confirm this issue occurs on my end on the latest `dev` branch. <img width="2558" height="1277" alt="Image" src="https://github.com/user-attachments/assets/10fd143a-867c-4bf7-8670-1187678d2c3b" /> <img width="2315" height="775" alt="Image" src="https://github.com/user-attachments/assets/d4be3bc4-c013-4fb5-b5bc-b71ce99ea572" /> The model is usable within a chat without issue, but the `Verify` button to verify the connection within the `Connections` tab of the admin panel throws the following error: ### Backend logs from Open WebUI ```js 2026-02-07 00:53:41.910 | ERROR | open_webui.routers.openai:get_models:617 - Client error: 404, message='Attempt to decode JSON with unexpected mimetype: text/plain', url='https://api.minimax.io/v1/models' Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module> uvicorn.main() │ └ <Command main> └ <module 'uvicorn' from '/usr/local/lib/python3.11/site-packages/uvicorn/__init__.py'> File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1485, in __call__ return self.main(*args, **kwargs) │ │ │ └ {} │ │ └ () │ └ <function Command.main at 0x7fa9ead93100> └ <Command main> File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1406, in main rv = self.invoke(ctx) │ │ └ <click.core.Context object at 0x7fa9ebaba590> │ └ <function Command.invoke at 0x7fa9ead92de0> └ <Command main> File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1269, in invoke return ctx.invoke(self.callback, **ctx.params) │ │ │ │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... │ │ │ │ └ <click.core.Context object at 0x7fa9ebaba590> │ │ │ └ <function main at 0x7fa9eab83920> │ │ └ <Command main> │ └ <function Context.invoke at 0x7fa9ead92020> └ <click.core.Context object at 0x7fa9ebaba590> File "/usr/local/lib/python3.11/site-packages/click/core.py", line 824, in invoke return callback(*args, **kwargs) │ │ └ {'host': '0.0.0.0', 'port': 8080, 'forwarded_allow_ips': '*', 'workers': 1, 'app': 'open_webui.main:app', 'uds': None, 'fd': ... │ └ () └ <function main at 0x7fa9eab83920> File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 424, in main run( └ <function run at 0x7fa9eac2db20> File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 594, in run server.run() │ └ <function Server.run at 0x7fa9eac2d3a0> └ <uvicorn.server.Server object at 0x7fa9eadbfa90> File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 67, in run return asyncio_run(self.serve(sockets=sockets), loop_factory=self.config.get_loop_factory()) │ │ │ │ │ │ └ <function Config.get_loop_factory at 0x7fa9ead585e0> │ │ │ │ │ └ <uvicorn.config.Config object at 0x7fa9ebababd0> │ │ │ │ └ <uvicorn.server.Server object at 0x7fa9eadbfa90> │ │ │ └ None │ │ └ <function Server.serve at 0x7fa9eac2d440> │ └ <uvicorn.server.Server object at 0x7fa9eadbfa90> └ <function asyncio_run at 0x7fa9ead96020> File "/usr/local/lib/python3.11/site-packages/uvicorn/_compat.py", line 30, in asyncio_run return runner.run(main) │ │ └ <coroutine object Server.serve at 0x7fa9eaae74c0> │ └ <function Runner.run at 0x7fa9eafe8fe0> └ <asyncio.runners.Runner object at 0x7fa9eac868d0> File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) │ │ │ └ <Task pending name='Task-1' coro=<Server.serve() running at /usr/local/lib/python3.11/site-packages/uvicorn/server.py:71> wai... │ │ └ <cyfunction Loop.run_until_complete at 0x7fa9eabaa140> │ └ <uvloop.Loop running=True closed=False debug=False> └ <asyncio.runners.Runner object at 0x7fa9eac868d0> File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro await self.app(scope, receive_or_disconnect, send_no_error) │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fa938946ac0> │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ └ <starlette_compress.CompressMiddleware object at 0x7fa93c5fe430> └ <open_webui.main.RedirectMiddleware object at 0x7fa93ce97990> File "/usr/local/lib/python3.11/site-packages/starlette_compress/__init__.py", line 104, in __call__ return await self._zstd(scope, receive, send) │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error at 0x7fa938946ac0> │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ └ <member '_zstd' of 'CompressMiddleware' objects> └ <starlette_compress.CompressMiddleware object at 0x7fa93c5fe430> File "/usr/local/lib/python3.11/site-packages/starlette_compress/_zstd_legacy.py", line 107, in __call__ await self.app(scope, receive, wrapper) │ │ │ │ └ <function ZstdResponder.__call__.<locals>.wrapper at 0x7fa9389471a0> │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ └ <member 'app' of 'ZstdResponder' objects> └ <starlette_compress._zstd_legacy.ZstdResponder object at 0x7fa93c8437c0> File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) │ │ │ │ │ │ └ <function ZstdResponder.__call__.<locals>.wrapper at 0x7fa9389471a0> │ │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ │ │ └ <starlette.requests.Request object at 0x7fa91b603a10> │ │ └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fa93c842f90> │ └ <starlette.middleware.exceptions.ExceptionMiddleware object at 0x7fa93cca9450> └ <function wrap_app_handling_exceptions at 0x7fa9e83d63e0> File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0> │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fa93c842f90> File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0> │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ └ <fastapi.routing.APIRouter object at 0x7fa93cced010> └ <fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware object at 0x7fa93c842f90> File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 716, in __call__ await self.middleware_stack(scope, receive, send) │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0> │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ └ <bound method Router.app of <fastapi.routing.APIRouter object at 0x7fa93cced010>> └ <fastapi.routing.APIRouter object at 0x7fa93cced010> File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 736, in app await route.handle(scope, receive, send) │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0> │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ └ <function Route.handle at 0x7fa9e83d79c0> └ APIRoute(path='/openai/models/{url_idx}', name='get_models', methods=['GET']) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle await self.app(scope, receive, send) │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0> │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ └ <function request_response.<locals>.app at 0x7fa93cdb0360> └ APIRoute(path='/openai/models/{url_idx}', name='get_models', methods=['GET']) File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 115, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) │ │ │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa9389476a0> │ │ │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ │ │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... │ │ └ <starlette.requests.Request object at 0x7fa91b64e210> │ └ <function request_response.<locals>.app.<locals>.app at 0x7fa938946ca0> └ <function wrap_app_handling_exceptions at 0x7fa9e83d63e0> File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) │ │ │ └ <function wrap_app_handling_exceptions.<locals>.wrapped_app.<locals>.sender at 0x7fa938945b20> │ │ └ <function BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect at 0x7fa938944e00> │ └ {'type': 'http', 'asgi': {'version': '3.0', 'spec_version': '2.3'}, 'http_version': '1.1', 'server': ('172.23.0.5', 8080), 'c... └ <function request_response.<locals>.app.<locals>.app at 0x7fa938946ca0> File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 101, in app response = await f(request) │ └ <starlette.requests.Request object at 0x7fa91b64e210> └ <function get_request_handler.<locals>.app at 0x7fa93cdb0220> File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 355, in app raw_response = await run_endpoint_function( └ <function run_endpoint_function at 0x7fa9e8409940> File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 243, in run_endpoint_function return await dependant.call(**values) │ │ └ {'user': UserModel(id='98d73112-48f6-435e-bf1f-70acc7ccddb5', email='jacwoo21@outlook.com', username=None, role='admin', name... │ └ <function get_models at 0x7fa93ee41bc0> └ Dependant(path_params=[ModelField(field_info=Path(PydanticUndefined), name='url_idx', mode='validation', config=None)], query... > File "/app/backend/open_webui/routers/openai.py", line 588, in get_models res = await r.json() │ └ <function ClientResponse.json at 0x7fa9e8a1e7a0> └ <ClientResponse(https://api.minimax.io/v1/models) [404 404 Page not found]> <CIMultiDictProxy('Date': 'Sat, 07 Feb 2026 05:53... File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 756, in json raise ContentTypeError( └ <class 'aiohttp.client_exceptions.ContentTypeError'> aiohttp.client_exceptions.ContentTypeError: 404, message='Attempt to decode JSON with unexpected mimetype: text/plain', url='https://api.minimax.io/v1/models' ```
Author
Owner

@Classic298 commented on GitHub (Feb 7, 2026):

I believe this could be that the verify button may query the /models endpoint but minimax doesnt have that?

<!-- gh-comment-id:3864040566 --> @Classic298 commented on GitHub (Feb 7, 2026): I believe this could be that the verify button may query the /models endpoint but minimax doesnt have that?
Author
Owner

@Classic298 commented on GitHub (Feb 7, 2026):

Yeah not sure this should be fixed.
It makes sense to query /models to verify the endpoint works

But if the API doesnt have an /models endpoint like MiniMax then you'll get a 404 as an error

<!-- gh-comment-id:3864050280 --> @Classic298 commented on GitHub (Feb 7, 2026): Yeah not sure this should be fixed. It makes sense to query /models to verify the endpoint works But if the API doesnt have an /models endpoint like MiniMax then you'll get a 404 as an error
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#34948