# Quickstart

> Make your first Kurrens API request with the OpenAI SDK, cURL, or fetch.

<PreLaunch />

<Steps>

1. **Get an API key.** During pre-launch, keys are issued on request — [request access](/contact?topic=access).
   Store the key in an environment variable:

   ```bash
   export KURRENS_API_KEY="<your key>"
   ```

2. **Pick a model.** Model ids are Hugging Face ids, for example `deepseek-ai/DeepSeek-V4.1-Flash`.
   See [Models](/docs/getting-started/models) for the full list.

3. **Send a request.**

   <Tabs syncKey="lang">
     <TabItem label="Python">
       ```python
       from openai import OpenAI
       import os

       client = OpenAI(
           base_url="https://api.kurrens.ai/v1",
           api_key=os.environ["KURRENS_API_KEY"],
       )

       completion = client.chat.completions.create(
           model="deepseek-ai/DeepSeek-V4.1-Flash",
           messages=[{"role": "user", "content": "What is the meaning of life?"}],
       )
       print(completion.choices[0].message.content)
       ```
     </TabItem>
     <TabItem label="TypeScript">
       ```ts
       import OpenAI from 'openai';

       const client = new OpenAI({
         baseURL: 'https://api.kurrens.ai/v1',
         apiKey: process.env.KURRENS_API_KEY,
       });

       const completion = await client.chat.completions.create({
         model: 'deepseek-ai/DeepSeek-V4.1-Flash',
         messages: [{ role: 'user', content: 'What is the meaning of life?' }],
       });
       console.log(completion.choices[0].message.content);
       ```
     </TabItem>
     <TabItem label="cURL">
       ```bash
       curl https://api.kurrens.ai/v1/chat/completions \
         -H "Authorization: Bearer $KURRENS_API_KEY" \
         -H "Content-Type: application/json" \
         -d '{
           "model": "deepseek-ai/DeepSeek-V4.1-Flash",
           "messages": [{"role": "user", "content": "What is the meaning of life?"}]
         }'
       ```
     </TabItem>
   </Tabs>

4. **Stream the response** by adding `"stream": true` — see [Streaming](/docs/inference/streaming).

</Steps>

## Keep keys server-side

Never embed your API key in browser or mobile code. Call Kurrens from your backend and forward results to your clients.
