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

# Introduction

> Get started with the Open Inference API in minutes.

## Getting started

Follow these three steps to send your first API request.

### 1. Create an account and API key

Sign up at the [Open Inference console](https://openinference.xyz/console) and create an API key from the dashboard. Store it somewhere safe — you won't be able to see it again.

Set it as an environment variable:

<CodeGroup>
  ```bash macOS / Linux theme={null}
  export OPENINFERENCE_API_KEY="your-api-key"
  ```

  ```powershell Windows theme={null}
  $env:OPENINFERENCE_API_KEY = "your-api-key"
  ```
</CodeGroup>

### 2. Set up your dev environment

Install the OpenAI SDK for your language. The Open Inference API is fully compatible with the OpenAI client libraries.

<CodeGroup>
  ```bash Python theme={null}
  pip install openai
  ```

  ```bash JavaScript / TypeScript theme={null}
  npm install openai
  ```

  ```bash Go theme={null}
  go get github.com/openai/openai-go
  ```
</CodeGroup>

### 3. Send a test request

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

  client = OpenAI(
      base_url="https://api.openinference.xyz/v1",
      api_key="your-api-key",  # or use OPENINFERENCE_API_KEY env var
  )

  response = client.chat.completions.create(
      model="openai/gpt-oss-120b",
      messages=[
          {"role": "user", "content": "What is Open Inference?"}
      ],
  )

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

  ```javascript JavaScript theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    baseURL: "https://api.openinference.xyz/v1",
    apiKey: process.env.OPENINFERENCE_API_KEY,
  });

  const response = await client.chat.completions.create({
    model: "openai/gpt-oss-120b",
    messages: [
      { role: "user", content: "What is Open Inference?" }
    ],
  });

  console.log(response.choices[0].message.content);
  ```

  ```bash curl theme={null}
  curl https://api.openinference.xyz/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENINFERENCE_API_KEY" \
    -d '{
      "model": "openai/gpt-oss-120b",
      "messages": [
        {"role": "user", "content": "What is Open Inference?"}
      ]
    }'
  ```
</CodeGroup>

You should see a response from the model. You're all set.

## Next steps

<CardGroup cols={2}>
  <Card title="Streaming" icon="bolt" href="/streaming">
    Stream responses token by token in real time.
  </Card>

  <Card title="API reference" icon="terminal" href="/api-reference/introduction">
    Full reference for all available endpoints.
  </Card>

  <Card title="Browse models" icon="cube" href="https://openinference.xyz/models">
    See all models available for inference.
  </Card>
</CardGroup>
