OpenAI-compatible inference, routed to the cheapest healthy GPU.

JouleCloud places every request on the lowest-cost node that is passing live health checks — power-cost-aware routing across a fleet of GPUs, behind one OpenAI-compatible endpoint. Change one base_url; keep your existing SDK, code, and models.

curl https://api.jouledns.com/v1/chat/completions \
  -H "Authorization: Bearer $JC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen2.5-7b-instruct","messages":[{"role":"user","content":"Hello"}]}'

Drop-in compatible

base_url = "https://api.openai.com/v1"
base_url = "https://api.jouledns.com/v1"

Change one line. Same request and response shapes, same SDKs.

Models

qwen2.5-7b-instructqwen2.5-3b-instruct

The full live catalog is visible in your console after sign-in. See all models.

Why JouleCloud

Power-aware routing

Every request lands on the cheapest node that is currently healthy — cost and health scored together, per request.

OpenAI-compatible

Same request and response shapes as the OpenAI API. Change one base URL and keep your SDK, code, and prompts.

Automatic failover

If the chosen node fails a health check, the same request retries on the next-cheapest healthy node. The caller sees one response.

Multi-model

Select any served model with the model field. One endpoint, one key, several open-weight models.

Get started in three steps

1

Sign up

Create an account and an organization. Your key, budget, and usage are scoped to the org.

2

Get your org key

One gateway key is minted on demand in the console. Reveal, copy, or rotate it any time.

3

Change base_url

Point your existing OpenAI client at https://api.jouledns.com/v1 and start calling models.

How routing works

your approuterhealth checkcost scoreGPU node AhealthyGPU node Bfailover✓ responseif node A fails a health check, the same request retries here automatically.

Each incoming request is placed on the cheapest node that is currently healthy — cost and health are scored together, per request.

“Healthy” means the node is passing live health checks: it is reachable, serving the model, and responding within bounds.

If the chosen node fails, the same request retries on the next-cheapest healthy node. The caller sees one response — the failover is transparent.

Explore

DocsPricingModelsCost calculatorStatus

FAQ

Which models can I use?

JouleCloud serves open-weight models on its own GPU fleet — currently Qwen2.5 Instruct (7B and 3B). See the models page.

How does pricing work?

Usage-based, per token — $0.20 per 1M input tokens and $0.60 per 1M output tokens, one rate across all models. No tiers or minimums. See pricing.

Is it really OpenAI-compatible?

Yes — same request and response shapes. Point the official OpenAI SDKs at our base URL and pass your org key. See the docs.

What’s the catch?

JouleCloud is in private preview. The served catalog is intentionally small, streaming is in preview, and each org has a single shared key today. We only advertise what we actually run.