# Quickstart

> Make your first AI request in two minutes.

Roar gives you one API for every major AI model, plus one-click hosting for your internal apps. Everything runs through a single API key.

## Using Claude? Connect Roar and just ask

If you already work with an AI assistant — Claude, ChatGPT, Cursor or VS Code — you can skip the steps below. Connect Roar to it once, from your console's **Connect** page or [Roar AI in Claude's connector directory](https://claude.ai/directory/connectors/roar-ai), then ask in plain language: *"deploy my `intranet` repository with a database"*, *"why did my last deploy fail?"*, *"what did we spend on AI this month?"*. It creates the keys it needs itself. [Connecting an assistant](/docs/mcp) has the steps for each one.

The rest of this page is for calling models from your own code.

## 1. Get an API key

Open your console, go to **API keys › New key**, and copy the key when it's shown — it appears exactly once. Keys look like `roar_live_…`.

## 2. Point your SDK at Roar

The gateway is OpenAI-compatible, so any OpenAI SDK works — just change the base URL and key.

<CodeCard caption="Python">

```python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.roar-ai.com/v1",
    api_key="roar_live_...",
)

resp = client.chat.completions.create(
    model="llama-3.3-70b",  # any model from GET /v1/models
    messages=[{"role": "user", "content": "Say hello!"}],
)
print(resp.choices[0].message.content)
```

</CodeCard>

<CodeCard caption="JavaScript / TypeScript">

```ts
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.roar-ai.com/v1",
  apiKey: "roar_live_...",
});

const resp = await client.chat.completions.create({
  model: "llama-3.3-70b",
  messages: [{ role: "user", content: "Say hello!" }],
});
console.log(resp.choices[0].message.content);
```

</CodeCard>

<CodeCard caption="curl">

```bash
curl https://api.roar-ai.com/v1/chat/completions \
  -H "Authorization: Bearer roar_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama-3.3-70b",
    "messages": [{"role": "user", "content": "Say hello!"}]
  }'
```

</CodeCard>

## 3. See what you can call

`GET https://api.roar-ai.com/v1/models` lists every model your key can reach, tagged with the request types each one supports (chat, embeddings, speech, transcription).

<Note>Every response carries a request id, as both `x-request-id` and `x-roar-request-id` — the same value under two names, so the official OpenAI SDKs pick it up as `error.requestID` without you doing anything. Quote it in a support request; it matches the request in your Usage view.</Note>
