Jarvislabs Docs
Jarvislabs is a GPU cloud for building, training and serving AI. Launch a GPU instance with JupyterLab or VS Code, run a full VM, deploy an autoscaling LLM endpoint, and connect it all with private networking and storage. You pay by the minute, and there's nothing to set up.
What do you want to do?
Pick a template with JupyterLab, VS Code or SSH. Pause it when you're done and you only pay for storage.
VMRun a full virtual machineRoot access, Docker, and your own stack, with VPC, reserved IP and security group support.
ServerlessServe an LLM endpointOpenAI-compatible API on vLLM, SGLang or Ollama, with autoscaling and optional scale-to-zero.
CLI & SDKAutomate from code or an agentCreate GPUs, run scripts and fetch results with jl. Works with Claude Code,
Codex, Cursor and more.
Ship FastAPI, Flask, Gradio or Streamlit apps, or run ComfyUI and Automatic1111.
Quickstart
Every option needs an account with wallet credit. Sign up, then recharge your wallet.
- Dashboard
- CLI
- Python SDK
- Open Templates and pick one, such as PyTorch.
- Choose a GPU, storage size and region, then click Launch.
- When the instance is running, open JupyterLab or VS Code from the dashboard, or connect over SSH.
- When you're done, Pause the instance to stop compute billing. Your data under
/homeis kept. Delete it to stop all billing.
See Managing instances for the full lifecycle, or follow the hands-on Getting Started tutorial.
# Install and authenticate (also installs skills for AI coding agents)
uv tool install jarvislabs
jl setup
# Run a script on a fresh GPU — the instance is paused automatically when it finishes
jl run train.py --gpu A100 --requirements requirements.txt
# Or manage an instance yourself
jl create --gpu A100 --storage 100 --name my-experiment
jl ssh <machine_id>
jl pause <machine_id>
See the CLI reference for every command.
pip install jarvislabs
jl setup # saves your API token for the SDK and CLI
from jarvislabs import Client
with Client() as client:
# Create a GPU instance (blocks until running)
inst = client.instances.create(gpu_type="A100", name="my-instance")
print(f"SSH: {inst.ssh_command}")
print(f"Notebook: {inst.url}")
# Pause to stop compute billing (data persists)
client.instances.pause(inst.machine_id)
See the Python SDK reference for more examples.
Choosing compute
| Instance | VM | Serverless | |
|---|---|---|---|
| Best for | Interactive development, notebooks, training runs | Custom stacks, Docker, long-running services | Production LLM inference |
| You get | A container from a template, with JupyterLab, VS Code and SSH | A full virtual machine with root and SSH | An OpenAI-compatible HTTPS endpoint |
| Docker | Not supported | Supported | Managed for you |
| Networking | API endpoint and SSH | Public IP, plus VPC, Reserved IP, Security Groups | Managed endpoint |
| Scaling | Change GPU type, count or storage on resume | Pick GPU and storage at launch | Autoscales between min and max workers |
| Billing | Per minute while running, storage while paused | Per minute while running, storage while paused | Per running worker, plus model storage |
All products
Compute
Networking
Storage & data
Developer tools
jl.Python SDKCreate, pause and resume instances from Python.dstackOrchestrate dev environments, training and services.Account
Need help?
- Troubleshooting covers common issues and fixes.
- FAQs answers billing, storage and template questions.
- Tutorials has step-by-step guides for real workloads.
- Contact us at support@jarvislabs.ai.