Any OCI image reference
Docker Hub, GitHub Container Registry, private registries. Pass the image URL to snapshots.create() — no format translation needed.
snapshots.create(oci_image=...) pulls any OCI image and applies build_args: apt packages, pip/npm installs, git clone, environment variables. VMs boot from the resulting snapshot in under 500ms.
<500ms
Snapshot boot
3 GB
Max disk
1–8 vCPU
Per VM
$client.snapshots.create(oci_image='python:3.11-slim', ...)
↳pulling layers from docker.io | 183MB
↳running build_args: git clone, pip install numpy pandas
#snapshot status: ready (5.72s)
$client.vms.create(snapshot_id='snap_c2f8', wait=True)
↳vm provisioned in 392ms | snapshot boot
$
Capabilities
Docker Hub, GitHub Container Registry, private registries. Pass the image URL to snapshots.create() — no format translation needed.
git_clone_url, git_clone_branch, extra_apt_packages, extra_pip_packages, extra_npm_packages, envs, post_build_cmd. All run during snapshot build.
Build once, boot many. vms.create(snapshot_id=...) launches a new VM from the same snapshot. No re-pulling, no re-installing.
Each VM from the snapshot gets its own Firecracker kernel. Not a container fork — full hardware isolation with configurable egress.
SDK reference
1from instavm import InstaVM23client = InstaVM(api_key="sk_instavm_...")45# Build snapshot from OCI image (async — polls until ready)6snap = client.snapshots.create(7 oci_image="docker.io/library/python:3.11-slim",8 name="agent-runtime",9 build_args={10 "git_clone_url": "https://github.com/org/agent.git",11 "git_clone_branch": "main",12 "extra_pip_packages": "numpy pandas",13 "envs": {"APP_ENV": "production"},14 },15)1617# Boot VM from snapshot (<500ms)18vm = client.vms.create(19 wait=True,20 snapshot_id=snap["snapshot_id"],21 vcpu_count=4,22 memory_mb=2048,23)24print(vm["vm_id"])
How it works
snapshots.create(oci_image='python:3.11-slim', build_args={...}) pulls layers and runs setup. Build is async — poll status until 'ready'.
vms.create(snapshot_id=..., wait=True) launches a VM from the snapshot. Boot time is under 500ms since layers are pre-cached.
Same snapshot, many VMs. Run evals, CI jobs, or agent sessions in parallel — each with identical starting state.
Free tier available. No credit card required. VMs provision in under 200ms.
By clicking Accept, you agree to our use of cookies.
Learn more