Skip to main content

Deploy an instance

The deploy page is step 2 of 2: you arrive with a machine already chosen and decide what runs on it. Its header reads Configure & Deploy, and Back to GPUs returns you to the marketplace without losing anything.

The form, field by field

Offer

The offer is not a form field — it comes in from the marketplace and is shown as a summary card at the top: GPU model, slice size, VRAM per card, location and hourly price. It is fixed for this deploy. To change the machine, go back and pick another card.

Two states replace the form instead of showing it:

What you seeWhy
"No GPU selected"You opened the page without coming through the marketplace
"That offer is gone"The offer was withdrawn from the catalog between selection and now

Template

A grid of template cards, each checked against the machine you chose. Incompatible templates are dimmed and unclickable, and the first compatible one is preselected. The picker lists the curated templates plus, if you arrived by pressing Launch in the gallery, that template pinned at the front. See Choosing a template.

Disk

A slider, with the current value shown above it in GB or TB.

Minimum10 GB
MaximumThe host machine's disk, shown under the slider as "Max N on this machine"
Step10 GB
Default50 GB

The API accepts disk_gb anywhere from 10 to 20,000, but the request is rejected if you ask for more than the chosen machine physically has, and the error tells you that machine's ceiling.

Size this deliberately. The disk is what you pay for while the instance is stopped, at the per-GB-per-month rate printed under the slider, and it cannot be resized later — a bigger disk means a new instance.

SSH key

A dropdown of the SSH keys on your account, defaulting to No key (web terminal only). Add key next to it opens the same dialog as the SSH Keys page, so you can paste a public key without leaving the form.

SSH keys belong to you, not to your organization: teammates deploying from the same organization each attach their own. The key is installed at launch, so adding a key afterward does not reach an instance that is already running — the connect command on the instance page authenticates with whatever you attached here.

Leaving it on No key launches the instance with no authorized key at all, which means no ssh session. Only choose it when the template gives you a browser entry point, such as a jupyter template.

Label

Optional free text, up to 64 characters, for telling instances apart later — llama-finetune rather than a UUID prefix. Without one, the console falls back to the first eight characters of the instance id. The label is metadata only; nothing inside the container sees it.

Environment overrides

The console form does not expose these. The API does: env_overrides on POST /v1/instances takes a list of {key, value} pairs that override the template's declared environment by key, which is how you fill in a template's blank secret without editing the template.

Three rules apply:

  • Your value wins over the template's value for the same key.
  • An entry with no value is dropped rather than set to an empty string.
  • The platform's own variables always win over yours. You cannot shadow JUPYTER_TOKEN or GPU_COUNT.

See Environment variables and Instances API.

The request

Everything above lands in one call:

{
"offer_id": "e1c0…",
"template_id": "9b74…",
"disk_gb": 100,
"label": "llama-finetune",
"ssh_key_id": "3f21…",
"env_overrides": [{ "key": "HF_TOKEN", "value": "hf_…" }]
}

label, ssh_key_id and env_overrides are optional; the first three fields are not.

Before the button will work

The Deploy instance button stays disabled while any of these is true:

ConditionWhat to do
Balance is zero or belowAdd credits. Admins get an Add credits shortcut in the panel; members are told to ask an admin
The selected template is incompatible with the machinePick another template, or another GPU
No template is selectedPick one
A deploy is already in flightWait — the button reads "Deploying…"

After you press deploy

  1. The offer is locked and re-checked. If it is no longer available, the deploy fails here and nothing else runs.
  2. The disk, template and SSH key are validated, then your balance is checked. It has to cover one hour of the instance — GPU plus the disk you picked — not merely be above zero.
  3. Only then is your unit subtracted from every shape on that machine that overlaps it, and the instance is created in creating. Nobody can take your GPUs; the same offer stays rentable if the machine still has free ones. The console moves you to its page with the message "Deploying — your instance is spinning up".
  4. The page polls itself every three seconds while the instance is in a transitional state, and the hint on screen reads "Provisioning your machine — usually under 20 seconds".
  5. When the instance reaches running, the connect details appear — the ready-made ssh -p <port> <user>@<host> command, and for jupyter templates an Open JupyterLab button. Until then the tab says connection details appear once the instance is running.

Billing does not start when you press the button. The meter starts when the workload reports running, so the provisioning window costs nothing, and so does a deploy that never gets there.

When a deploy fails

ErrorMeaningWhat the console does
Offer unavailableSomeone claimed that slice firstSends you back to the marketplace
Insufficient balanceThe balance does not cover an hour of this instanceRefreshes the balance and prompts for credits
Disk too largedisk_gb exceeds the host machine's diskReports the machine's ceiling
Template not foundThe template id is unknown or no longer activeShows the message inline
SSH key not foundThe key id is not one of yoursShows the message inline
Machine not VM-capableA vm template on a machine that cannot run VMsShows the message inline
Machine in maintenanceThe machine is booked offline too soon to start onNames the date and sends you back to the marketplace

A deploy refused at any of the steps above creates nothing and charges nothing. A deploy that gets past them and then fails while provisioning is different: the instance row exists, lands in error, and is cleaned up automatically — it never bills, because the meter starts when the workload reports running and this one never did. Full list in Error codes.

The meter starts as soon as the instance runs

There is no confirmation step after this page. From the moment the instance reaches running you are billed per second, and stopping it later still bills the disk. Read Stop vs destroy before you walk away from one.