> For the complete documentation index, see [llms.txt](https://enfer-ai.gitbook.io/enfer.ai-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://enfer-ai.gitbook.io/enfer.ai-docs/quick-start.md).

# Quick Start

Welcome to enfer.ai! In this quick start guide, we’ll show you how to call our OpenAI-compatible completion API directly or using the OpenAI SDK. You can easily integrate with your existing OpenAI-compatible code, making it straightforward to replace or augment your current setup with enfer.ai’s models.

### Authentication

1. **Sign up** for an account on [enfer.ai](https://enfer.ai/) (if you haven't already).
2. **Purchase credits** [in your enfer.ai account](https://enfer.ai/profile/credits) to continue usage.
3. **Create an API key** [in the account](https://enfer.ai/profile/keys). You’ll need this key when making requests to our API.

Once you have your API key, you’re ready to start calling the enfer.ai endpoints.

### Usage with the OpenAI Python SDK

### Installation

If you’re not already set up with the OpenAI Python SDK, install it first:

```bash
pip install openai
```

### Usage

Because enfer.ai is OpenAI-compatible, you can leverage your existing OpenAI SDK code with minimal changes. Just point to the enfer.ai base endpoint and use your **enfer.ai API key**.

#### Sample Code

```python
import openai

# Set the endpoint and API key for enfer.ai
openai.api_base = "https://api.enfer.ai/v1"
openai.api_key = "<YOUR_ENFER_API_KEY>"

# Example: Chat Completion
response = openai.ChatCompletion.create(
    model="mistralai/mistral-nemo",  # Example model name
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Why are we still here?"}
    ]
)

# Print the AI's reply
print(response.choices[0].message.content)

```

## Supported Features

* **Chat Completions**: Send a conversation-style prompt and receive a context-aware response.&#x20;
* **Completions**: Provide a text prompt to generate or continue content.
* **Streaming & Cancellation**: Optionally stream results in real-time and cancel ongoing requests if needed.
* **Model Listing**: Request and retrieve a list of supported models.
