Developers
Build with Simplicity.
One endpoint. Two models. Streaming by default. The whole API is a messages array and a model id — intelligence without the integration overhead.
route.ts
// app/api/chat/route.ts
import OpenAI from "openai"
const simplicity = new OpenAI({
apiKey: process.env.SIMPLICITY_API_KEY,
baseURL: "https://api.simplicity.ai/v1",
})
export async function POST(req: Request) {
const { messages } = await req.json()
const stream = await simplicity.chat.completions.create({
model: "r1", // the one Simplicity model
messages,
stream: true,
})
// pipe the stream straight back to the client
return new Response(toReadable(stream))
}Everything you need, nothing you don't.
Streaming first
Token-by-token responses over a standard stream. Low latency, no polling.
OpenAI-compatible
Drop-in chat completions shape. Reuse the clients and tooling you already have.
Multi-format output
Ask for flowcharts, 2D SVG illustrations, or 3D models — rendered client-side.
One capable model
R1 — fast, agentic, and always on. No model-picker decisions.
Keys stay server-side
Calls run through your backend. Your API key is never exposed to the browser.
Tiny surface area
One endpoint, a messages array, and a model id. That's the whole API.