> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kyara-intelligence.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Other OpenAI-compatible apps

> Point any OpenAI-compatible client at Kyara Intelligence by setting three values: base URL, API key, and model ID.

Kyara is a drop-in replacement for OpenAI in any compatible app. Most clients ask for the same three things: a base URL, an API key, and a model. Set those values and your requests flow through the Kyara gateway. Nothing else in your setup changes.

Have a dedicated guide? See [Open WebUI](/integrations/open-webui) and [SillyTavern](/integrations/sillytavern). For everything else, use the three values below.

## The three values

| Setting      | Value                                                                   |
| ------------ | ----------------------------------------------------------------------- |
| **Base URL** | `https://api.kyara-intelligence.com/v1`                                 |
| **API key**  | Your key from the [dashboard](https://kyara-intelligence.com/dashboard) |
| **Model**    | A model ID from the [catalog](https://kyara-intelligence.com/models)    |

<Info>
  Use the base URL exactly as shown, ending in `/v1`. Most clients add
  `/chat/completions` for you, so do **not** include that path yourself. The one
  exception is an app that asks for a full chat-completions URL. In that case,
  append `/chat/completions` as that app instructs.
</Info>

<Warning>
  Kyara is text-only. If an app relies on tool calling, structured outputs,
  vision, or audio, those features will not work. See
  [unsupported features](/reference/unsupported-features) for the full list.
</Warning>

## Check your credentials

Every integration sends the same HTTP request underneath. Run any snippet below to confirm your key works before you configure a specific app.

<CodeGroup>
  ```bash curl theme={null}
  curl https://api.kyara-intelligence.com/v1/chat/completions \
    -H "Authorization: Bearer $KYARA_INTELLIGENCE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "deepseek/deepseek-v4-flash",
      "messages": [
        { "role": "user", "content": "Hello!" }
      ]
    }'
  ```

  ```javascript JavaScript theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    baseURL: "https://api.kyara-intelligence.com/v1",
    apiKey: process.env.KYARA_INTELLIGENCE_API_KEY,
  });

  const response = await client.chat.completions.create({
    model: "deepseek/deepseek-v4-flash",
    messages: [{ role: "user", content: "Hello!" }],
  });

  console.log(response.choices[0].message.content);
  ```

  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      base_url="https://api.kyara-intelligence.com/v1",
      api_key=os.environ["KYARA_INTELLIGENCE_API_KEY"],
  )

  response = client.chat.completions.create(
      model="deepseek/deepseek-v4-flash",
      messages=[{"role": "user", "content": "Hello!"}],
  )

  print(response.choices[0].message.content)
  ```
</CodeGroup>

## More apps

The steps are the same everywhere: set the base URL, paste your key, and choose a model ID. Here are quick notes for a few common clients.

<CardGroup cols={2}>
  <Card title="Cherry Studio" href="https://www.cherry-ai.com/" icon="palette">
    Add an OpenAI provider, set the API host to the base URL, paste your key,
    and add a model ID from the catalog.
  </Card>

  <Card title="Continue" href="https://continue.dev/" icon="code">
    Add a model with provider `openai`, set `apiBase` to the base URL, and
    `apiKey` to your Kyara key. Works in VS Code and JetBrains.
  </Card>

  <Card title="LibreChat" href="https://www.librechat.ai/" icon="message-circle">
    Configure a custom endpoint with the base URL, your key, and the model IDs
    you want to offer users.
  </Card>

  <Card title="Any OpenAI SDK" href="https://kyara-intelligence.com/models" icon="terminal">
    Set `base_url` (or `baseURL`) to the Kyara endpoint and pass your key. No
    other code changes needed.
  </Card>
</CardGroup>
