GPUnex
GPU Rental 6 мин чтения

Справочник по API

Управляйте GPU-инстансами программно. Узнайте, как аутентифицироваться, создавать инстансы, проверять статус и многое другое через API GPUnex.

Получение API-ключа

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

  1. Войдите в свой аккаунт GPUnex и перейдите на страницу Профиль или в панель настроек Дашборда.

  2. Откройте раздел API-ключей. Найдите вкладку или карточку API Keys в настройках вашего аккаунта.

  3. Нажмите «Create New API Key». Вам будет предложено дать ключу описательное название. Выберите что-то значимое, что идентифицирует назначение ключа — например, «Production Server», «CI/CD Pipeline» или «Local Development». Это упростит управление несколькими ключами в дальнейшем.

  4. Немедленно скопируйте свой API-ключ. После генерации ключ будет показан ровно один раз. Скопируйте его и сохраните в надёжном месте, например в менеджере паролей или зашифрованном хранилище секретов. После этого шага вы не сможете снова просмотреть полный ключ.

  5. Разберитесь с областью действия и отзывом ключей. Каждый API-ключ привязан к вашему аккаунту и наследует его разрешения. Вы можете создавать несколько ключей для разных приложений или сред. Если ключ скомпрометирован или больше не нужен, вы можете отозвать его в любое время в разделе API Keys. Отзыв ключа происходит мгновенно и необратимо — все запросы с этим ключом будут отклонены.

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

Все запросы к API GPUnex должны включать заголовок Authorization с вашим API-ключом по схеме Bearer token.

Формат заголовка:

Authorization: Bearer YOUR_API_KEY
Терминал
$

Если API-ключ отсутствует, недействителен или отозван, API вернёт ответ 401 Unauthorized:

{
  "error": "unauthorized",
  "message": "Invalid or missing API key. Please check your Authorization header."
}

Убедитесь, что ключ включён в каждый запрос. API не поддерживает аутентификацию на основе сессий или cookie.

Основные эндпоинты

API GPUnex организован вокруг RESTful-ресурсов. Все эндпоинты используют базовый URL https://api.gpunex.com/v1. Ниже приведён обзор доступных основных эндпоинтов.

МетодЭндпоинтОписание
GET/v1/instancesСписок всех ваших активных и недавних инстансов. Возвращает массив объектов инстансов с их текущим статусом, моделью GPU и параметрами конфигурации.
POST/v1/instancesСоздание нового GPU-инстанса. Требуется JSON-тело с указанием модели GPU, фреймворка и региона. Стоимость списывается с вашего баланса USDC.
GET/v1/instances/:idПолучение подробной информации о конкретном инстансе по его уникальному ID. Включает данные SSH-подключения, метрики работы и информацию о тарификации.
DELETE/v1/instances/:idЗавершение работающего инстанса. Инстанс будет остановлен, и плата за него больше взиматься не будет. Все несохранённые данные на инстансе будут потеряны.
GET/v1/gpu-modelsСписок всех моделей GPU, доступных на маркетплейсе. Включает цены, объём VRAM, доступность по регионам и поддерживаемые фреймворки.
GET/v1/balanceПроверка текущего баланса USDC в кошельке и краткая сводка последних транзакций.

Все ответы возвращаются в формате JSON. Успешные запросы возвращают код состояния 200 OK для GET-запросов и 201 Created для POST-запросов, создающих ресурсы.

Пример: Создание инстанса

Для создания нового GPU-инстанса отправьте POST-запрос на /v1/instances с JSON-телом, указывающим желаемую конфигурацию.

Запрос:

Терминал
$

Параметры тела запроса:

ПараметрТипОбязательныйОписание
gpu_modelstringДаИдентификатор модели GPU. Используйте /v1/gpu-models для просмотра доступных вариантов (например, H100_80GB, A100_80GB, L40S_48GB, L4_24GB).
frameworkstringДаПредустановленный фреймворк и версия (например, pytorch-2.3, tensorflow-2.16, jax-0.4).
regionstringДаРегион дата-центра для инстанса (например, us-east-1, eu-west-1, ap-southeast-1).

