Artfical AI / API
Получить API-ключ Открыть tAI
Начало работы

Аутентификация

Каждый запрос требует API-ключ, отправляемый как обычный bearer-токен. Ключи создаются и управляются на уровне рабочего пространства в консоли, а не через сам API.

Создание ключа

API-ключи выдаются из рабочего пространства на console.artfical.com, на странице ключей API. Создание ключа там — единственный способ его получить; выпустить или обновить ключ через сам API нельзя, и это сделано намеренно: создание ключа — чувствительное, редкое действие, и привязка его к собственной аутентифицированной сессии консоли делает его недоступным для всего, что имеет доступ только на уровне API.

Ключ выглядит так, всегда с одним и тем же префиксом:

tai-sk-bSL2q4ja-skivx5JVNaJyyDVtKgiBAxuq8yRzsb6-e8

Полное значение ключа показывается ровно один раз, в момент его создания. После этого консоль всегда показывает только усечённую форму для идентификации (первые несколько символов и последние, середина скрыта). Если вы потеряли полное значение, восстановить его нельзя; единственный вариант — отозвать этот ключ и создать новый. Относитесь к ключу так же, как к паролю от базы данных: храните его в переменной окружения или менеджере секретов, а не в исходном коде, и никогда — в клиентском приложении, где браузер конечного пользователя мог бы его прочитать.

Отправка ключа в запросе

Каждый запрос к /v1/chat/completions и /v1/models должен включать ключ в стандартном заголовке Authorization по схеме Bearer:

Authorization: Bearer tai-sk-bSL2q4ja-skivx5JVNaJyyDVtKgiBAxuq8yRzsb6-e8

Это в точности тот же формат заголовка, который использует собственный API OpenAI, поэтому направить существующий клиент на базе SDK openai на tAI обычно означает изменить одну строку: указать base_url равным https://api.artfical.com/v1 и api_key равным вашему ключу tAI — и собственный код запросов SDK менять не нужно.

# Python, с использованием официального пакета openai
from openai import OpenAI

client = OpenAI(
    base_url="https://api.artfical.com/v1",
    api_key="tai-sk-...",
)

response = client.chat.completions.create(
    model="tai-4.1",
    messages=[{"role": "user", "content": "Merhaba"}],
)
print(response.choices[0].message.content)

Запрос без заголовка вовсе или с неверным форматом (без префикса Bearer , с пустым значением, с ключом, который не парсится) отклоняется так же, как и явно неверный ключ: ответом будет 401 с типом authentication_error. Точный формат ответа см. в разделе Ошибки.

Рабочие пространства и область действия

Ключ принадлежит ровно одному рабочему пространству и может использоваться только для запросов от его имени. Не существует ключа, охватывающего несколько рабочих пространств, и нет способа дать одному ключу частичный доступ только к некоторым моделям или к определённому уровню лимитов; у каждого ключа в рабочем пространстве одинаковый доступ ко всем моделям, перечисленным на странице Модели. Если нужно разделить использование или биллинг между двумя разными проектами, решение — два рабочих пространства со своими ключами, а не один ключ на двоих.

Использование, сделанное с помощью конкретного ключа: количество запросов, количество токенов и оценочная стоимость, — привязывается к этому ключу и видно на странице использования консоли в рамках того рабочего пространства, которому принадлежит ключ. Это чисто для наглядности на вашей стороне; на обработку запроса это никак не влияет.

Срок действия

Ключ можно опционально создать со сроком действия (7, 30 или 90 дней, либо бессрочно — выбирается при создании ключа). После истечения срока действия все запросы с этим ключом отклоняются с той же ошибкой 401 authentication_error, что и при неверном ключе, и снаружи их не отличить. Если запросы с ранее рабочим ключом внезапно начинают падать с 401, первым делом стоит проверить именно истечение срока действия ключа на странице ключей API, прежде чем предполагать, что сломалось что-то ещё.

Автоматического продления нет. Ключ, у которого истекает срок действия, нужно заменить на новый; консоль не продлевает срок действия существующего ключа на месте.

Отзыв ключа

Ключ можно отозвать в любой момент на странице ключей API, немедленно и необратимо. С точки зрения API отозванный ключ ведёт себя точно так же, как истёкший: каждый последующий запрос с ним получает 401. Отзыв — правильная реакция на утечку ключа; обновить секретное значение ключа на месте нельзя, можно только отозвать старый и создать новый взамен.

Чего ключ сам по себе не даёт

Наличия действующего API-ключа достаточно для выполнения запросов на завершение чата и получения списка моделей. Он не даёт доступа ни к самому интерфейсу консоли, ни к настройкам рабочего пространства, ни к информации о биллинге, ни к активности других участников — всё это защищено собственным входом консоли на основе сессии, полностью отдельным от API-ключей. Утечка API-ключа — реальная проблема, поскольку она позволяет кому-то делать запросы (и вызывать соответствующее использование) от имени вашего рабочего пространства, но сама по себе она не открывает доступ к вашему аккаунту консоли и не позволяет войти под вашим именем.