RU ▾
Получить API-ключ

Обновлено

Ключ API DeepSeek не работает: причины и решения

Когда появляется ошибка «ключ API DeepSeek не работает», сам ключ виноват реже, чем вы думаете. Большинство сбоев вызваны базовым URL, пустым балансом, неверным именем модели или клиентом, который передает ключ в неправильном месте.

Ключ, заблокированный в основной трубе, с резервной трубой, обходящей его, иллюстрирует отладку ключа API
Иллюстрация сцены с плавающими масками, подключенными к серверу, представляющая ролевую игру с API в SillyTavern

Начните с однострочного теста

Прежде чем что-то менять в приложении, исключите его из уравнения. Одна команда curl покажет, работают ли ключ, URL и имя модели вместе. Замените заполнители значениями из панели управления и документации вашего провайдера.

curl -i https://YOUR-PROVIDER/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"YOUR-MODEL","messages":[{"role":"user","content":"ping"}]}'

Флаг -i выводит строку статуса и заголовки, и они важнее тела ответа. Если curl работает, а приложение нет, проблема в настройках приложения. Если curl тоже падает, проблема в ключе, аккаунте или эндпоинте.

Сначала прочитайте код статуса

КодОбычное значениеЧто проверить
401Ключ был отклоненОпечатки, лишние пробелы, отозванный или удаленный ключ, ключ от другого провайдера
402 или сообщение о балансеКредиты закончилисьБаланс аккаунта и страница биллинга
404Неверный путь или модельБазовый URL, конечный /v1, написание имени модели
429Слишком много запросовЗапросов в минуту, параллельные вызовы, заголовки повторной отправки
5xx или тайм-аутПровайдер или сетьСтатус-страница провайдера, повторите позже, региональная маршрутизация

Это распространенные значения для провайдеров в стиле OpenAI. У каждого провайдера свои точные коды, поэтому проверьте их текущую документацию для деталей.

Сам ключ

Ключи — это длинные строки, которые ломаются по скучным причинам. Вставьте ключ в обычный текстовый редактор и поищите конечный пробел или перевод строки, начальную кавычку или разрыв строки, добавленный чат-приложением. Убедитесь, что заголовок выглядит как Authorization: Bearer KEY с одним пробелом после Bearer. Если вы устанавливаете ключ в переменную окружения, выведите его длину в вашем приложении (а не значение), чтобы убедиться, что он загрузился.

Встречаются и другие ситуации. Первая: вы создали ключ, закрыли страницу и скопировали его замаскированную версию. Большинство панелей показывают ключ только один раз, поэтому создайте новый. Вторая: вы используете ключ от одного сервиса для запросов к URL другого сервиса. Ключ действителен только для провайдера, который его выдал.

Баланс, биллинг и бесплатный кредит

Многие ключи API работают только пока в аккаунте есть кредит. Пустой баланс может выглядеть как сломанный ключ. Откройте страницу биллинга вашего провайдера и убедитесь, что у вас есть средства, что пополнение действительно прошло, и что любой промо-кредит не сгорел. Пополнения криптовалютой могут появиться через несколько минут.

Если вы хотите сравнить, как другой сервис с предоплатой обрабатывает это, наша модель проста: вы покупаете баланс, вызовы списывают его по $0.15 за 1M входных токенов и $0.50 за 1M выходных токенов, неудачные или отклоненные запросы не оплачиваются, а баланс не сгорает. Вы можете прочитать баланс через GET /v1/balance или из заголовка X-Balance-USD в каждом ответе.

Базовый URL и имя модели

Самая частая причина в таких инструментах, как SillyTavern, Janitor AI и плагинах для редакторов — неверно введённый базовый URL. Распространённые ошибки: пропущенный /v1, удвоенный /v1/v1, использование http вместо https или вставка полного пути /chat/completions в поле, которое уже добавляет его автоматически. Другая ловушка — поле модели. Оно должно совпадать с идентификатором модели, который предоставляет провайдер. Выведите их список через GET /v1/models, если провайдер это поддерживает, или прочитайте текущую документацию.

Инструкции по настройке для конкретных инструментов на этом сайте: использование ключа в SillyTavern, в Janitor AI и в VS Code.

