One key for every model and tool
Text and media models plus agent tools behind a single AgentSky key, paid from one balance. No vendor accounts to open, no keys to rotate.
Browse modelsChange the base URL, keep the SDK
Every wire is served as it is, paths included. Point the client you already use at the gateway and nothing else changes.
Read the docsAutomatic failover
When a model can be served more than one way, the gateway moves on from whatever is unreachable or rate-limited before a byte of the reply is sent.
How failover worksThe price in every response
Model calls carry usage.cost; media model and tool calls carry price.amount. You never reconcile a bill against a log to find out what a call cost.
See the shapeFeatured models
Current per-token prices, using your plan when signed in. Callable from the SDK you already use.
Featured tools
Search, maps, email, and SEO data, all through one run call.
Three steps to your first call.
Get an API key
Sign in and create an ast_ key under Settings. It works on every wire, model, and tool here.
Get an API keyAdd credits
One balance pays for models and tools alike, with per-call records you can read back.
Add creditsPoint your SDK at the gateway
Change the base URL, keep the client, and read the price out of the response.
Point your SDK at the gateway
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://gateway.agentsky.dev",
apiKey: process.env.AGENTSKY_API_KEY, // ast_…
});
const message = await client.messages.create({
model: "anthropic/claude-sonnet-5",
max_tokens: 256,
messages: [{ role: "user", content: "Summarise this ticket." }],
});
console.log(message.usage.cost); // USD, in the responseWorks with the agents you already run.
Claude Code
export ANTHROPIC_BASE_URL=https://gateway.agentsky.dev
export ANTHROPIC_AUTH_TOKEN=ast_…
claudeCodex CLI
export OPENAI_BASE_URL=https://gateway.agentsky.dev/v1
export OPENAI_API_KEY=ast_…
codex