One endpoint. Every model.
Point the OpenAI SDK at api.llmcloud.ai and every model on every provider is one string away — no bespoke SDKs, no per-vendor auth, no vendor-lock code paths.
import OpenAI from "openai";
const openai = new OpenAI();
await openai.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Hi" }],
});import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://api.llmcloud.ai/v1",
apiKey: process.env.LLMCLOUD_API_KEY,
});
await openai.chat.completions.create({
// any provider model — or an auto:* policy
model: "auto:quality",
messages: [{ role: "user", content: "Hi" }],
});What you get for free
OpenAI-compatible
Chat completions, streaming, tool calling, structured outputs, embeddings — same schema as the OpenAI SDK.
One key, every provider
No juggling Anthropic, Google, xAI, Groq, Cerebras, Fireworks or Together keys. One header, one bill.
Router-native
Swap the model string for auto:quality, auto:cost, auto:speed or auto:reasoning to let the router pick per request.
SSE + tools
Streaming, function calls, JSON mode and vision inputs all flow through the same connection.
Rich response metadata
x-llmcloud-model, x-llmcloud-provider, x-llmcloud-cost-usd, x-llmcloud-cache — attribution baked into every response.
Works with everything
OpenAI Python + TS SDKs, Vercel AI SDK, LangChain, LlamaIndex, LiteLLM, Instructor — no adapters required.
Do I have to change my code?+
Just base_url and api_key. Everything else — tools, streaming, JSON mode — keeps working.
Which SDKs are supported?+
Anything that speaks OpenAI Chat Completions or Responses. That covers the OpenAI SDKs, Vercel AI SDK, LangChain, LlamaIndex, Instructor and LiteLLM.
Can I still pass provider-specific model names?+
Yes. Pass anthropic/claude-4.5-sonnet, google/gemini-3-pro or fireworks/deepseek-v3.1 directly, or use an auto:* policy.