ИИ ИИшка Про
Гайды

Что такое API-ключ нейросети и как его не потерять вместе с деньгами

AI-редакция

Решили подключить нейросеть к своему проекту — и первое, что просят, это API-ключ. Строка вида sk-proj-abc123..., которую показывают ровно один раз. Разбираемся, что это, где брать и как не проснуться со счётом на $2000.

Что такое API-ключ

API-ключ — это одновременно ваш логин, пароль и платёжная карта в одной строке. Кто держит ключ, тот тратит ваши деньги. Никакого второго фактора, никакого подтверждения по SMS: есть ключ — есть доступ.

Сравнение, которое всё объясняет: ключ — это не пароль от аккаунта, а ключ от кассы. Пароль от аккаунта можно сбросить по почте, и злоумышленник упрётся в двухфакторку. С API-ключом упираться не во что.

Где его взять

  • OpenAI — platform.openai.com → API keys → Create new secret key.
  • Anthropic — console.anthropic.com → API Keys.
  • Google (Gemini) — aistudio.google.com → Get API key.
  • DeepSeek, Together, OpenRouter — то же самое в личном кабинете.

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

Главное правило: ключ не живёт в коде

Самая частая и самая дорогая ошибка — вписать ключ прямо в код:

client = OpenAI(api_key="sk-proj-abc123...")  # ❌ так нельзя

Почему это плохо: код попадает в Git, Git попадает на GitHub, а GitHub индексируется. По публичным репозиториям ходят боты, которые ищут ровно такие строки. От коммита до первого списания порой проходят минуты.

Как правильно — через переменные окружения. Создаёте файл .env рядом с проектом:

OPENAI_API_KEY=sk-proj-abc123...

В коде читаете оттуда:

import os
from openai import OpenAI
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])  # ✅

И обязательно добавляете .env в .gitignore:

.env

Это три строчки работы, которые отделяют вас от чужого счёта.

Поставьте лимит расходов — прямо сейчас

Даже если ключ не утечёт, от ошибки в цикле никто не застрахован. Бесконечный while с запросом внутри опустошает счёт быстрее, чем вы найдёте кнопку «стоп».

Что сделать в первый же день:

  • OpenAI: Settings → Limits → задать Hard limit (жёсткий потолок в месяц) и Soft limit (порог для письма-предупреждения).
  • Anthropic: Console → Usage limits.
  • Общее правило: не привязывайте карту с большим лимитом. Лучше пополнять баланс вручную небольшими суммами (prepaid) — тогда потолок убытка равен балансу.

Отдельно: не давайте ключу лишних прав. У OpenAI можно создать ключ, ограниченный конкретным проектом. Если проектов несколько — заведите разные ключи, чтобы утечка одного не открывала всё.

Как понять, сколько вы тратите

Цена считается в токенах, а не в запросах. Отдельно за вход (ваш промпт), отдельно за выход (ответ модели). Прикинуть счёт заранее можно нашим калькулятором стоимости API, а понять, сколько токенов в вашем тексте, — счётчиком токенов.

Главная ловушка новичка — длинный контекст в цикле. Если вы каждый раз отправляете всю историю диалога, то с ростом переписки каждый следующий запрос дорожает. Тысяча сообщений «по чуть-чуть» может стоить дороже одного большого документа.

Ключ утёк. Что делать

Порядок действий — именно в этом порядке:

  1. Немедленно отзовите ключ в консоли (Revoke / Delete). Это первое, а не последнее: пока ключ жив, деньги текут.
  2. Создайте новый и подставьте в переменные окружения.
  3. Проверьте расход в разделе Usage — если списания есть, пишите в поддержку. Иногда идут навстречу, особенно при явной атаке ботов.
  4. Если ключ попал в Git — удалить строку и закоммитить недостаточно. Он остался в истории репозитория и в чужих форках. Ключ отозвать нужно в любом случае, чистка истории вторична.

Для GitHub есть хорошая новость: у него работает автоматическое сканирование секретов, и провайдеры вроде OpenAI по его сигналу отзывают ключ сами. Но полагаться на это как на защиту — плохая идея.

Что запомнить

  • API-ключ = доступ к вашим деньгам. Не пароль, а ключ от кассы.
  • Показывают один раз. Потеряли — создавайте новый.
  • Никогда не в коде. Только переменные окружения + .env в .gitignore.
  • Поставьте лимит расходов в первый же день, до первого запроса.
  • Лучше prepaid-баланс, чем карта с большим лимитом.
  • Утёк — сначала отзываете, потом разбираетесь.

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