Run LibreChat on Mingles Router
LibreChat takes any number of OpenAI-compatible endpoints side by side, each as a block in librechat.yaml.
Pick your model and paste your key — every command and value on this page updates live.
Endpoint: https://router.mingles.ai/v1 · key stays in your browser ·
no key entered? commands show <your-key>.
Add the endpoint
1. Put the key in .env
LibreChat resolves ${VAR} from the environment, so the key never sits in the YAML:
MINGLES_API_KEY=<your-key> 2. Add the block to librechat.yaml
endpoints:
custom:
- name: "Mingles"
apiKey: "${MINGLES_API_KEY}"
baseURL: "https://router.mingles.ai/v1"
models:
default: ["deepseek-ai/DeepSeek-V4-Flash-0731"]
fetch: true
titleConvo: true
titleModel: "deepseek-ai/DeepSeek-V4-Flash-0731"
modelDisplayLabel: "Mingles" fetch: true asks the endpoint for its catalogue so new models appear without editing the file. Set it to false and list models by hand if you want the picker fixed.
3. Restart
The new provider shows up in the endpoint selector next to whatever you already had.
docker compose restart api Exact values
| baseURL | https://router.mingles.ai/v1 |
| apiKey | <your-key> |
| models.default | deepseek-ai/DeepSeek-V4-Flash-0731 |
Switch model
Custom endpoints stack — keep OpenAI for the tasks you want it for and put the volume work here, switchable from the same dropdown.
Before you file a bug: read the limits
Reasoning models spend the output budget on internal thinking, output is capped at 8192 tokens, there is no KV cache, and there are no built-in web tools. Most “it broke on Mingles Router” reports are one of these. See Model limits & behavior →
Frequently asked
Can I let each user bring their own key? +
Yes — set apiKey to "user_provided" instead of an environment variable, and LibreChat will ask each user for their own.
Some parameters cause errors. +
Use dropParams to strip the ones a provider does not accept, e.g. dropParams: ["frequency_penalty", "presence_penalty"].