> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.empiriolabs.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.empiriolabs.ai/_mcp/server.

# Getting Started

Use this guide to go from a new API key to a working chat completion in under a minute.

## Base URL

```
https://api.empiriolabs.ai
```

All endpoints live under the `/v1/` path prefix.

## Prerequisites

Before you begin, make sure you have:

* an EmpirioLabs account at [platform.empiriolabs.ai](https://platform.empiriolabs.ai)
* prepaid credits or a subscription plan on your account (both on the dashboard Billing page)
* an API key from the dashboard (keys use the `sk-empiriolabs-` prefix)
* a tool for making HTTPS requests such as cURL, Postman, or the OpenAI SDK

## Quickstart

#### Export your API key

```bash
export EMPIRIOLABS_API_KEY="sk-empiriolabs-your_key_here"
```

#### List available models

```bash
curl "https://api.empiriolabs.ai/v1/models" \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
```

The response returns the full model catalog with pricing, context windows, regions, and parameter metadata for each model. Filter to only available models with `?available=true`.

#### Send a chat completion

```bash
curl "https://api.empiriolabs.ai/v1/chat/completions" \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-7-max",
    "messages": [
      { "role": "user", "content": "What is EmpirioLabs AI?" }
    ]
  }'
```

A successful response returns a chat completion object with the model's reply, token usage counts, and cost metadata.

#### Try with the OpenAI SDK

Because the `/v1/chat/completions` endpoint is OpenAI-compatible, you can point the official OpenAI SDK at EmpirioLabs:

```python
from openai import OpenAI

client = OpenAI(
    api_key="sk-empiriolabs-your_key_here",
    base_url="https://api.empiriolabs.ai/v1",
)

response = client.chat.completions.create(
    model="qwen3-7-max",
    messages=[{"role": "user", "content": "Hello from EmpirioLabs!"}],
)

print(response.choices[0].message.content)
```

## What to explore next

* [Authentication](/authentication): API key format, bearer tokens, and error codes
* [Models and Pricing](/models-pricing): browse the catalog and understand pricing units
* [Compatibility](/compatibility): use the Responses or Anthropic Messages endpoint instead
* [Integrations](/integrations): connect EmpirioLabs to OpenCode, Claude Code, Cline, Aider, Continue, and other coding tools
* [API Reference](/api-reference): full request and response schemas