Skip to content
All systems operationalStatus

Node SDK

Use the official TypeScript SDKs with evolved.to.

Use @anthropic-ai/sdk for Claude models and openai for GPT models. Both run in Node.js, Bun and Deno, on your server, never in the browser.

Install

npm install @anthropic-ai/sdk openai

Claude models

Set baseURL to https://api.evolved.to, without /v1.

claude.ts
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://api.evolved.to",
  apiKey: process.env.EVOLVED_API_KEY,
});

const message = await client.messages.create({
  model: "claude-opus-5",
  max_tokens: 16000,
  messages: [{ role: "user", content: "Hello, Claude" }],
});

for (const block of message.content) {
  if (block.type === "text") console.log(block.text);
}

GPT models

Set baseURL to https://api.evolved.to/v1.

gpt.ts
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.evolved.to/v1",
  apiKey: process.env.EVOLVED_API_KEY,
});

const response = await client.responses.create({
  model: "gpt-5",
  input: "Hello!",
});

console.log(response.output_text);

Streaming

stream-claude.ts
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://api.evolved.to",
  apiKey: process.env.EVOLVED_API_KEY,
});

const stream = client.messages.stream({
  model: "claude-opus-5",
  max_tokens: 64000,
  messages: [{ role: "user", content: "Write a haiku about gateways." }],
});

stream.on("text", (text) => process.stdout.write(text));
await stream.finalMessage();
stream-gpt.ts
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.evolved.to/v1", apiKey: process.env.EVOLVED_API_KEY });

const stream = await client.responses.create({
  model: "gpt-5",
  input: "Write a haiku about gateways.",
  stream: true,
});

for await (const event of stream) {
  if (event.type === "response.output_text.delta") process.stdout.write(event.delta);
}

Errors throw the SDKs' typed error classes; see Error codes.