GetAiApiKey/Чек-лист API искусственного интеллекта для продакшена
Тестер AI API-ключа: проверка за 30 секунд
Вам не нужен сайт в качестве тестера AI API-ключа. Один вызов curl или шесть строк на Python покажут, действителен ли ключ, отвечает ли модель и какой остался баланс.
Обновлено

Ключевые моменты
- Сначала вызовите GET /v1/models: это подтвердит ключ и базовый URL без расходования токенов на генерацию ответа.
- Однотокенный чат-запрос подтверждает работу модели, а X-Balance-USD показывает ваш баланс.
- Никогда не вставляйте активный ключ в неизвестный онлайн-чекер; тестируйте локально.
- Типичные ошибки возникают из-за неверного базового URL, отсутствия префикса Bearer или лимита.
Почему стоит тестировать локально, а не на веб-странице
Поиск тестера AI API-ключа выдает много страниц, где вы вставляете ключ и нажимаете кнопку. Избегайте их. Ключ — это пароль, тратящий ваши деньги, и вы не знаете, что делают с ним такие страницы. Приведенные ниже тесты занимают полминуты, запускаются на вашем компьютере и отправляют ключ только в нужный API.
Вам нужны три вещи: ключ, базовый URL https://api.getaiapikey.com/v1 и идентификатор модели uncensored. Поместите ключ в переменную окружения, чтобы он не попал в историю оболочки или в файл, который вы можете закоммитить.
export API_KEY="paste-your-key-here"
Ключи находятся на странице API-ключ. Если у вас его ещё нет, новые пользователи могут получить $0,50 пробного баланса в один клик после регистрации — этого хватит, чтобы многократно протестировать всё, о чём говорится в этой статье.
Проверка 1: список моделей через curl
Самый дешевый тест — список моделей. Он требует действительный ключ и правильный базовый URL, но не генерирует текст.
curl -i https://api.getaiapikey.com/v1/models \
-H "Authorization: Bearer $API_KEY"
Флаг -i выводит заголовки ответа. Корректный ответ начинается с HTTP/2 200 и JSON-тела, содержащего идентификатор модели uncensored. Если вместо этого вы видите ошибку аутентификации, обычно 401, ключ неверный, был скопирован с пробелом в конце или в заголовке отсутствует слово Bearer. 404 означает, что URL неверен, чаще всего из-за пропущенного /v1 или его дублирования.
Проверка 2: один реальный запрос
Ключ может быть действительным, но все равно не работать в реальном запросе, например, из-за пустого баланса. Отправьте небольшой чат-запрос и ограничьте вывод, чтобы стоимость была близка к нулю:
curl -i https://api.getaiapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","max_tokens":5,"messages":[{"role":"user","content":"Say ok."}]}'
Читайте заголовки перед телом ответа. X-Request-Id идентифицирует вызов, что именно запрашивает поддержка. X-Balance-USD показывает, сколько кредита осталось. X-RateLimit-Limit-Requests и X-RateLimit-Limit-Concurrency раскрывают лимиты вашего ключа: 300 и 8 для полного ключа, 60 и 2 для пробного ключа. Этот один вызов поэтому проверяет аутентификацию, модель, баланс и тип ключа.
Стоимость теста ничтожна. Промпт из 10 токенов и ответ из 5 токенов стоят 10 x $0,15 / 1M + 5 x $0,50 / 1M, что составляет около $0,000004. Неудачные или отклонённые запросы не оплачиваются вообще.
Проверка 3: тот же тест на Python
Если ваш реальный код использует Python, протестируйте его так, как он будет выполняться. Этот скрипт использует официальный пакет openai, поэтому успешный результат здесь означает, что настройка вашего приложения тоже работает:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.getaiapikey.com/v1",
api_key=os.environ["API_KEY"],
)
raw = client.chat.completions.with_raw_response.create(
model="uncensored",
max_tokens=5,
messages=[{"role": "user", "content": "Say ok."}],
)
print("status:", raw.status_code)
print("balance:", raw.headers.get("X-Balance-USD"))
print("req/min limit:", raw.headers.get("X-RateLimit-Limit-Requests"))
print("concurrency limit:", raw.headers.get("X-RateLimit-Limit-Concurrency"))
print("reply:", raw.parse().choices[0].message.content)
Обёртка with_raw_response даёт доступ к заголовкам, а parse() возвращает обычный объект ответа. Настройка Python описана в статье как установить клиента LLM для Python, если импорт не срабатывает.
Проверьте баланс без генерации текста
Чтобы прочитать баланс без генерации текста, вызовите один из эндпоинтов баланса. Есть вариант в стиле OpenAI и короткий:
curl https://api.getaiapikey.com/v1/balance \
-H "Authorization: Bearer $API_KEY"
curl https://api.getaiapikey.com/v1/dashboard/billing/credit_grants \
-H "Authorization: Bearer $API_KEY"
Инструменты, которые уже ожидают формат OpenAI, могут использовать второй путь без изменений. Добавьте вызов в скрипт мониторинга, и вы получите предупреждение, прежде чем бот в продакшене исчерпает баланс. Пополнение начинается от $20, а баланс не сгорает, поэтому нет штрафа за поддержание комфортного запаса. Суммы и бонусы указаны на странице с ценами.
Превратите тест в проверку работоспособности
Как только ключ заработает, оставьте тест. Небольшой скрипт, запускаемый по расписанию, сообщит о сбое деплоя, истечении срока действия секрета или низком балансе ещё до того, как об этом узнают ваши пользователи. Вот версия для Node, использующая встроенный fetch (Node 18 и выше):
const base = "https://api.getaiapikey.com/v1";
async function check() {
const res = await fetch(`${base}/chat/completions`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "uncensored",
max_tokens: 5,
messages: [{ role: "user", content: "Say ok." }],
}),
});
const balance = Number(res.headers.get("X-Balance-USD"));
console.log(res.status, "balance:", balance);
if (res.status >= 400 || balance < 5) process.exitCode = 1;
}
check();
Скрипт завершается с ненулевым кодом, если вызов не удался или баланс падает ниже $5, поэтому задача cron или шаг CI могут вас предупредить. Выберите порог, исходя из вашего собственного темпа расходов: при расходе $2 в день $5 дают вам чуть больше двух дней предупреждения.
Что не доказывает успешный тест
Зелёная галочка показывает, что аутентификация, маршрутизация и модель работают в данный момент при низкой нагрузке. Она не показывает, как ваше приложение ведёт себя с 20 пользователями одновременно. Для этого помните о лимитах: полный ключ обрабатывает 8 запросов одновременно, а потоковые запросы занимают слот до конца потоковой передачи. Протестируйте свой код с ограничением параллельных вызовов перед запуском.
Чтение ошибок
| Что вы видите | Наиболее вероятная причина | Что делать |
|---|---|---|
| Ошибка аутентификации, часто 401 | Неверный ключ, лишний пробел, отсутствие префикса Bearer | Скопируйте ключ заново, проверьте строку заголовка |
| 404 или HTML вместо JSON | Неверный базовый URL | Используйте ровно https://api.getaiapikey.com/v1 |
| Модель не найдена | Другой идентификатор модели в запросе | Установите model в значение uncensored |
429 с rate_limited или concurrency | Слишком много запросов в минуту или одновременно | Подождите, затем повторите с задержкой |
429 с Retry-After: 5 | Временная перегрузка | Подождите 5 секунд и повторите попытку |
| Ошибка соединения или тайм-аут | Сеть, прокси или брандмауэр | Протестируйте из другой сети, проверьте переменные прокси |
Запросы размером более 8 МБ отклоняются, поэтому, если не проходят только крупные вызовы, проверьте размер тела запроса. В документации перечислены все коды ошибок и заголовки.
Хорошие привычки при работе с ключом
- Храните ключ в переменной окружения или хранилище секретов, никогда не в клиентском коде, публичном репозитории или скриншоте.
- Используйте один ключ для каждого приложения, где это возможно, чтобы утечку было легко отследить и заменить ключ.
- Если ключ мог быть скомпрометирован, замените его, затем проверьте баланс на предмет неожиданных расходов.
- Не делитесь пробным ключом между несколькими приложениями: при наличии 2 одновременных запросов он быстро достигнет лимитов.
Если вы хотите лишь проверить наличие бесплатного варианта перед тем, как зарегистрироваться, статья о бесплатном LLM API-ключе объясняет, что доступно. В противном случае трёх проверок выше достаточно для тестирования ключа.
Дополнительные руководства
Вопросы и ответы
Есть ли официальный онлайн-тестер ключей?
Это не требуется. GET /v1/models плюс один небольшой chat-запрос, выполненный с вашего устройства, проверяют ключ, модель и баланс, не передавая ключ третьей стороне.
Платная ли проверка ключа?
Короткий запрос с параметром max_tokens, установленным в 5, стоит несколько миллионных доллара. Ошибочные или отклонённые запросы не оплачиваются.
Как отличить пробный ключ от полного?
Прочитайте заголовки X-RateLimit-Limit-Requests и X-RateLimit-Limit-Concurrency. Пробный ключ показывает значения 60 и 2, полный — 300 и 8.
Мой ключ работает в curl, но не работает в приложении. Почему?
Сравните базовый URL, идентификатор модели и заголовок Authorization в вашем приложении с вызовом curl. Обычные причины — отсутствие /v1, пробел в конце ключа и устаревшая переменная окружения.
Ваш ключ — всего в одной форме
Создайте аккаунт, скопируйте ключ, измените базовый URL. Это вся настройка.