What the Naro API gives you
An API layer between your code and the model providers. It speaks the formats your SDKs already use, routes each request to the model you name, and meters every token.
Compatible with the SDKs you use
Works with the official openai packages for Python and Node.js, LangChain, LlamaIndex and the Vercel AI SDK. Change the base URL and key; request and response shapes stay the same.
- POST /v1/chat/completions
- OpenAI Chat Completions format, streaming, tools, JSON mode
- POST /v1/embeddings
- Text embeddings, OpenAI format
- POST /v1/messages
- Anthropic Messages format for Claude models
- GET /v1/models
- Live catalog with context window and pricing
stream.ts
import OpenAI from "openai";
const naro = new OpenAI({
apiKey: process.env.NARO_API_KEY,
baseURL: process.env.NARO_BASE_URL,
});
const stream = await naro.chat.completions.create({
model: "google/gemini-2.5-pro",
messages: [{ role: "user", content: "Draft a release note." }],
stream: true,
}); Model catalog
Model IDs use the provider/model format. New provider releases are added to the catalog and listed by GET /v1/models.
- OpenAI
- gpt-4o, gpt-4o-mini, o3-mini, text-embedding-3-small, text-embedding-3-large
- Anthropic
- claude-sonnet-4, claude-3.5-haiku
- gemini-2.5-pro, gemini-2.5-flash
- Meta
- llama-3.3-70b-instruct, llama-3.1-8b-instruct
- Mistral
- mistral-large, mistral-small
- DeepSeek
- deepseek-v3, deepseek-r1
Routing and fallbacks
Add a models list and "route": "fallback". Naro tries each model in order on 429, 5xx or timeout, and bills only the request that succeeds.
request.json
{
"model": "openai/gpt-4o",
"models": ["anthropic/claude-sonnet-4", "google/gemini-2.5-pro"],
"route": "fallback",
"timeout_ms": 20000,
"messages": [{ "role": "user", "content": "Classify this email." }]
} Keys, limits and logs
Create keys per project or environment. Each key carries its own RPM and TPM limits, a monthly spend cap, an optional IP allowlist and a list of allowed models. Request logs show latency, token counts and cost for every call.
- Overview
- Models
- Keys
- Usage
- Logs
API keys
Project: support-bot
| Key | Cap | Status |
|---|---|---|
| nr-prod-••••4f1a production | $500 | Active |
| nr-stg-••••92c0 staging | $50 | Active |
| nr-eval-••••0b7e evaluation | $100 | 90% of cap |
| nr-old-••••d3e5 legacy | $20 | Revoked |