# Vultr Serverless Inference

One API for chat, reasoning, images, video, music, speech, embeddings and document search, compatible with the OpenAI, OpenRouter and Anthropic SDKs.

Requests go to `https://api.vultrinference.com/v1` with your API key as a bearer token. Most clients only need their base URL and key changed: the API speaks the OpenAI and OpenRouter request shapes on its chat, responses, image, video, audio and embeddings routes, and Anthropic's Messages API on `/v1/messages`.

```bash
curl https://api.vultrinference.com/v1/chat/completions \
  -H "Authorization: Bearer $VULTR_INFERENCE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "Write a haiku about the sea."}]
  }'
```

```python
import os

from openai import OpenAI

client = OpenAI(base_url="https://api.vultrinference.com/v1", api_key=os.environ["VULTR_INFERENCE_API_KEY"])

reply = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Write a haiku about the sea."}],
)
print(reply.choices[0].message.content)
```

```typescript
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.vultrinference.com/v1", apiKey: process.env.VULTR_INFERENCE_API_KEY });

const reply = await client.chat.completions.create({
  model: "deepseek-v4.1-flash",
  messages: [{ role: "user", content: "Write a haiku about the sea." }],
});
console.log(reply.choices[0].message.content);
```

## Where to start

- [Quickstart](/docs/get-started/quickstart): a key, a first request, and how to pick a model.
- [SDKs and compatibility](/docs/get-started/sdks): the SDKs that work as they are, and where the API differs from each.
- [Models](/docs/models): every model, its price and what it takes, from the live catalog.
- [Errors](/docs/concepts/errors) and [Limits](/docs/concepts/limits): what can go wrong, and what to retry.
- [Async jobs](/docs/concepts/async-jobs) and [Webhooks](/docs/concepts/webhooks): videos and songs take seconds to minutes; follow them by polling, by stream or by webhook.
- Workflows: [chat over your files](/docs/workflows/chat-over-files), [render a video with webhooks](/docs/workflows/video-webhooks), [Claude Code](/docs/workflows/claude-code).
- Integrations: [coding agents](/docs/integrations/coding-agents) (Codex CLI, OpenCode, OpenClaw, pi, Hermes Agent) and the [model catalog libraries](/docs/integrations/model-catalog).
- [API reference](/docs/reference): every endpoint, its fields and responses, with a request in curl, Python and JavaScript.

## For coding agents

Every page is also Markdown at its own address with `.md` added, [llms.txt](/docs/llms.txt) lists them all, and the whole API is one [OpenAPI document](/docs/openapi.json).