Пример ответа (201 Created):

{
  "id": "inst_7f3a9b2c4d1e",
  "status": "provisioning",
  "gpu_model": "A100_80GB",
  "framework": "pytorch-2.3",
  "region": "us-east-1",
  "ssh_command": null,
  "hourly_rate": "1.89",
  "currency": "USDC",
  "created_at": "2026-02-15T14:32:07Z"
}

Инстанс изначально будет иметь статус provisioning. Как только GPU будет выделен и среда подготовлена, статус изменится на running, а поле ssh_command будет заполнено строкой подключения. Подготовка обычно занимает от 30 секунд до 2 минут в зависимости от доступности.

Пример: Проверка статуса инстанса

После создания инстанса вы можете проверить его текущий статус в любое время, запросив эндпоинт инстанса с его ID.

Запрос:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.gpunex.com/v1/instances/inst_7f3a9b2c4d1e

Пример ответа (200 OK):

{
  "id": "inst_7f3a9b2c4d1e",
  "status": "running",
  "gpu_model": "A100_80GB",
  "framework": "pytorch-2.3",
  "region": "us-east-1",
  "ssh_command": "ssh [email protected] -p 2222",
  "ip_address": "203.0.113.42",
  "hourly_rate": "1.89",
  "currency": "USDC",
  "uptime_seconds": 3847,
  "total_cost": "2.02",
  "created_at": "2026-02-15T14:32:07Z",
  "started_at": "2026-02-15T14:33:15Z"
}

Значения статусов:

СтатусЗначение
provisioningИнстанс настраивается. GPU-ресурсы выделяются, среда фреймворка подготавливается.
runningИнстанс активен и готов к использованию. SSH-доступ доступен.
stoppingИнстанс в процессе остановки.
terminatedИнстанс остановлен и больше не тарифицируется.
errorПроизошла ошибка при подготовке или во время работы. Обратитесь в поддержку, если это повторяется.

Лимиты запросов и лучшие практики

Лимиты запросов

API GPUnex применяет ограничения на количество запросов для обеспечения справедливого использования и стабильности платформы. Текущие лимиты:

  • Общие эндпоинты: 120 запросов в минуту на API-ключ.
  • Создание инстансов: 10 запросов в минуту на API-ключ.
  • Баланс и эндпоинты только для чтения: 300 запросов в минуту на API-ключ.

Если вы превысите лимит, API вернёт ответ 429 Too Many Requests с заголовком Retry-After, указывающим, сколько секунд нужно подождать перед повторной попыткой.

{
  "error": "rate_limit_exceeded",
  "message": "Too many requests. Please retry after 12 seconds.",
  "retry_after": 12
}

Лучшие практики

Следуйте этим рекомендациям для обеспечения безопасности и надёжности вашей интеграции.

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

Важно

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

  1. Используйте переменные окружения. Храните API-ключ в переменной окружения, а не жёстко прописывайте его в исходных файлах. Например:

    export GPUNEX_API_KEY="your_api_key_here"

    Затем ссылайтесь на него в коде:

    curl -H "Authorization: Bearer $GPUNEX_API_KEY" https://api.gpunex.com/v1/instances
  2. Периодически ротируйте ключи. В качестве лучшей практики безопасности генерируйте новый API-ключ каждые 90 дней и отзывайте старый. Это ограничивает последствия случайной утечки ключа.

  3. Используйте отдельные ключи для разных сред. Создавайте отдельные API-ключи для разработки, тестирования и продакшена. Таким образом, отзыв одного ключа не повлияет на другие среды.

Совет

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

  1. Обрабатывайте ошибки корректно. Всегда проверяйте HTTP-коды состояния в вашем приложении. Реализуйте логику повторных попыток с экспоненциальной задержкой для ответов 429 и 5xx. Не повторяйте запросы при ошибках 4xx, кроме 429 — они указывают на проблему с самим запросом.

  2. Отслеживайте использование. Контролируйте объём API-вызовов и расходы на инстансы. Используйте эндпоинт /v1/balance для программного мониторинга баланса USDC и настройте оповещения при его снижении ниже пороговых значений.