SDK
A TypeScript client for every model.
Typed models, tasks, chat and webhook checks. No dependencies. Works in Node, Bun, Deno and edge runtimes.
npm install tovano
import Tovano from "tovano"; const tovano = new Tovano({ apiKey: process.env.TOVANO_API_KEY }); const task = await tovano.tasks.create({ model: "image/demo-1", input: { prompt: "Blue ceramic mug, morning light", n: 4 }, customer: "client-0482", }); const done = await tovano.tasks.wait(task.id); console.log(done.status, done.charged_micro); // "completed" 80000
What's inside
Everything the API does, typed.
| Method | What it does |
|---|---|
models.list() | Every model with its type, unit and price |
tasks.create() | Run any image, video, audio or agent model |
tasks.wait(id) | Poll until a task completes or fails, with a timeout |
chat.completions.create() | Text models, with streaming |
balance() | Your balance in micro-dollars |
webhooks.verify() | Check the Tovano-Signature header of a webhook |
OpenAI-compatible
Already use an OpenAI client? Keep it.
Text models accept the standard chat completions request, including streaming. Change the base URL and the key.
const client = new OpenAI({
baseURL: "https://api.tovano.ai/v1",
apiKey: process.env.TOVANO_API_KEY,
});Coming next
On the roadmap
- Python SDK (
pip install tovano) - MCP server, so coding agents can call any model
- Batch tasks for large jobs at a lower unit price
- Go client
Want one sooner? Tell us.