Everything the console does is a public API call. Base URL is https://api.gpuai.shop/v1, authentication is a bearer token from the console.
From signup to a running GPU in five commands.
Create, list, stop and destroy compute.
What ships inside each stock image.
The failures we see most often.
Create a token in the console under Settings. Pass it as a bearer token on every request. Tokens are scoped per project and can be revoked without affecting running instances.
| Method | Path | Description |
|---|---|---|
| GET | /v1/instances | List every instance on the project |
| POST | /v1/instances | Create an instance |
| GET | /v1/instances/{id} | Fetch one instance with current state |
| GET | /v1/instances/{id}/logs | Provisioning and console log |
| GET | /v1/instances/{id}/metrics | GPU utilisation, VRAM, temperature, power |
| POST | /v1/instances/{id}/stop | Halt, retaining the root volume |
| POST | /v1/instances/{id}/start | Resume a stopped instance |
| DELETE | /v1/instances/{id} | Destroy and erase |
Returns 201 with the instance object. The status field starts at queued; poll the instance or tail its logs until it reads running.
| Method | Path | Description |
|---|---|---|
| GET | /v1/volumes | List persistent volumes |
| POST | /v1/volumes | Create a volume (size_gb, region) |
| POST | /v1/volumes/{id}/attach | Attach to an instance |
| POST | /v1/volumes/{id}/detach | Detach from its instance |
| POST | /v1/snapshots | Snapshot a volume |
| Image ID | Contents |
|---|---|
| ubuntu-22-cuda-12 | Ubuntu 22.04 + CUDA 12.4 + PyTorch 2.4 |
| ubuntu-22-cuda-11 | Ubuntu 22.04 + CUDA 11.8 + PyTorch 2.1 |
| ubuntu-24-vanilla | Ubuntu 24.04 LTS (no ML stack) |
| nvidia-ngc | NVIDIA NGC PyTorch 24.07 |
| tensorflow-215 | Ubuntu 22.04 + TensorFlow 2.15 |
All images are Ubuntu-based, ship the 550.x driver branch, and disable password SSH. Your account's public keys are injected at boot through cloud-init.
60 requests per minute per token for read operations, 20 per minute for writes. Exceeding the limit returns 429 with a Retry-After header. Log tailing does not count against the limit.
The region is out of capacity for that card. Either wait — you are not billed while queued — or destroy the request and try another region. The catalogue marks cards as limited when this is likely.
Almost always the KV cache or optimiser state rather than the weights. Reduce batch size first, then sequence length, then consider gradient checkpointing. The comparison page has the sizing arithmetic.
Expected. The host page cache is cold immediately after provisioning, so the first pass over a dataset runs at roughly a third of steady-state throughput.
Check the instance has actually reached running, that you are using the key registered on the account, and that you are connecting to the public address shown in the console rather than the private one.