> ## 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.

# LLM proxy

export const ServerConfigSingle = ({table, config, example}) => {
  let hyphens = config.replace(/[A-Z]/g, letter => `-${letter.toLowerCase()}`);
  let underscores = config.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);
  return <CodeGroup>
            <CodeBlock filename="Command line">
                <span>--{table}.{hyphens}={example}</span>
            </CodeBlock>

            <CodeBlock filename="Config file">
                <span>{table}.{underscores} = {example}</span>
            </CodeBlock>
        </CodeGroup>;
};

# Retry attempts

<Badge color="blue">default</Badge> `0`<br />

<ServerConfigSingle table="llm-proxy" config="retryMaxAttempts" example="10" />

If configured to be a value greater than 0, failed proxied LLM requests made to the Coral Server will be retried up to the specified number of times.

The delay between retries is exponential, see:

* [Retry base delay](#retry-base-delay)
* [Retry delay exponent](#retry-delay-exponent)
* [Retry attempts](#retry-attempts)
* [Retry max delay](#retry-max-delay).

# Retry base delay

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

<ServerConfigSingle table="llm-proxy" config="retryExponentialDelay" example="&#x22;3s&#x22;" />

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

If an LLM proxy request fails to reach the configured LLM provider, the request may be retried.

This value serves as the initial delay for the first retry, and, for every subsequent retry, the delay will be increased exponentially by [Retry delay exponent](#retry-delay-exponent).

With the following configuration:

* [Retry base delay](#retry-base-delay) of `1s`
* [Retry delay exponent](#retry-delay-exponent) of `2.0`
* [Retry max delay](#retry-max-delay) of `10s`

Delays between retries will be:

1. `1s`
2. `2s`
3. `4s`
4. `8s`
5. `10s`

# Retry delay exponent

<Badge color="blue">default</Badge> `2.0`<br />

<ServerConfigSingle table="llm-proxy" config="retryDelayExponent" example="2.0" />

The exponent applied to [Retry base delay](#retry-base-delay) between retries.  The exponent is applied after the first retry.  The value must be a floating point number.

# Retry max delay

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

<ServerConfigSingle table="llm-proxy" config="retryMaxDelay" example="&#x22;30s&#x22;" />

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

The maximum delay between retries.  This caps the exponential delay configured with [Retry base delay](#retry-base-delay) and [Retry delay exponent](#retry-delay-exponent).

# Max request size

<Badge color="blue">default</Badge> `20MiB`<br />

<ServerConfigSingle table="llm-proxy" config="maxRequestSize" example="&#x22;10KiB&#x22;" />

A [ByteSize](/reference/types/byte-size) value representing the maximum size of a request that can be proxied to an LLM provider.  Requests made larger
than this size will be rejected.

# Max response size

<Badge color="blue">default</Badge> `80MiB`<br />

<ServerConfigSingle table="llm-proxy" config="maxResponseSize" example="&#x22;1MiB&#x22;" />

A [ByteSize](/reference/types/byte-size) value representing the maximum size of a response that can be read from a proxied LLM provider.  Responses larger
than this size will be rejected, and the LLM request will receive an error.

# Max stream size

<Badge color="blue">default</Badge> `80MiB`<br />

<ServerConfigSingle table="llm-proxy" config="maxStreamSize" example="&#x22;1MiB&#x22;" />

A [ByteSize](/reference/types/byte-size) value representing the maximum size of a response that can be read from a proxied LLM provider via an SSE stream.  This value
is cumulative across the lifetime of the SSE stream.  Responses larger than this size will be rejected, and the LLM request will receive an error.

# Providers

<Badge color="blue">default</Badge> empty array <br />

<Tip>
  Setting a [Coral Cloud API key](/reference/server/cloud#api-key) will automatically configure Coral Server LLM
  proxies for supported Coral Cloud LLM providers and models.
</Tip>

<Warning>
  LLM Proxy providers cannot be configured from the command line.
</Warning>

```toml theme={null}
[[llm-proxy.providers]]
name = "My OpenAI Provider"
format.type = "OpenAI"
api_key = "..."
base_url = "https://api.openai.com/v1"
models = ["gpt-4.1-mini", "gpt-5-mini"]

[[llm-proxy.providers]]
name = "Default Anthropic"
format.type = "Anthropic"
api_key = "..."
base_url = "https://api.anthropic.com"
models = ["claude-opus-4-6", "claude-sonnet-4-0"]
```

An array of [LlmProxyProviderConfig](/reference/types/llm-proxy-provider-config) objects.
