Les bases
| URL de base | https://lowcostgpu.com/v1 |
|---|---|
| Authentification | Authorization: Bearer pg_live_… |
| Format | JSON en entrée, JSON en sortie, UTF-8. Erreurs : {"error":{"code","message"}} |
| Limites de débit | 120 req/min (augmente automatiquement avec l’historique du compte) — 429 + Retry-After au-delà |
Endpoints publics — essayez-les maintenant
GET /v1/gpus/pricing
La fiche de prix complète sous forme de données : tous les 83 modèles, trois modes chacun, les médianes du marché et la règle de tarification elle-même.
curl https://lowcostgpu.com/v1/gpus/pricing{
"object": "gpu_pricing",
"currency": "USD",
"billing": "per_second",
"price_rule": "market_median * 0.70, rounded down; …",
"market_snapshot": "2026-10-19",
"data": [
{
"slug": "h100-sxm",
"name": "NVIDIA H100 SXM",
"vram_gb": 80,
"price_per_gpu_hour": {
"on_demand": 1.680,
"interruptible": 0.840,
"reserved": 1.092
},
"market_median": 2.4001,
"available_gpus": 50
}, …
]
}GET /v1/offers
Inventaire des machines en direct. Filtres : gpu (slug), region, num_min, price_max ($/h pour la machine entière), limit (≤100).
curl "https://lowcostgpu.com/v1/offers?gpu=rtx-4090&num_min=2&limit=3"Endpoints authentifiés
Créez une clé dans Console → Clés API (docs), puis :
GET /v1/balance
curl -H "Authorization: Bearer " https://lowcostgpu.com/v1/balance
{ "object": "balance", "currency": "USD", "balance": 41.2183, "month_spend": 12.8402 }POST /v1/instances
Déploie sur une machine depuis /v1/offers. Corps : machine_id (requis), template, disk_gb, type (od | interruptible | res).
curl -X POST -H "Authorization: Bearer " \
-H "Content-Type: application/json" \
-d '{"machine_id":"m-1d29c04a","template":"vllm","disk_gb":80,"type":"od"}' \
https://lowcostgpu.com/v1/instances
{ "object": "instance", "id": "i-52ab77c1", "status": "running",
"hostname": "i-52ab77c1.lowcostgpu.com", "price_hr": 1.5983, … }GET /v1/instances · GET /v1/instances/{id}
Liste les instances actives / récupère l’une d’elles (état, prix, nom d’hôte, horodatages). La facturation est calculée à la lecture, les chiffres sont donc à jour à la seconde près.
POST /v1/instances/{id}/actions
-d '{"action":"stop"}' # or start | destroyDELETE /v1/instances/{id}
Alias de l’action Détruire. Le disque de l’instance est effacé ; les volumes attachés survivent.
Erreurs
| Statut | code | Signification |
|---|---|---|
| 401 | unauthorized | Clé Bearer manquante ou inconnue |
| 404 | not_found / no_route | Instance ou endpoint inconnu |
| 409 | deploy_failed / action_failed | Une règle métier a refusé — le message explique pourquoi (solde, capacité, état) |
| 422 | missing_machine / bad_action | Requête mal formée |
| 429 | rate_limited | Ralentissez ; respectez Retry-After |
Vous préférez un wrapper ? Le CLI et le SDK Python couvrent cette API un à un.