Документация API
Apikley совместим с OpenAI API. Чтобы начать, меняют две вещи — адрес и ключ; остальной код интеграции остаётся прежним.
Быстрый старт
- Получите ключ в личном кабинете, раздел «API-ключи».
- Укажите базовый адрес
https://api.apikley.ru/v1. - Передавайте ключ заголовком
x-api-key.
curl https://api.apikley.ru/v1/chat/completions \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"model": "gpt-5",
"messages": [
{"role": "user", "content": "Привет!"}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.apikley.ru/v1"
)
response = client.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": "Привет!"}]
)
print(response.choices[0].message.content)
Аутентификация
Ключ передают заголовком. Принимаются оба варианта — какой удобнее вашей
библиотеке, тот и используйте: официальные SDK OpenAI отправляют
Authorization,
примеры на cURL обычно короче с
x-api-key.
x-api-key: YOUR_API_KEY
Authorization: Bearer YOUR_API_KEY
Запрос без ключа получает 401 missing_api_key,
с негодным ключом — 401 invalid_api_key.
По ответу нельзя определить, чем именно ключ не подошёл: истёк, отозван или
никогда не существовал.
Методы
Базовый адрес — https://api.apikley.ru/v1.
Обязательное поле в теле одно — model;
остальные параметры зависят от модели и передаются как есть.
Отдельного метода GET /v1/models нет:
вызов client.models.list()
из SDK вернёт 404. Список доступных моделей — в каталоге ниже.
Ошибки
Отказ, сформированный шлюзом, приходит в таком виде:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "request_validation_failed",
"request_id": "d87d07aa-e293-4beb-8d61-169d0425…"
}
}
request_id —
самое полезное поле при обращении в поддержку: по нему запрос находится в
журналах. Сохраняйте его при неожиданных отказах.
model.Модели и цены
Какие модели доступны сейчас, что каждая умеет и сколько стоит — в каталоге.
Там же лежат идентификаторы, которые подставляют в поле
model.