Создать инстанс
Инициирует процесс создания новой виртуальной машины. Метод проверяет наличие средств, резервирует баланс и ставит задачу на развертывание в очередь.
POST https://api.yougpu.ru/instances
Заголовки (Headers)
| Заголовок | Значение | Описание |
|---|---|---|
| X-API-KEY | <YOUR_API_KEY> | Ваш API ключ |
| Content-Type | application/json | Формат данных |
Параметры тела (Body)
Заголовок раздела «Параметры тела (Body)»Параметр
Тип
Описание
offer_id*stringID выбранного предложения (оффера) из каталога.
offer_id*
image_id*stringID базового образа ОС.
image_id*
instance_name*stringУникальное имя инстанса. От 3 до 50 символов. Только латиница, цифры и дефис. Должно начинаться с буквы и не заканчиваться дефисом.
instance_name*
ssh_keysstring[]Массив ID SSH-ключей, которые будут добавлены на сервер.
ssh_keys
template_idstringID шаблона приложения (если используется).
template_id
storage_drive_idstringID облачного диска (если используется).
storage_drive_id
docker_configobjectКонфигурация для запуска Docker-контейнера:
docker_config
image*stringНазвание Docker-образа (например, 'pytorch/pytorch:latest').
image*
run_commandstringКоманда запуска (Entrypoint/Command).
run_command
shm_size_gbnumberРазмер разделяемой памяти (/dev/shm) в ГБ. Минимум 0.1.
shm_size_gb
portsarrayПроброс портов:
ports
internal_portnumberПорт внутри контейнера (1-65535).
internal_port
external_portnumberВнешний порт инстанса (1-65535).
external_port
protocolstringTCP или UDP. По умолчанию TCP.
protocol
namestringМетка порта.
name
is_mainbooleanФлаг основного порта для подключения (например, для Jupyter).
is_main
envarrayПеременные окружения:
env
keystringИмя переменной (валидный формат Env Key).
key
valuestringЗначение переменной.
value
volumesarrayМонтирование директорий:
volumes
container_pathstringПуть внутри контейнера.
container_path
host_pathstringПуть на хостовой машине.
host_path
Примеры кода
Заголовок раздела «Примеры кода»curl -X POST "https://api.yougpu.ru/instances" \ -H "X-API-KEY: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "instance_name": "ml-worker-01", "offer_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "image_id": "ubuntu-24.04-cuda-12.8", "ssh_keys": [ "550e8400-e29b-41d4-a716-446655440000" ], "storage_drive_id": "717fdac6-51db-4272-a6e3-d1a4f89cdc5f", "docker_config": { "image": "nvidia/cuda:12.1.0-base-ubuntu22.04", "env": [ { "key": "NVIDIA_VISIBLE_DEVICES", "value": "all" } ], "ports": [ { "internal_port": 8888, "external_port": 8888, "name": "jupyter", "is_main": true } ] } }'import requests
url = "https://api.yougpu.ru/instances"headers = { "X-API-KEY": "<YOUR_API_KEY>", "Content-Type": "application/json"}data = { "instance_name": "ml-worker-01", "offer_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "image_id": "ubuntu-24.04-cuda-12.8", "ssh_keys": [ "550e8400-e29b-41d4-a716-446655440000" ], "storage_drive_id": "717fdac6-51db-4272-a6e3-d1a4f89cdc5f", "docker_config": { "image": "nvidia/cuda:12.1.0-base-ubuntu22.04", "env": [ { "key": "NVIDIA_VISIBLE_DEVICES", "value": "all" } ], "ports": [ { "internal_port": 8888, "external_port": 8888, "name": "jupyter", "is_main": True } ] }}
response = requests.post(url, json=data, headers=headers)print(response.json())const response = await fetch('https://api.yougpu.ru/instances', { "method": "POST", "headers": { "X-API-KEY": "<YOUR_API_KEY>", "Content-Type": "application/json" }, "body": JSON.stringify({ "instance_name": "ml-worker-01", "offer_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "image_id": "ubuntu-24.04-cuda-12.8", "ssh_keys": [ "550e8400-e29b-41d4-a716-446655440000" ], "storage_drive_id": "717fdac6-51db-4272-a6e3-d1a4f89cdc5f", "docker_config": { "image": "nvidia/cuda:12.1.0-base-ubuntu22.04", "env": [ { "key": "NVIDIA_VISIBLE_DEVICES", "value": "all" } ], "ports": [ { "internal_port": 8888, "external_port": 8888, "name": "jupyter", "is_main": true } ] } })});const data = await response.json();console.log(data);curl -X POST "https://api.yougpu.ru/instances" \ -H "X-API-KEY: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "instance_name": "ml-worker-01", "offer_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "image_id": "ubuntu-22.04-cuda-12.4", "template_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "ssh_keys": [ "550e8400-e29b-41d4-a716-446655440000" ] }'import requests
url = "https://api.yougpu.ru/instances"headers = { "X-API-KEY": "<YOUR_API_KEY>", "Content-Type": "application/json"}data = { "instance_name": "ml-worker-01", "offer_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "image_id": "ubuntu-22.04-cuda-12.4", "template_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "ssh_keys": [ "550e8400-e29b-41d4-a716-446655440000" ]}
response = requests.post(url, json=data, headers=headers)print(response.json())const response = await fetch('https://api.yougpu.ru/instances', { "method": "POST", "headers": { "X-API-KEY": "<YOUR_API_KEY>", "Content-Type": "application/json" }, "body": JSON.stringify({ "instance_name": "ml-worker-01", "offer_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "image_id": "ubuntu-22.04-cuda-12.4", "template_id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "ssh_keys": [ "550e8400-e29b-41d4-a716-446655440000" ] })});const data = await response.json();console.log(data); 201 Created
{ "status": "success", "code": 201, "data": { "id": "e3b0c442-989b-464c-8693-e1d5a7d65b32", "name": "ml-worker-01", "status": "PROVISIONING", "price_per_hour_snapshot": "18.500000", "ip_address": "203.0.113.42", "ssh_username": "root", "ssh_port": 22, "external_id": "srv-847291", "docker_config": null, "failure_reason": null, "metadata": { "environment_name": "default-NORWAY-1" }, "connection_info": { "type": "os_only", "secrets": {}, "endpoints": [] }, "application_template": null, "storage_drive": null, "offer": { "id": "8b3d4f5e-1a2b-3c4d-5e6f-7a8b9c0d1e2f", "name": "RTX-A4000", "interconnect": "PCIE", "external_offer_id": "n3-RTX-A4000x1", "in_stock": true, "region": "NORWAY-1", "gpu_count": 1, "cpu_cores": 4, "vram_gb": 21, "ram_gb": 21, "root_disk_gb": 100, "ephemeral_disk_gb": 0, "metadata": { "environment_name": "default-NORWAY-1" }, "gpu_model": { "id": "a7267bfc-690e-4deb-8c5c-a9748f186494", "name": "RTX A4000", "slug": "rtx-a4000", "description": null, "vram_gb": 21, "created_at": "2026-02-02T20:57:27.363Z", "updated_at": "2026-02-15T18:03:38.370Z" }, "created_at": "2026-02-03T19:31:37.771Z", "updated_at": "2026-02-28T10:21:43.851Z" }, "provider": { "id": "0602b1ef-537c-46e5-b902-543d01c52def", "name": "Hyperstack", "slug": "hyperstack", "created_at": "2026-02-02T20:57:27.929Z", "updated_at": "2026-02-15T18:03:39.419Z" }, "base_image": { "id": "ubuntu-24.04-cuda-12.8", "name": "Ubuntu 24.04 LTS (CUDA 12.8)", "description": "Актуальный стандарт 2026 года. Driver 570+, максимальная производительность H100.", "logo_url": "https://assets.ubuntu.com/v1/29985a98-ubuntu-logo-icon.svg", "os_type": "linux", "distro_version": "24.04", "driver_version": "570.86.10", "cuda_version": "12.8", "supports_docker": true, "supports_rdp": false, "specs": { "docker": "26.0", "kernel": "6.8.0", "python": "3.12" }, "sort_order": 90 }, "ssh_keys": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "master", "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGxampleFakePublicKeyDataThatIsSafeToShare user@example.com", "fingerprint": null, "is_default": false, "created_at": "2026-02-17T00:44:15.031Z", "updated_at": "2026-02-24T18:15:56.147Z" } ], "paid_until": null, "last_billed_at": "2026-02-26T20:17:00.400Z", "started_at": "2026-02-26T20:17:00.400Z", "terminated_at": "2026-02-26T20:19:09.683Z", "created_at": "2026-02-26T20:16:11.321Z", "updated_at": "2026-02-26T20:19:09.684Z" }}Структура ответа
Заголовок раздела «Структура ответа»Параметр
Тип
Описание
statusstringСтатус выполнения запроса (например, success).
status
codenumberHTTP код ответа.
code
dataobjectДанные ответа:
data
idstringУникальный ID инстанса.
id
namestringИмя сервера.
name
statusInstanceStatusТекущий статус:
status
CREATINGValue0. Запись создана в БД, процесс инициализации.
CREATING
PROVISIONINGValue1. Запрос отправлен провайдеру, ожидаем выделения железа.
PROVISIONING
INSTALLINGValue2. Идёт установка выбранного шаблона(Jupyter, ComfyUI). Сервер работает, SSH доступен.
INSTALLING
ACTIVEValue3. Сервер работает, SSH доступен.
ACTIVE
STOPPINGValue4. Процесс остановки (Graceful shutdown).
STOPPING
STOPPEDValue5. Выключен. Диск занят, данные сохранены.
STOPPED
STARTINGValue6. Запуск ранее остановленного сервера.
STARTING
REBOOTINGValue7. Перезагрузка по команде пользователя.
REBOOTING
TERMINATINGValue8. Процесс безвозвратного удаления.
TERMINATING
TERMINATEDValue9. Сервер удален (Soft Delete).
TERMINATED
ERRORValueОшибка на стороне провайдера.
ERROR
price_per_hour_snapshotstringСтоимость часа аренды (зафиксированная).
price_per_hour_snapshot
ip_addressstring | nullПубличный IP.
ip_address
ssh_usernamestringИмя пользователя для SSH подключения (обычно root или ubuntu).
ssh_username
ssh_portnumberПорт для SSH подключения (обычно 22).
ssh_port
external_idstring | nullID сервера на стороне провайдера.
external_id
docker_configjson | nullПользовательская конфигурация Docker (если есть).
docker_config
failure_reasonstring | nullПричина ошибки, если статус инстанса ERROR.
failure_reason
metadatajson | nullДополнительные метаданные инстанса (токены, окружение и т.д.).
metadata
connection_infoobject | nullДанные для подключения к приложениям внутри инстанса:
connection_info
typestringТип подключения (os_only, template, custom_docker).
type
secretsobjectСгенерированные пароли и токены (например, для JupyterLab).
secrets
endpointsarrayСписок проброшенных портов и ссылок.
endpoints
application_templateobject | nullДанные использованного шаблона приложения (если сервер создан из шаблона).
application_template
storage_driveobject | nullДанные прикрепленного облачного хранилища.
storage_drive
offerobjectПолная информация предложения:
offer
idstringID конфигурации.
id
namestringНазвание тарифа.
name
interconnectstringТип соединения GPU (PCIE, SXM5 и т.д.).
interconnect
provider_idstringID провайдера.
provider_id
gpu_model_idstringID модели GPU.
gpu_model_id
external_offer_idstringID тарифа у провайдера.
external_offer_id
in_stockbooleanДоступность конфигурации.
in_stock
regionstringКод региона размещения.
region
gpu_countnumberКоличество GPU карт.
gpu_count
cpu_coresnumberКоличество ядер CPU.
cpu_cores
vram_gbnumberОбщий объем видеопамяти (ГБ).
vram_gb
ram_gbnumberОбъем оперативной памяти (ГБ).
ram_gb
root_disk_gbnumberРазмер системного диска.
root_disk_gb
ephemeral_disk_gbnumberРазмер быстрого локального хранилища.
ephemeral_disk_gb
metadatajson | nullДополнительные параметры провайдера.
metadata
created_atstringДата создания.
created_at
updated_atstringДата обновления.
updated_at
gpu_modelobjectМодель видеокарты:
gpu_model
idstringID модели.
id
namestringКоммерческое название.
name
slugstringSlug модели.
slug
descriptionstring | nullОписание.
description
vram_gbnumberВидеопамять на одну карту.
vram_gb
created_atstringДата создания.
created_at
updated_atstringДата обновления.
updated_at
providerobjectДанные о провайдере:
provider
idstringID провайдера.
id
slugstringSlug.
slug
namestringНазвание.
name
created_atstringДата создания.
created_at
updated_atstringДата обновления.
updated_at
base_imageobjectИнформация о базовом образе ОС:
base_image
idstringID образа.
id
namestringНазвание (например, Ubuntu 24.04).
name
descriptionstring | nullОписание ОС.
description
logo_urlstring | nullСсылка на логотип.
logo_url
os_typestringТип ОС (linux/windows).
os_type
distro_versionstringВерсия дистрибутива.
distro_version
driver_versionstring | nullВерсия видеодрайвера.
driver_version
cuda_versionstring | nullВерсия CUDA.
cuda_version
supports_dockerbooleanПоддержка Docker.
supports_docker
supports_rdpbooleanПоддержка RDP.
supports_rdp
specsjson | nullТехнические спецификации ПО.
specs
sort_ordernumberПорядок сортировки при выводе.
sort_order
ssh_keysarrayСписок SSH-ключей, добавленных на этот сервер:
ssh_keys
idstringУникальный идентификатор ключа в нашей системе.
id
namestringЗаданное вами имя ключа.
name
public_keystringСохраняемый публичный ключ.
public_key
fingerprintstring | nullХеш (отпечаток) ключа для быстрой проверки идентичности.
fingerprint
is_defaultbooleanЯвляется ли ключ основным для новых инстансов.
is_default
created_atstringДата добавления ключа в формате ISO 8601.
created_at
updated_atstringДата последнего обновления ключа в формате ISO 8601.
updated_at
paid_untilstring | nullДата, до которой оплачен инстанс.
paid_until
last_billed_atstring | nullДата последнего успешного списания средств.
last_billed_at
started_atstring | nullДата фактического запуска сервера провайдером.
started_at
terminated_atstring | nullДата удаления инстанса.
terminated_at
created_atstringДата создания записи об инстансе.
created_at
updated_atstringДата последнего обновления записи.
updated_at