Node.js SDK
SDKMAX is fully OpenAI-compatible, so in Node.js/TypeScript you can use the official openai package directly.
Install
bash
npm install openaiInitialize the client
javascript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-your-key", // created in the SDKMAX console
baseURL: "https://api.sdkmax.com/v1",
});Prefer environment variables
bash
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.sdkmax.com/v1"With these set, new OpenAI() picks them up automatically — no hardcoded secrets.
Chat completions
javascript
const resp = await client.chat.completions.create({
model: "gpt-4o",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Explain SDKMAX's core capabilities." },
],
});
console.log(resp.choices[0].message.content);Streaming
javascript
const stream = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Write a short poem about an AI gateway." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}Switching models
javascript
for (const model of ["gpt-4o", "claude-opus-4-8", "deepseek-chat"]) {
const resp = await client.chat.completions.create({
model,
messages: [{ role: "user", content: "What's 1+1?" }],
});
console.log(model, "->", resp.choices[0].message.content);
}Embeddings
javascript
const resp = await client.embeddings.create({
model: "text-embedding-3-small",
input: "SDKMAX is an enterprise AI gateway",
});
console.log(resp.data[0].embedding.length);Generating images
javascript
const resp = await client.images.generate({
model: "dall-e-3",
prompt: "A cat riding a motorcycle through a cyberpunk city",
size: "1024x1024",
});
console.log(resp.data[0].url);See Images API.
Error handling
javascript
import OpenAI from "openai";
try {
await client.chat.completions.create({ model: "gpt-4o", messages: [] });
} catch (err) {
if (err instanceof OpenAI.RateLimitError) {
// 429: quota exhausted or rate-limited — back off and retry
} else if (err instanceof OpenAI.APIError) {
console.error(err.status, err.message);
} else {
throw err;
}
}Full error code reference: Error Codes.
Calling from the browser?
Don't embed your API key in frontend code. Have the browser call your own backend, which holds the key and forwards the request to SDKMAX — this keeps the key out of end-user hands.
