NewPoint any agent at UberLLM — one key, every model, list price or less.

Aider with a cheaper OpenAI-compatible API (UberLLM)

Set OPENAI_API_BASE=https://api.uberllm.dev/v1 and OPENAI_API_KEY to your UberLLM key, then run aider --model openai/<UberLLM model id>. Add a .aider.model.settings.yml so Aider edits with diffs and uses its repo map.

Steps

  1. Make a key on your keys page and add credit.
  2. Set two variables:
export OPENAI_API_BASE=https://api.uberllm.dev/v1
export OPENAI_API_KEY=ull_your_key

Windows: setx OPENAI_API_BASE https://api.uberllm.dev/v1 and setx OPENAI_API_KEY ull_your_key, then open a new terminal.

  1. Run Aider with openai/ in front of the UberLLM id:
aider --model openai/moonshotai/kimi-k3 --weak-model openai/deepseek/deepseek-v4.1-flash

openai/ tells Aider to use the OpenAI-compatible route. Only that first part is removed, so the id that reaches UberLLM is moonshotai/kimi-k3.

Make edits work well (important)

Aider picks edit settings by model name. For a model it does not know, it falls back to rewriting whole files and turns the repo map off: slower, more tokens, worse results. Tell it the right settings in .aider.model.settings.yml (in your home folder or the repo root):

- name: openai/moonshotai/kimi-k3
  edit_format: diff
  use_repo_map: true

name must be exactly what you pass to --model.

Silence the "unknown context window" warning

Aider warns that it does not know the model's size and price. Give it the numbers in .aider.model.metadata.json, using the model's page on uberllm.dev/models:

{
  "openai/moonshotai/kimi-k3": {
    "max_input_tokens": 200000,
    "max_output_tokens": 32000,
    "input_cost_per_token": 0.000001,
    "output_cost_per_token": 0.000004,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}

The numbers are an example: copy the real context length, and divide the per-1M prices in the table below by 1,000,000. Aider then shows a cost close to what you pay. Or just turn the warning off with show-model-warnings: false.

Keep it in a config file

.aider.conf.yml in your home folder or repo:

openai-api-base: https://api.uberllm.dev/v1
openai-api-key: ull_your_key
model: openai/moonshotai/kimi-k3
weak-model: openai/deepseek/deepseek-v4.1-flash

Do not commit a file that contains your key.

Troubleshooting

  • "Unknown context window size and costs": harmless; add the metadata file above.
  • Aider rewrites whole files: the settings file is missing or its name does not match --model.
  • 404 model not found: the openai/ prefix is missing, or the id after it is wrong.
  • Variables ignored on Windows: setx only applies to new terminals.
  • 402 insufficient credits: add credit on the credits page.

Keep reading

Strong models for Aider

The first one is in the commands below.

ModelModel id (paste this)Price now
Kimi K3moonshotai/kimi-k3$0.0032 in · $0.2475 out / 1M
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.0070 in · $0.0783 out / 1M
GLM 5.3z-ai/glm-5.3$0.0023 in · $0.0469 out / 1M
Claude Sonnet 5.5anthropic/claude-sonnet-5.5$0.7610 in · $3.80 out / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 in · $0.0100 out / 1M
GPT-5.5openai/gpt-5.5$0.9625 in · $5.78 out / 1M
Claude Opus 5.5anthropic/claude-opus-5.5$1.58 in · $7.88 out / 1M
DeepSeek V4 Prodeepseek/deepseek-v4-pro$0.3016 in · $0.6032 out / 1M
MiniMax M3minimax/minimax-m3$0.2034 in · $0.8136 out / 1M

Prices at the last hourly build, no fee added · every model →

Weak model (commit messages, summaries)

Aider uses the weak model for small jobs; a cheap one saves money.

ModelModel id (paste this)Price now
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash$0.0070 in · $0.0783 out / 1M
GLM 5.3z-ai/glm-5.3$0.0023 in · $0.0469 out / 1M
Qwen 3 Coder 480bqwen/qwen3-coder$0.0030 in · $0.0100 out / 1M
DeepSeek V3.2deepseek/deepseek-v3.2$0.0026 in · $0.0038 out / 1M
GPT-OSS 120Bopenai/gpt-oss-120b$0.00014 in · $0.00060 out / 1M
Kimi K2 Thinkingmoonshotai/kimi-k2-thinking$0.0060 in · $0.0250 out / 1M

Prices at the last hourly build, no fee added · every model →

FAQ

How do I use Aider with UberLLM?

Set OPENAI_API_BASE=https://api.uberllm.dev/v1 and OPENAI_API_KEY to your UberLLM key, then run aider --model openai/<model id>, for example openai/deepseek/deepseek-v4.1-flash.

Why does Aider rewrite whole files with my UberLLM model?

Aider does not recognise the model name, so it uses its safest edit format. Add a .aider.model.settings.yml entry with edit_format: diff and use_repo_map: true for that model.