The Cencori adapter provides access to 14+ AI providers (OpenAI, Anthropic, Google, xAI, and more) through a unified interface with built-in security, observability, and cost tracking.
npm install @cencori/ai-sdk
import { chat } from "@tanstack/ai";
import { cencori } from "@cencori/ai-sdk/tanstack";
const adapter = cencori("gpt-4o");
for await (const chunk of chat({
adapter,
messages: [{ role: "user", content: "Hello!" }],
})) {
if (chunk.type === "content") {
console.log(chunk.delta);
}
}
import { createCencori } from "@cencori/ai-sdk/tanstack";
const cencori = createCencori({
apiKey: process.env.CENCORI_API_KEY!,
baseUrl: "https://cencori.com", // Optional
});
const adapter = cencori("gpt-4o");
import { chat } from "@tanstack/ai";
import { cencori } from "@cencori/ai-sdk/tanstack";
const adapter = cencori("claude-3-5-sonnet");
for await (const chunk of chat({
adapter,
messages: [{ role: "user", content: "Tell me a story" }],
})) {
if (chunk.type === "content") {
process.stdout.write(chunk.delta);
} else if (chunk.type === "done") {
console.log("\nDone:", chunk.finishReason);
}
}
import { chat } from "@tanstack/ai";
import { cencori } from "@cencori/ai-sdk/tanstack";
const adapter = cencori("gpt-4o");
for await (const chunk of chat({
adapter,
messages: [{ role: "user", content: "What's the weather in NYC?" }],
tools: {
getWeather: {
name: "getWeather",
description: "Get weather for a location",
inputSchema: {
type: "object",
properties: { location: { type: "string" } },
},
},
},
})) {
if (chunk.type === "tool_call") {
console.log("Tool call:", chunk.toolCall);
}
}
Switch between providers with a single parameter:
import { cencori } from "@cencori/ai-sdk/tanstack";
// OpenAI
const openai = cencori("gpt-4o");
// Anthropic
const anthropic = cencori("claude-3-5-sonnet");
// Google
const google = cencori("gemini-2.5-flash");
// xAI
const grok = cencori("grok-3");
// DeepSeek
const deepseek = cencori("deepseek-v3.2");
All responses use the same unified format regardless of provider.
| Provider | Models |
|---|---|
| OpenAI | gpt-5, gpt-4o, gpt-4o-mini, o3, o1 |
| Anthropic | claude-opus-4, claude-sonnet-4, claude-3-5-sonnet |
| gemini-3-pro, gemini-2.5-flash, gemini-2.0-flash | |
| xAI | grok-4, grok-3 |
| Mistral | mistral-large, codestral, devstral |
| DeepSeek | deepseek-v3.2, deepseek-reasoner |
| + More | Groq, Cohere, Perplexity, Together, Qwen, OpenRouter |
CENCORI_API_KEY=csk_your_api_key_here
Creates a Cencori adapter using environment variables.
Parameters:
Returns: A Cencori TanStack AI adapter instance.
Creates a custom Cencori adapter factory.
Parameters:
Returns: A function that creates adapter instances for specific models.