Decillion
Infrastructure

Computers

Create Linux machines and run commands on them.

How computers work

A computer is a clean Linux machine of its own. Create it, start it when you need it, run commands, and stop it when you are done. It is charged by the minute while it runs, and nothing while it is stopped. Its files live in /workspace , a persistent folder: they are kept when the computer stops, so there is no disk size to choose.
A computer stops by itself after a couple of minutes with no commands (the platform's idle window), and any computer is ended after at most eight hours.

What you can ask for

A computer has a size: CPU in cores and memory in MiB. That is what you are charged for while it runs. When it is busy it may use more than its size, up to the platform's ceiling ( burst ), at no extra charge.
Setting
Smallest
Largest
Step
cpu
0.25 core
up to the platform ceiling, 4 by default
0.25
memory_mb
512
up to the platform ceiling, 8,192 by default
256
The limits are the platform's to change, so ask the API rather than hard-coding them:
GET
/v1/computers/options
The current limits, the images you can use and what a running minute costs.
Key permission: Computers: Read
EXAMPLE
curl https://api.decillionai.com/v1/computers/options \ -H "Authorization: Bearer $DECILLION_API_KEY"
Response
{ "cpu": { "min": 0.25, "max": 4, "step": 0.25, "default": 2 }, "memory_mb": { "min": 512, "max": 8192, "step": 256, "default": 2048 }, "burst": { "cpu": 4, "memory_mb": 8192 }, "images": [{ "id": "decillion/sandbox-computer:latest", "name": "Decillion standard computer" }], "idle_stop_minutes": 2, "max_lifetime_minutes": 480, "command_timeout_seconds": 300, "max_computers": 10, "pricing": { "per_minute": 0.0001, "per_vcpu_minute": 0.0002, "per_gb_memory_minute": 0.0001, "per_gb_disk_minute": 0, "disk_gb": 4, "currency": "USD" } }

The image

Every computer starts from an image. The standard one, decillion/sandbox-computer:latest , is the same machine our own room computers run:
•
Debian 12 (bookworm)
•
Node.js 22, and Python 3 with pip and venv
•
git, curl, wget, jq, ripgrep, fd, tree and sqlite3
•
build-essential (gcc, make)
•
Chromium and a remote desktop (Xvfb, VNC, noVNC)
You can instead name a public image from a container registry ( image: "docker.io/library/python:3.12" ). It must include sleep , which is how the computer is kept up.

Create a computer

POST
/v1/computers
Create a computer. It starts running straight away.
Key permission: Computers: Write
BODY PARAMETERS
name
string
A label for you. Defaults to a generated name.
image
string
The image. Defaults to the standard one.
cpu
number
CPU cores, in steps of 0.25. Defaults to the platform's size.
memory_mb
integer
Memory in MiB, in steps of 256. Defaults to the platform's size.
EXAMPLE
curl -X POST https://api.decillionai.com/v1/computers \ -H "Authorization: Bearer $DECILLION_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "build-runner", "cpu": 2, "memory_mb": 4096 }'
Response
{ "id": "0000000000000001a1b2c3d4e5f60718", "name": "build-runner", "status": "running", "image": "decillion/sandbox-computer:latest", "cpu": 2, "memory_mb": 4096, "created_at": "2026-10-15T12:00:00Z", "minutes": 0 }
A size outside the limits is refused with a 400 that says which one. An organization can have up to 10 computers.

Run a command

POST
/v1/computers/{id}/exec
Run a shell command and wait for it to finish.
Key permission: Computers: Write
BODY PARAMETERS
command
string
required
The shell command to run, from /workspace . Up to 64 KB.
timeout
integer
Seconds to wait before the command is stopped, up to the platform's limit (300 by default).
EXAMPLE
curl -X POST https://api.decillionai.com/v1/computers/0000000000000001a1b2c3d4e5f60718/exec \ -H "Authorization: Bearer $DECILLION_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "command": "python3 --version" }'
Response
{ "stdout": "Python 3.11.2\n", "stderr": "", "exit_code": 0, "duration_ms": 184 }
A command that exits with a non-zero code still returns `200`: read `exit_code`. Standard error comes back inside `stdout`, and `stderr` is empty. The call itself fails only if the computer is stopped (`409`) or the command times out.

Start, stop, list and delete

GET
/v1/computers
List your computers.
Key permission: Computers: Read
GET
/v1/computers/{id}
One computer, with its status.
Key permission: Computers: Read
POST
/v1/computers/{id}/start
Start a stopped computer. Billing begins.
Key permission: Computers: Write
POST
/v1/computers/{id}/stop
Stop a running computer. Its files are kept and billing stops.
Key permission: Computers: Write
DELETE
/v1/computers/{id}
Delete a computer and its files for good.
Key permission: Computers: Write
POST
/v1/computers/{id}/upload
Copy a file you have stored under Storage onto a running computer, into /workspace. Send file (its id) and optionally path .
Key permission: Computers: Write
Previous
Images, audio, video and more
Next
Storage