Compute API
Rent GPUs on the Meris network by the hour. AI labs and anyone training or fine-tuning models send a container image and the GPUs it needs; the network runs it on contributor hardware and bills the hours it ran.
Base URL https://app.meris.network/v1
Auth Authorization: Bearer mk_live_…1. Create a key
Sign in at app.meris.network, open API and click New key. The key starts with mk_live_ and is shown once; store it as a secret on your server.
2. Get credit
Jobs are billed from prepaid credit. During early access, credit is added by the Meris team: message @merisdotnetwork on X with the email on your account. Your balance and every job appear on the API page.
3. Check what is online
curl https://app.meris.network/v1/gpusReturns each GPU type online now, its VRAM, how many are online and the current hourly rate. See GPUs and rates.
4. Submit a job
curl https://app.meris.network/v1/jobs \
-H "Authorization: Bearer $MERIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "ghcr.io/acme/finetune:latest",
"command": ["python", "train.py", "--epochs", "3"],
"gpu": { "min_vram_gb": 24, "count": 1 },
"max_hours": 4
}'import os, requests
res = requests.post(
"https://app.meris.network/v1/jobs",
headers={"Authorization": f"Bearer {os.environ['MERIS_API_KEY']}"},
json={
"image": "ghcr.io/acme/finetune:latest",
"command": ["python", "train.py", "--epochs", "3"],
"gpu": {"min_vram_gb": 24, "count": 1},
"max_hours": 4,
},
)
print(res.status_code, res.json())const res = await fetch('https://app.meris.network/v1/jobs', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.MERIS_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
image: 'ghcr.io/acme/finetune:latest',
command: ['python', 'train.py', '--epochs', '3'],
gpu: { min_vram_gb: 24, count: 1 },
max_hours: 4,
}),
});
console.log(res.status, await res.json());A placed job answers 202 with the GPU it landed on and the rate it runs at. See Jobs.
Before you build on it
- Capacity follows contributors. GPUs come and go as their owners use them. When no matching GPU is free the API answers
503 no_capacityand nothing is charged; retry with backoff. - Your code runs on contributor hardware. Do not put secrets or personal data in an image or its environment that you would not show a third party. See Security and privacy.
- Bring your own storage. A job's disk is wiped when it ends. Write checkpoints and results to your own bucket.
Reference
- GPUs and rates: what is online and the current market rate
- Jobs: request fields, placement, billing
- Errors and limits: status codes and limits
