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

# Quickstart

> Get up and running with ModelStack in 5 minutes.

## 1. Create an Account

Sign up at [modelstack.cc/sign-up](https://modelstack.cc/sign-up) and choose a plan:

| Plan        | Price    | Best For                 |
| ----------- | -------- | ------------------------ |
| **Starter** | \$20/mo  | Hobby projects & testing |
| **Pro**     | \$50/mo  | Production applications  |
| **Max**     | \$100/mo | High-scale deployments   |

## 2. Get Your API Key

1. Go to your [Dashboard](https://modelstack.cc/dashboard)
2. Navigate to **API Keys**
3. Click **Create API Key**
4. Copy your key (starts with `sk_`)

<Warning>
  Store your API key securely. It won't be shown again after creation.
</Warning>

## 3. Make Your First Request

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.modelstack.cc/v1/chat/completions \
    -H "Authorization: Bearer your_api_key" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "claude-sonnet-4-5",
      "messages": [
        {"role": "user", "content": "What is ModelStack?"}
      ]
    }'
  ```

  ```python Python theme={null}
  from openai import OpenAI

  client = OpenAI(
      api_key="your_api_key",
      base_url="https://api.modelstack.cc/v1"
  )

  response = client.chat.completions.create(
      model="claude-sonnet-4-5",
      messages=[
          {"role": "user", "content": "What is ModelStack?"}
      ]
  )

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

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: "your_api_key",
    baseURL: "https://api.modelstack.cc/v1",
  });

  const response = await client.chat.completions.create({
    model: "claude-sonnet-4-5",
    messages: [{ role: "user", content: "What is ModelStack?" }],
  });

  console.log(response.choices[0].message.content);
  ```
</CodeGroup>

## 4. Try Different Models

Switch models by changing the `model` parameter — no other code changes needed:

```python theme={null}
# Use Claude
response = client.chat.completions.create(
    model="claude-sonnet-4-5",
    messages=[{"role": "user", "content": "Hello!"}]
)

# Use GPT-4o
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}]
)

# Use Gemini
response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[{"role": "user", "content": "Hello!"}]
)
```

## Next Steps

<CardGroup cols={2}>
  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Learn about all available endpoints and parameters.
  </Card>

  <Card title="Supported Models" icon="brain" href="/models/supported-models">
    Browse the full catalog of 40+ models with pricing.
  </Card>

  <Card title="Billing & Credits" icon="credit-card" href="/billing/plans">
    Understand how subscription and lifetime credits work.
  </Card>

  <Card title="SDK Integration" icon="plug" href="/sdks/openai-sdk">
    Integrate with OpenAI, Anthropic, or other SDKs.
  </Card>
</CardGroup>
