Build
$0/month
Everything you need to ship your first agent.
- All 59 models
- OpenAI-compatible API
- Streaming & tool calls
- Per-token billing
Route requests to OpenAI, Anthropic, Google, DeepSeek, xAI and more through a single compatible endpoint. One key, one bill, pay only for the tokens you use.
curl https://platform.arx.ai.id/v1/chat/completions \
-H "Authorization: Bearer $ARX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-5","stream":true,
"messages":[{"role":"user","content":"Explain serverless."}]}'
Serving models from the labs that matter
Catalogue
Prices are per 1M tokens, billed per token. Switch models by changing a single string.
Pricing
No subscription, no seat fees, no minimum. Top up once and spend across every model.
Prices below are pulled from the live catalogue. Cached input reads are billed separately and are usually 90% cheaper.
Estimated cost
$0.0000
—
Estimates exclude discounts and cache reads.
Build
$0/month
Everything you need to ship your first agent.
Scale Pay as you go
Usage-based
For production traffic that needs headroom.
Enterprise
Custom
Compliance, volume and support on your terms.
Quickstart
Point any OpenAI-compatible client at our base URL. Same request shape, same response shape, every model.
curl https://platform.arx.ai.id/v1/chat/completions \ -H "Authorization: Bearer $ARX_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.4", "messages": [{"role": "user", "content": "Hello"}], "temperature": 0.7 }'import os from openai import OpenAI client = OpenAI( base_url="https://platform.arx.ai.id/v1", api_key=os.environ["ARX_API_KEY"], ) res = client.chat.completions.create( model="claude-sonnet-5", messages=[{"role": "user", "content": "Hello"}], stream=True, ) for chunk in res: print(chunk.choices[0].delta.content or "", end="")import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://platform.arx.ai.id/v1", apiKey: process.env.ARX_API_KEY, }); const stream = await client.chat.completions.create({ model: "gpt-5.4-mini", messages: [{ role: "user", content: "Hello" }], stream: true, }); for await (const chunk of stream) { process.stdout.write(chunk.choices[0]?.delta?.content ?? ""); }
https://platform.arx.ai.id/v1
Pick a model →
Keep your SDK, prompts and tools. Only base_url and the model string change.
Prepaid credit shared across every provider. No per-vendor accounts to juggle.
Server-sent events, tool calls and JSON mode behave exactly as your SDK expects.
Repeated context is billed at the cached rate where the provider supports it.
Swap providers during an outage by changing one parameter — no rewrite.
Per-key budgets, model allow-lists and expiry dates from the dashboard.
FAQ
Yes. Chat completions, streaming, tool calls and embeddings follow the OpenAI schema, so the official SDKs and most frameworks work after changing the base URL to https://platform.arx.ai.id/v1.
You prepay credit, and each request deducts the exact cost of its input, cached and output tokens at the published rate. Rates on this page are per 1M tokens; the dashboard bills per token.
Any time. The model is a string in the request body — change it and redeploy, or choose per request based on task difficulty and budget.
The catalogue includes embedding models, and models with vision or reasoning capabilities are tagged in the table above and filterable.
Requests are proxied to the upstream provider under their data policies and are not used to train models. Per-key analytics only store token counts and timing.
Create an account, top up, then generate a key in the dashboard. Keys are shown once — store them in an environment variable.
Create a key in under a minute. Start on the cheapest model, upgrade when it matters.