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

# LlmProxyProviderConfig

A definition for an LLM proxy provider.  This type is only used in the [llm-proxy.providers](/reference/server/llm-proxy#providers) server config.

<Tip>
  Configuration of LLM proxy providers can be skipped by providing a [Coral Cloud API
  key](/reference/server/cloud#api-key).
</Tip>

Any agent that has defined [LLM proxy requests](/reference/types/agent-llm-proxy-request) requires the server to have a suitable LLM proxy provider configured for every request.

### name

<Badge color="red">required</Badge>

The name of the LLM proxy provider.  This must be unique.  Application developers can request the usage of a specific LLM proxy provider by specifying this name in the [proxies map](/api-reference/models/GraphAgentRequest#schema-proxies).

### format.type

<Badge color="red">required</Badge>

```toml theme={null}
[[llm-proxy.providers]]
name = "My OpenAI Provider"
format.type = "OpenAI"
# ...
```

The LLM provider format.  Current supported types are:

* `OpenAI`
* `Anthropic`

### models

<Badge color="blue">optional</Badge>

```toml theme={null}
[[llm-proxy.providers]]
name = "My OpenAI Provider"
format.type = "OpenAI"
models = ["gpt-4.1-mini", "gpt-5-mini"]
allow_any_model = true
# ...
```

An array of models that this provider supports.  This may be omitted if [allow\_any\_model](#allow_any_model) is set to `true`.  Note that if this is
empty, the default value of [allow\_any\_model](#allow_any_model) is `true`.

### api\_key

<Badge color="red">required</Badge>

```toml theme={null}
[[llm-proxy.providers]]
name = "My OpenAI Provider"
format.type = "OpenAI"
api_key = "sk-..."
# ...
```

The API key to use for this provider.

### base\_url

<Badge color="red">required</Badge>

```toml theme={null}
[[llm-proxy.providers]]
name = "My OpenAI Provider"
format.type = "OpenAI"
base_url = "https://api.openai.com/v1"
# ...
```

The base URL to use for this provider.  Requests will be made to this URL with the path of the request appended.

**Example base URLs**

| Provider               | Base URL                                           |
| ---------------------- | -------------------------------------------------- |
| AI21 Labs              | `https://api.ai21.com/studio/v1`                   |
| Aleph Alpha            | `https://api.aleph-alpha.com`                      |
| Anthropic              | `https://api.anthropic.com/v1`                     |
| Cohere                 | `https://api.cohere.ai/v1`                         |
| DeepSeek               | `https://api.deepseek.com/v1`                      |
| Fireworks AI           | `https://api.fireworks.ai/inference/v1`            |
| Google Gemini          | `https://generativelanguage.googleapis.com/v1beta` |
| Groq                   | `https://api.groq.com/openai/v1`                   |
| Hugging Face Inference | `https://api-inference.huggingface.co/models`      |
| Meta (Llama via API)   | `https://api.llama.com/v1`                         |
| Mistral AI             | `https://api.mistral.ai/v1`                        |
| Nvidia NIM             | `https://integrate.api.nvidia.com/v1`              |
| OpenAI                 | `https://api.openai.com/v1`                        |
| OpenRouter             | `https://openrouter.ai/api/v1`                     |
| Perplexity AI          | `https://api.perplexity.ai`                        |
| Replicate              | `https://api.replicate.com/v1`                     |
| Together AI            | `https://api.together.xyz/v1`                      |
| Voyage AI (embeddings) | `https://api.voyageai.com/v1`                      |
| xAI (Grok)             | `https://api.x.ai/v1`                              |

### timeout

<Badge color="blue">default </Badge> `10s` <br />
<Badge color="blue">optional</Badge>

```toml theme={null}
[[llm-proxy.providers]]
name = "My OpenAI Provider"
format.type = "OpenAI"
timeout = "30s"
# ...
```

See [here](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.time/-duration/-companion/parse.html) for more information on the duration format.

A timeout for requests made to this provider.  Slower providers may require a longer timeout.

### allow\_any\_model

<Badge color="blue">optional</Badge>

```toml theme={null}
[[llm-proxy.providers]]
name = "My OpenAI Provider"
format.type = "OpenAI"
allow_any_model = true
# ...
```

If `true`, this provider will match a request for any model that matches the specified [format](#format-type).  This is useful for defining fallback providers that can handle many models, e.g., OpenRouter.

Resolution of [AgentLlmProxyRequest](/reference/types/agent-llm-proxy-request) will prioritize providers that have explicitly specified a model over providers that allow any model.

The default value is `false` if [models](#models) contains at least one model and `true` otherwise.