Лимиты запросов и параллельные запросы

Всплеск параллельных запросов может вызвать 429 даже при валидном ключе. Ищите заголовок Retry-After и делайте паузу. Минимальная повторная отправка на Python выглядит так:

import time
from openai import OpenAI, RateLimitError

client = OpenAI(base_url="https://api.deepseekapikey.com/v1", api_key="YOUR_KEY")

def ask(prompt):
    for attempt in range(4):
        try:
            r = client.chat.completions.create(
                model="uncensored",
                messages=[{"role": "user", "content": prompt}],
            )
            return r.choices[0].message.content
        except RateLimitError:
            time.sleep(5 * (attempt + 1))
    raise RuntimeError("still rate limited")

На нашем эндпоинте полный ключ позволяет 8 параллельных запросов и 300 запросов в минуту. Потоковый запрос удерживает слот до завершения потока. Код ошибки — rate_limited или concurrency, а временная перегрузка возвращает 429 с Retry-After: 5.

Проблемы с сетью и регионом

Если curl зависает или сбрасывает соединение, проблема может быть между вами и провайдером: корпоративный прокси, VPN, DNS или региональная блокировка. Попробуйте другую сеть, проверьте, что ваш прокси пропускает заголовки Authorization, и увеличьте тайм-аут клиента для долгих генераций. Потоковые ответы также могут обрезаться прокси, которые буферизуют; протестируйте с stream: false, чтобы разделить две проблемы.

Чек-лист, который можно пройти за пять минут

  1. Запустите тест curl и запишите код статуса.
  2. Создайте свежий ключ и протестируйте его. Если новый ключ работает, старый был скопирован неверно или отозван.
  3. Проверьте баланс и дату истечения кредита.
  4. Сравните базовый URL и ID модели с документацией провайдера посимвольно.
  5. Отправьте один запрос без потоковой передачи, без инструментов и с коротким промптом. Добавляйте функции по одной.
  6. Проверьте параллельные вызовы. Если ваше приложение отправляет несколько запросов одновременно, снизьте параллельность.
  7. Попробуйте другую сеть или отключите VPN.
  8. Посмотрите на заголовки ответа, включая любой ID запроса. Служба поддержки может найти ваш вызов по этому ID.

Пятый шаг выявляет удивительно большое количество ошибок. Неправильные определения инструментов, очень большое значение max_tokens или тело запроса, превышающее лимит размера, могут возвращать ошибки, похожие на проблемы с ключом. На нашем эндпоинте лимит тела составляет 8 МБ, и каждый ответ содержит заголовок X-Request-Id, который можно указать в тикете поддержки.

Настройте резервный эндпоинт

Сбои и лимиты случаются у любого провайдера, поэтому держите в конфигурации второй OpenAI-совместимый эндпоинт. Наше предложение — это размещённая модель с открытыми весами, настроенная на ответы без отказов по контенту для законного использования взрослыми. Это не официальный API DeepSeek и не роутер, поэтому ожидайте другие ответы и другое поведение. Переключение занимает две настройки: базовый URL https://api.deepseekapikey.com/v1 и модель uncensored.

curl https://api.deepseekapikey.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"ping"}]}'

Новые пользователи могут получить $0,50 пробного баланса в один клик на странице API-ключ, срок действия — 7 дней. Пополнение от $20 до $500 криптовалютой; подробности см. на странице тарифов и в документации.

Вопросы и ответы

Почему мой ключ работает в curl, но не в приложении?

В приложении, скорее всего, указан неверный базовый URL, неверное имя модели или устаревшая копия ключа. Сравните его настройки с вашей рабочей командой curl посимвольно.

Гарантирует ли валидный ключ успешность запросов?

Нет. Пустой баланс, лимит запросов или неизвестное имя модели могут привести к ошибке даже при абсолютно корректном ключе.

Могу ли я использовать тот же код с другим провайдером?

Если оба провайдера совместимы с OpenAI, да. Измените базовый URL, ключ и идентификатор модели.

Ваш эндпоинт использует ту же модель, что и DeepSeek?

Нет. Это одна модель с открытыми весами, запущенная независимым провайдером, и это не официальный API какого-либо вендора.

До вашего ключа — одна форма

Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.

Получить API-ключ