Does an LLM fit on your GPU? VRAM, KV cache and GPU count for any Hugging Face model.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
GPU memory, number of GPUs, speed and rental cost to run an open LLM. Works for the models listed at https://studiotvai.com/api/models.json and any Hugging Face model id or link. Uses the real KV cache of each architecture (sliding window, hybrid linear attention, MLA).
Model name or id ("Llama 3.3 70B", "qwen3.8-27b"), Hugging Face id ("Qwen/Qwen3-32B") or link.
GPU id or name, e.g. "rtx-4090", "H100", "mac-m4-max-128". Default h100. List: https://studiotvai.com/api/gpus.json
Serving engine. Default: vllm on data-center GPUs, llamacpp elsewhere.
Tokens per request (prompt + output). Default 8192.
Weight format. Default: the official checkpoint (native) or BF16.
KV cache precision. Default bf16.
Number of GPUs, or "auto" (default) for the fewest that fit.
Requests served at the same time, each with its own KV cache. Default 1.
GPU memory, number of GPUs, speed and rental cost to run an open LLM. Works for the models listed at https://studiotvai.com/api/models.json and any Hugging Face model id or link. Uses the real KV cache of each architecture (sliding window, hybrid linear attention, MLA).
| Argument | Type | Description |
|---|---|---|
| gpu | string | GPU id or name, e.g. "rtx-4090", "H100", "mac-m4-max-128". Default h100. List: https://studiotvai.com/api/gpus.json |
| model* | string | Model name or id ("Llama 3.3 70B", "qwen3.8-27b"), Hugging Face id ("Qwen/Qwen3-32B") or link. |
| engine | string | Serving engine. Default: vllm on data-center GPUs, llamacpp elsewhere. |
| context | integer | Tokens per request (prompt + output). Default 8192. |
| weights | string | Weight format. Default: the official checkpoint (native) or BF16. |
| kv_cache | string | KV cache precision. Default bf16. |
| gpu_count | integer | string | Number of GPUs, or "auto" (default) for the fewest that fit. |
| concurrent_requests | integer | Requests served at the same time, each with its own KV cache. Default 1. |
{
"type": "object",
"required": [
"model"
],
"properties": {
"gpu": {
"type": "string",
"description": "GPU id or name, e.g. \"rtx-4090\", \"H100\", \"mac-m4-max-128\". Default h100. List: https://studiotvai.com/api/gpus.json"
},
"model": {
"type": "string",
"description": "Model name or id (\"Llama 3.3 70B\", \"qwen3.8-27b\"), Hugging Face id (\"Qwen/Qwen3-32B\") or link."
},
"engine": {
"enum": [
"vllm",
"sglang",
"trtllm",
"llamacpp",
"transformers"
],
"type": "string",
"description": "Serving engine. Default: vllm on data-center GPUs, llamacpp elsewhere."
},
"context": {
"type": "integer",
"minimum": 1,
"description": "Tokens per request (prompt + output). Default 8192."
},
"weights": {
"enum": [
"native",
"bf16",
"fp8",
"int8",
"nvfp4",
"mxfp4",
"int4",
"q8_0",
"q6_k",
"q5_k_m",
"q4_k_m",
"q3_k_m",
"q2_k",
"iq2_xxs",
"fp32"
],
"type": "string",
"description": "Weight format. Default: the official checkpoint (native) or BF16."
},
"kv_cache": {
"enum": [
"bf16",
"fp8",
"q8_0",
"q4_0"
],
"type": "string",
"description": "KV cache precision. Default bf16."
},
"gpu_count": {
"type": [
"integer",
"string"
],
"description": "Number of GPUs, or \"auto\" (default) for the fewest that fit."
},
"concurrent_requests": {
"type": "integer",
"minimum": 1,
"description": "Requests served at the same time, each with its own KV cache. Default 1."
}
}
}Cheapest on-demand price per GPU-hour from AWS, Google Cloud, Azure, RunPod, Vast.ai, Oracle Cloud, OVHcloud, Scaleway, Verda, Akash and UpCloud, checked every hour.
| Argument | Type | Description |
|---|---|---|
| gpu | string | GPU id or name. Omit for every GPU. |
{
"type": "object",
"properties": {
"gpu": {
"type": "string",
"description": "GPU id or name. Omit for every GPU."
}
}
}Every listed open model that fits on the given GPU(s), largest first, with the most faithful weight format that fits.
| Argument | Type | Description |
|---|---|---|
| gpu* | string | GPU id or name, e.g. "rtx-4090". |
| engine | string | Serving engine. Default: vllm on data-center GPUs, llamacpp elsewhere. |
| context | integer | Tokens per request (prompt + output). Default 8192. |
| weights | string | Weight format. Default: the official checkpoint (native) or BF16. |
| kv_cache | string | KV cache precision. Default bf16. |
| gpu_count | integer | Default 1. |
| concurrent_requests | integer | Requests served at the same time, each with its own KV cache. Default 1. |
{
"type": "object",
"required": [
"gpu"
],
"properties": {
"gpu": {
"type": "string",
"description": "GPU id or name, e.g. \"rtx-4090\"."
},
"engine": {
"enum": [
"vllm",
"sglang",
"trtllm",
"llamacpp",
"transformers"
],
"type": "string",
"description": "Serving engine. Default: vllm on data-center GPUs, llamacpp elsewhere."
},
"context": {
"type": "integer",
"minimum": 1,
"description": "Tokens per request (prompt + output). Default 8192."
},
"weights": {
"enum": [
"native",
"bf16",
"fp8",
"int8",
"nvfp4",
"mxfp4",
"int4",
"q8_0",
"q6_k",
"q5_k_m",
"q4_k_m",
"q3_k_m",
"q2_k",
"iq2_xxs",
"fp32"
],
"type": "string",
"description": "Weight format. Default: the official checkpoint (native) or BF16."
},
"kv_cache": {
"enum": [
"bf16",
"fp8",
"q8_0",
"q4_0"
],
"type": "string",
"description": "KV cache precision. Default bf16."
},
"gpu_count": {
"type": "integer",
"minimum": 1,
"description": "Default 1."
},
"concurrent_requests": {
"type": "integer",
"minimum": 1,
"description": "Requests served at the same time, each with its own KV cache. Default 1."
}
}
}