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

# SDKs

> Official Python and TypeScript client libraries for the Inception API.

Inception provides official client libraries that wrap the REST API with typed methods, streaming helpers, and automatic retries. The API is also OpenAI-compatible, so existing OpenAI SDKs work by pointing them at `https://api.inceptionlabs.ai/v1`.

| Language                | Package                                                    |
| ----------------------- | ---------------------------------------------------------- |
| Python                  | [`inceptionai`](https://pypi.org/project/inceptionai/)     |
| TypeScript / JavaScript | [`inceptionai`](https://www.npmjs.com/package/inceptionai) |

#### **Install**

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

  ```bash TypeScript theme={null}
  npm install inceptionai
  ```
</CodeGroup>

#### **Authentication**

The client reads your key from the `INCEPTION_API_KEY` environment variable by default. You can also pass it explicitly when constructing the client.

<CodeGroup>
  ```python Python theme={null}
  from inceptionai import Inception

  # Reads INCEPTION_API_KEY from the environment
  client = Inception()

  # Or pass it explicitly:
  # client = Inception(api_key="your_api_key_here")
  ```

  ```typescript TypeScript theme={null}
  import Inception from 'inceptionai';

  // Reads INCEPTION_API_KEY from the environment
  const client = new Inception();

  // Or pass it explicitly:
  // const client = new Inception({ apiKey: 'your_api_key_here' });
  ```
</CodeGroup>

#### **Make your first request**

<CodeGroup>
  ```python Python theme={null}
  from inceptionai import Inception

  client = Inception()

  completion = client.chat.completions.create(
      model="mercury-2",
      messages=[{"role": "user", "content": "What is a diffusion model?"}],
  )
  print(completion.choices[0].message.content)
  ```

  ```typescript TypeScript theme={null}
  import Inception from 'inceptionai';

  const client = new Inception();

  const completion = await client.chat.completions.create({
    model: 'mercury-2',
    messages: [{ role: 'user', content: 'What is a diffusion model?' }],
  });
  console.log(completion.choices[0].message.content);
  ```
</CodeGroup>

See [Chat Completions](/capabilities/chat-completions) and [Streaming & Diffusion](/capabilities/streaming) for more usage examples.
