API-ключи
Каждому аккаунту MegaAPI.ru мы выдаём один мастер-ключ вида
sk-nexus-.... Этот ключ — единственный пропуск для вызова всех 400+ моделей
через единый OpenAI-совместимый эндпоинт. В отличие от других reseller-площадок, у нас
нет «групп», «каналов», «multiplier» — один ключ работает со всеми моделями автоматически.
Что такое sk-nexus-...?
Это длинная случайная строка, по которой мы определяем владельца аккаунта и списываем
USDT с баланса при каждом запросе. Ключ привязан к вашему Telegram-аккаунту, увидеть его
можно в Mini App (вкладка «Профиль») или прямо в чате с
@megaapibot по команде
/key.
| Свойство | Значение |
|---|---|
| Префикс | sk-nexus- |
| Длина | 64 символа (включая префикс) |
| Алгоритм | cryptographically secure URL-safe random |
| Срок жизни | бессрочный (до ротации) |
| Скоуп | все модели, нет whitelist/blacklist |
| Где хранится | хеш в нашей БД + plain в вашем Telegram-чате |
Как использовать
Передавайте ключ в заголовке Authorization (или нативном для Anthropic/Gemini):
curl https://megaapi.ru/v1/chat/completions \ -H "Authorization: Bearer sk-nexus-..." \ -H "Content-Type: application/json" \ -d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Привет"}]}'
Для нативного Anthropic SDK — тот же ключ, но в заголовке x-api-key:
curl https://megaapi.ru/v1/messages \ -H "x-api-key: sk-nexus-..." \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-opus-4.7","max_tokens":1024,"messages":[{"role":"user","content":"Hi"}]}'
Для нативного Gemini — ключ передаётся в query-параметре ?key=:
curl "https://megaapi.ru/v1/models/gemini-3.5-flash:generateContent?key=sk-nexus-..." \ -H "Content-Type: application/json" \ -d '{"contents":[{"parts":[{"text":"Hi"}]}]}'
Безопасность
Никогда не публикуйте ключ. Не пушьте в git, не отправляйте в Slack/чаты, не используйте в публичных Telegram-каналах, не подставляйте напрямую в JS на фронтенде. Утёкший ключ — слитый баланс.
Best practices
- .env-файл. Храните ключ в
.envи добавьте его в.gitignore. В коде читайте черезos.environ["MEGAAPI_KEY"]. - Серверный proxy для фронта. Никогда не зашивайте ключ в браузерный код. Для веб-приложения создайте backend-роут, который проксирует запросы и подставляет ключ на сервере.
- Ротация при подозрении на утечку. Mini App → Профиль → «Сменить ключ». Старый ключ моментально отзывается, выдаётся новый.
- Проверяйте, что ключ не попал в логи. Многие фреймворки логируют все
HTTP-заголовки — настройте redacting для
Authorization. - Используйте HTTPS. Наш API доступен только по
https://megaapi.ru, plaintext-HTTP редиректит. Никогда не отправляйте ключ по HTTP.
Ротация ключа
Если есть подозрение, что ключ утёк:
- Откройте Mini App в Telegram (@megaapibot).
- Перейдите в Профиль → Сменить ключ.
- Подтвердите действие — старый ключ мгновенно перестанет работать, придёт новый.
- Обновите ключ во всех приложениях, где он используется.
В CLI — короче: команда /rotate боту
@megaapibot.
Несколько ключей для команды?
Сейчас один аккаунт = один ключ — простая модель для индивидуальных разработчиков. Если вам нужно несколько ключей (для разных проектов, под разные лимиты, для разных членов команды) — напишите в @megaapibot, подключим team-аккаунт с до 25 sub-ключей, индивидуальными квотами и отдельной статистикой.
| Возможность team | Описание |
|---|---|
| До 25 sub-ключей | Каждому разработчику — свой sk-nexus-... |
| Квоты на ключ | Лимит USDT в сутки/месяц для каждого |
| Whitelist моделей | Запретить доступ к дорогим моделям (например, к opus/gpt-5.5-pro) |
| Отдельная статистика | Расход по каждому ключу |
| Webhook на расход | Уведомление, когда ключ потратил N USDT |
Как происходит списание
После каждого успешного запроса в фоне списывается USDT по формуле:
cost_usdt = (prompt_tokens × in_price + completion_tokens × out_price) / 1_000_000
Цена рассчитывается по актуальным тарифам провайдеров. Если поля usage в ответе нет,
мы считаем эвристикой по символам (более грубо). Для streaming-ответов мы автоматически
добавляем stream_options.include_usage = true, чтобы получить точный счётчик
в финальном чанке.
| Ситуация | Списание |
|---|---|
| Успешный ответ (HTTP 200) | Да, по факту usage |
| 4xx-ошибка (ваш запрос) | Нет |
| 5xx / upstream timeout | Нет |
| Streaming, но клиент отключился | Списывается за уже сгенерированную часть |
Image gen с content_filter | Нет (failed request) |
Статистика расхода
Открывайте Mini App → Расходы. Доступно:
- Текущий баланс USDT в реальном времени
- График трат за 24 часа / 7 дней / 30 дней
- Топ-5 моделей по расходу
- Лог последних 100 запросов с моделью, токенами и стоимостью
- Экспорт CSV за любой период
Частые вопросы
Можно ли получить ключ без Telegram?
Сейчас — нет. Вся авторизация идёт через Telegram. Если для вашего бизнес-кейса это блокер — напишите в @megaapibot, обсудим e-mail / OAuth-вход для корпоративных клиентов.
Старый ключ работает после ротации?
Нет, ротация моментально отзывает старый ключ. Все приложения, использующие старый ключ,
начнут получать HTTP 401 invalid_api_key.
Можно ли «временно» отключить ключ?
Да: Mini App → Профиль → «Заморозить ключ». Ключ временно отклоняет запросы (для расследования утечки), но не отозван. Активировать обратно — той же кнопкой.
Как проверить, что ключ валиден?
Дешёвая проверка — список моделей:
curl https://megaapi.ru/v1/models -H "Authorization: Bearer sk-nexus-..."
Если 200 OK — ключ живой. Если 401 — невалидный, отозванный или ошибочно скопированный.
Что делать при утечке?
- Немедленно сделайте ротацию (см. выше).
- Проверьте логи расхода в Mini App — есть ли подозрительные запросы.
- Если кто-то списал баланс — напишите в @megaapibot, мы расследуем и при необходимости компенсируем.