Back to Kilocode

Using ZenMux with Kilo Code | Unified AI Gateway

packages/kilo-docs/pages/ai-providers/zenmux.md

7.3.416.1 KB
Original Source

Using ZenMux With Kilo Code

ZenMux provides a unified API gateway to access multiple AI models from different providers through a single endpoint. It supports OpenAI, Anthropic, Google, and other major AI providers, automatically handling routing, fallbacks, and cost optimization.

Getting Started

  1. Sign up for ZenMux: Visit zenmux.ai to create an account.
  2. Get your API key: After signing up, navigate to your dashboard to generate an API key.
  3. Configure in Kilo Code: Add your API key to Kilo Code settings.

Configuration in Kilo Code

{% tabs %} {% tab label="VSCode (Legacy)" %}

  1. Open Kilo Code Settings: Click the gear icon ({% codicon name="gear" /%}) in the Kilo Code panel.
  2. Select Provider: Choose "ZenMux" from the "API Provider" dropdown.
  3. Enter API Key: Paste your ZenMux API key into the "ZenMux API Key" field.
  4. Select Model: Choose your desired model from the "Model" dropdown.
  5. (Optional) Custom Base URL: If you need to use a custom base URL for the ZenMux API, check "Use custom base URL" and enter the URL. Leave this blank for most users.

{% /tab %} {% tab label="VSCode" %}

Open Settings (gear icon) and go to the Providers tab to add ZenMux and enter your API key.

The extension stores this in your kilo.json config file. You can also edit the config file directly — see the CLI tab for the file format.

{% /tab %} {% tab label="CLI" %}

Set the API key as an environment variable or configure it in your kilo.json config file:

Environment variable:

bash
export ZENMUX_API_KEY="your-api-key"

Config file (~/.config/kilo/kilo.json or ./kilo.json):

jsonc
{
  "provider": {
    "zenmux": {
      "env": ["ZENMUX_API_KEY"],
    },
  },
}

Then set your default model:

jsonc
{
  "model": "zenmux/openai/gpt-5",
}

{% /tab %} {% /tabs %}

Supported Models

ZenMux supports a wide range of models from various providers:

Visit zenmux.ai/models to see the complete list of available models.

Other Providers

ZenMux also supports models from Meta, Mistral, and many other providers. Check your ZenMux dashboard for the complete list of available models.

API Compatibility

ZenMux provides multiple API endpoints for different protocols:

OpenAI Compatible API

Use the standard OpenAI SDK with ZenMux's base URL:

javascript
import OpenAI from "openai"

const openai = new OpenAI({
  baseURL: "https://zenmux.ai/api/v1",
  apiKey: "<ZENMUX_API_KEY>",
})

async function main() {
  const completion = await openai.chat.completions.create({
    model: "openai/gpt-5",
    messages: [
      {
        role: "user",
        content: "What is the meaning of life?",
      },
    ],
  })

  console.log(completion.choices[0].message)
}

main()

Anthropic API

For Anthropic models, use the dedicated endpoint:

typescript
import Anthropic from "@anthropic-ai/sdk"

// 1. Initialize the Anthropic client
const anthropic = new Anthropic({
  // 2. Replace with the API key from your ZenMux console
  apiKey: "<YOUR ZENMUX_API_KEY>",
  // 3. Point the base URL to the ZenMux endpoint
  baseURL: "https://zenmux.ai/api/anthropic",
})

async function main() {
  const msg = await anthropic.messages.create({
    model: "anthropic/claude-sonnet-4.5",
    max_tokens: 1024,
    messages: [{ role: "user", content: "Hello, Claude" }],
  })
  console.log(msg)
}

main()

Platform API

The Get generation interface is used to query generation information, such as usage and costs.

bash
curl https://zenmux.ai/api/v1/generation?id=<generation_id> \
  -H "Authorization: Bearer $ZENMUX_API_KEY"

Google Vertex AI API

For Google models:

typescript
const genai = require("@google/genai")

const client = new genai.GoogleGenAI({
  apiKey: "$ZENMUX_API_KEY",
  vertexai: true,
  httpOptions: {
    baseUrl: "https://zenmux.ai/api/vertex-ai",
    apiVersion: "v1",
  },
})

const response = await client.models.generateContent({
  model: "google/gemini-2.5-pro",
  contents: "How does AI work?",
})
console.log(response)

Features

Automatic Routing

ZenMux automatically routes your requests to the best available provider based on:

  • Model availability
  • Response time
  • Cost optimization
  • Provider health status

Fallback Support

If a provider is unavailable, ZenMux automatically falls back to alternative providers that support the same model capabilities.

Cost Optimization

ZenMux can be configured to optimize for cost, routing requests to the most cost-effective provider while maintaining quality.

Zero Data Retention (ZDR)

Enable ZDR mode to ensure that no request or response data is stored by ZenMux, providing maximum privacy for sensitive applications.

Advanced Configuration

Provider Routing

You can specify routing preferences:

  • Price: Route to the lowest cost provider
  • Throughput: Route to the provider with highest tokens/second
  • Latency: Route to the provider with fastest response time

Data Collection Settings

Control how ZenMux handles your data:

  • Allow: Allow data collection for service improvement
  • Deny: Disable all data collection

Middle-Out Transform

Enable the middle-out transform feature to optimize prompts that exceed model context limits.

Troubleshooting

API Key Issues

  • Ensure your API key is correctly copied without any extra spaces
  • Check that your ZenMux account is active and has available credits
  • Verify the API key has the necessary permissions

Model Availability

  • Some models may have regional restrictions
  • Check the ZenMux dashboard for current model availability
  • Ensure your account tier has access to the desired models

Connection Issues

  • Verify your internet connection
  • Check if you're behind a firewall that might block API requests
  • Try using a custom base URL if the default endpoint is blocked

Support

For additional support: