Source: https://ailoot.ai/docs/integrations/openai-python-sdk/
Canonical: https://ailoot.ai/docs/en/integrations/openai-python-sdk/
Language: en

[SDKs and frameworks](https://ailoot.ai/docs/en/integrations/#sdk) 

# OpenAI SDK (Python)

[Markdown](https://ailoot.ai/docs/en/integrations/openai-python-sdk/index.md)

SDK · OpenAI Chat, OpenAI Responses

| Format | Where to set it up |
| --- | --- |
| OpenAI Chat, OpenAI Responses | OpenAI(base\_url=..., api\_key=...) constructor parameters, or OPENAI\_BASE\_URL and OPENAI\_API\_KEY environment variables |

## [](https://ailoot.ai/docs/integrations/openai-python-sdk/#setup)Setup

Copy the configuration and replace `sk-...` with your key from the Ailoot Dashboard. Prefer storing the key in the environment variable `AILOOT_API_KEY`, if the application supports it.

Before starting, request GET /v1/models with your Ailoot key. Choose an exact model ID whose methods include POST /v1/chat/completions, POST /v1/responses, then use that ID in the configuration. For agents, also check tool support and the features required by your client version.

```bash
export AILOOT_API_KEY="sk-..."
# environment variables
export OPENAI_BASE_URL="https://api.ailoot.ai/v1"
export OPENAI_API_KEY="$AILOOT_API_KEY"

# or in code
```

`ailoot-openai-python-sdk.py`

```python
import os
from openai import OpenAI
client = OpenAI(max_retries=0, base_url="https://api.ailoot.ai/v1", api_key=os.environ["AILOOT_API_KEY"])
r = client.chat.completions.create(model="gpt-6.1-sol", messages=[{"role":"user","content":"Hello"}])
print(r.choices[0].message.content)
# Responses API: client.responses.create(model="gpt-6.1-sol", input="Hello")
# Embeddings: client.embeddings.create(model="nemotron-3-embed", input=["text"])
```

```bash
python3 ailoot-openai-python-sdk.py
```

Example model: `gpt-6.1-sol, claude-sonnet-5-5, deepseek-v4-pro, qwen3.8-max (chat); nemotron-3-embed (embeddings)`. Choose any other model from the [catalog](https://ailoot.ai/models/en/) — check that it supports the format you need.

## [](https://ailoot.ai/docs/integrations/openai-python-sdk/#notes)Good to know

Include /v1 in the URL: the SDK appends /chat/completions, /responses, /embeddings, /images/\*, and /audio/\*. Chat Completions and Responses work; Responses requires a model whose catalog entry lists that format. Streaming and tools use the standard formats. Ailoot errors are JSON with a Request ID and are caught as openai.APIStatusError.

## [](https://ailoot.ai/docs/integrations/openai-python-sdk/#check)Test

- For the OpenAI format, the URL is `https://api.ailoot.ai/v1` (or the full path if the application asks for a full URL).
- Ask a short question. If you get an error, check the code and Request ID, then consult [Errors and limits](https://ailoot.ai/docs/en/errors/).
- 404 immediately after setup almost always means the URL is wrong: an extra or missing `/v1`.
- 402 — insufficient balance for the reserve. Agents reserve more than chat: [why](https://ailoot.ai/docs/en/billing/reserve/).

Application documentation: [https://github.com/openai/openai-python](https://github.com/openai/openai-python)

Still have questions? Send your Request ID and a description — we'll help you troubleshoot.[Contact support](mailto:support@ailoot.ai)

## Ailoot · The company and its project portfolio





Ailoot combines established operating experience, a large client base, stable service and ongoing KPI control.





The company and its project portfolio: millions of customers; monthly sales in the billions.





Ailoot brings that operating experience to API access for AI features in customer products, agents, applications and automations.
