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

# Quickstart

> Sign up, mint a master key, send your first request in 60 seconds.

## 1. Sign up + grab your master key

<Steps>
  <Step title="Create an account">
    Sign up at [qlaud.ai/sign-up](https://qlaud.ai/sign-up). \$5 starter
    credit, no card required.
  </Step>

  <Step title="Mint a master (admin) key">
    Go to [API keys](https://qlaud.ai/keys), click **Create**, set the
    scope to **Master (admin)**. This is the key you'll use server-side
    to mint per-user keys.

    Copy the `qlk_live_...` it shows once — we only store the hash.
  </Step>

  <Step title="Set your env">
    ```bash theme={null}
    export QLAUD_MASTER_KEY=qlk_live_...
    ```
  </Step>
</Steps>

## 2. Send your first request

<CodeGroup>
  ```bash curl theme={null}
  curl https://api.qlaud.ai/v1/messages \
    -H "x-api-key: $QLAUD_MASTER_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "content-type: application/json" \
    -d '{
      "model": "claude-sonnet-4-6",
      "max_tokens": 100,
      "messages": [{"role":"user","content":"hello"}]
    }'
  ```

  ```python python theme={null}
  import os, requests

  r = requests.post(
      "https://api.qlaud.ai/v1/messages",
      headers={
          "x-api-key": os.environ["QLAUD_MASTER_KEY"],
          "anthropic-version": "2023-06-01",
      },
      json={
          "model": "claude-sonnet-4-6",
          "max_tokens": 100,
          "messages": [{"role": "user", "content": "hello"}],
      },
  )
  print(r.json())
  ```

  ```typescript node theme={null}
  const r = await fetch('https://api.qlaud.ai/v1/messages', {
    method: 'POST',
    headers: {
      'x-api-key': process.env.QLAUD_MASTER_KEY!,
      'anthropic-version': '2023-06-01',
      'content-type': 'application/json',
    },
    body: JSON.stringify({
      model: 'claude-sonnet-4-6',
      max_tokens: 100,
      messages: [{ role: 'user', content: 'hello' }],
    }),
  });
  console.log(await r.json());
  ```
</CodeGroup>

## 3. Try a different model

Change `model` to one of:

| slug                                 | author    |
| ------------------------------------ | --------- |
| `claude-opus-4-7`                    | Anthropic |
| `claude-sonnet-4-6`                  | Anthropic |
| `gpt-5.4`                            | OpenAI    |
| `gpt-5.4-mini`                       | OpenAI    |
| `gemini-3-pro-preview`               | Google    |
| `grok-4.20-0309-reasoning`           | xAI       |
| `qwen-coder-plus`                    | Alibaba   |
| `kimi-k2.6`                          | Moonshot  |
| `deepseek-chat`, `deepseek-reasoner` | DeepSeek  |
| `MiniMax-M2`                         | MiniMax   |

Same body, same auth, same usage record.

## 4. Use it from Claude Code

```bash theme={null}
export ANTHROPIC_BASE_URL=https://api.qlaud.ai
export ANTHROPIC_API_KEY=$QLAUD_MASTER_KEY
claude --model claude-opus-4-7
```

Works with Cursor, Cline, Aider — anything that reads
`ANTHROPIC_BASE_URL` / `ANTHROPIC_API_KEY`.

## 5. Next: per-user billing

If you're building a product on top of this, you don't want every end-user
hitting your master key. Read the [per-user billing
quickstart](/per-user-billing) — that's where qlaud actually shines.
