Skip to main content
Per-second billing · Scale to zero

Serverless GPUs

Deploy AI workloads on serverless GPUs. Bring a model, pick a GPU, and get a queue endpoint that scales from zero to your worker limit as jobs arrive — billed per second of GPU time, nothing once workers scale back to zero.

Serverless GPUs are rolling out in a limited beta.

GPUs & pricing

2x L40S

96 GB VRAM

medium availability
$0.00195 /sec
$7.02 /hr per worker
Deploy

RTX 4090

24 GB VRAM

high availability
$0.00055 /sec
$1.98 /hr per worker
Deploy

A6000

48 GB VRAM

low availability
$0.0006 /sec
$2.16 /hr per worker
Deploy

H200

141 GB VRAM

medium availability
$0.0025 /sec
$9.00 /hr per worker
Deploy

B200

180 GB VRAM

low availability
$0.0038 /sec
$13.68 /hr per worker
Deploy

L40S

48 GB VRAM

medium availability
$0.000975 /sec
$3.51 /hr per worker
Deploy

A100

80 GB VRAM

high availability
$0.0014 /sec
$5.04 /hr per worker
Deploy

A4000,RTX4000

16 GB VRAM

low availability
$0.000225 /sec
$0.81 /hr per worker
Deploy

L4

24 GB VRAM

low availability
$0.00045 /sec
$1.62 /hr per worker
Deploy

H100

80 GB VRAM

medium availability
$0.001525 /sec
$5.49 /hr per worker
Deploy

Rates are per second of worker time on a single GPU worker — including the idle-timeout seconds a worker waits for the next job before winding down. Availability reflects live capacity and changes throughout the day.

How it works

  1. 1

    Create a deployment

    Pick a template, choose a GPU, set your scaling limits. Your endpoint is live in minutes — no cluster, no drivers, no capacity planning.

  2. 2

    Submit jobs via the queue API

    Every deployment gets a private endpoint on the same queue API as catalog models: POST a job, poll the status, fetch the result.

  3. 3

    Watch workers and logs live

    The dashboard streams worker states, queue depth, and a live log tail. Usage is metered per second and settles hourly.

Submit a job

curl -X POST https://queue.modelrunner.run/{username}/{alias} \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "prompt": "..." }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

Start from a template

LLM Server (vLLM)

Serve any open-weights LLM by Hugging Face id on a dedicated serverless GPU. Submit prompts through the queue API; scale-to-zero when idle.

Frequently asked questions

What are serverless GPUs?
GPU workers that start when jobs arrive and scale back to zero when idle. You create a deployment — a template plus a GPU and scaling limits — and get a private queue endpoint; ModelRunner runs the workers, streams the logs, and meters the seconds.
How does serverless GPU billing work?
Per second of worker time, at the rate shown for each GPU. Deployments scale to zero when idle, so an endpoint that receives no jobs costs nothing to keep. Usage is metered live and settles into hourly charges, and you can set a monthly spend cap per deployment.
How do I submit jobs to a deployment?
Every deployment gets an endpoint of the form {username}/{alias} on queue.modelrunner.run — the same queue API as catalog models. POST a job with your API key, poll the status URL, and fetch the result when it completes.
Can I watch my GPUs while they run?
Yes. The dashboard shows live workers (state, GPU, region, uptime), queue depth, a streaming log tail, per-request history, and hourly usage for every deployment.

Ready to deploy?

Create a deployment from the dashboard and submit your first job in minutes.