Introducing Tovano: one API and one bill for AI models
Tovano is open. One API key, one prepaid balance and one invoice for image, video, audio and text models, charged per unit at public prices.
Today Tovano opens. It is built for teams that run AI models at volume inside their own products: many models, many end customers and a monthly spend that finance watches closely. For them, Tovano provides one API key, one prepaid balance and one invoice for image, video, audio and text models. Every call is charged per unit, at a price you can read before you send it.
The problem we kept running into
A product that generates images for its customers rarely uses only one model. It needs an image model, a text model for captions, perhaps a voice and a short video. Each model usually means another account, another key, another billing page, another error format and another invoice at the end of the month.
The costs are just as scattered. Finance gets five invoices in three formats. Engineering sees requests per provider, not spend per end customer. Nobody can answer a simple question quickly: what did customer 0482 cost us last month?
What Tovano does
| One key | Every model is called with the same tvn_live_ key and the same headers. |
| One request shape | Image, video, audio and agent models run as tasks through POST /v1/tasks. Text models use the familiar chat completions format at /v1/chat/completions. |
| One balance | You buy credits in US dollars. Every call draws down the same balance. |
| One invoice | At the end of the month you get one invoice that lists usage per model. |
| Per-unit prices | $0.020 / image, $0.100 / second of video, $0.030 / 1K characters of speech, per million tokens for text. |
What a call looks like
curl https://api.tovano.ai/v1/tasks \
-H "Authorization: Bearer $TOVANO_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Tovano-Customer: client-0482" \
-d '{ "model": "image/demo-1", "input": { "prompt": "Product photo of a blue ceramic mug", "n": 2 } }'
When the task completes, it carries its own charge: "units": 2, "charged_micro": 40000, which is $0.040. The X-Tovano-Customer header tags the call with your own customer ID, so you can later ask the API for spend per customer.
Three promises
A failed task is never charged. When a task starts we reserve its estimated cost. When it completes we charge the real amount. When it fails we release everything. There is no partial charge for an error on our side or the provider's.
Prices are public and per unit. The price you see on the models page is the price you pay. There are no seat fees and no platform fees. Larger top-ups add bonus credits: 2% from $1,000, 5% from $2,500 and 8% from $10,000.
You stay in control of spend. Set a monthly spend limit for the organisation, get an email when the balance runs low, and turn on auto top-up if you never want a call to stop. When a limit is reached, the API answers with a clear 402 error instead of surprising you on the invoice.
What is available today
The catalogue at launch covers image, video, speech and text models, plus one agent job, agent/ad-kit-1, which writes ad copy with a text model and then makes a matching image, with each step charged on its own. The current list, with prices and input fields, is always on the models page and at GET /v1/models.
We are adding models every week. A new model appears in the same API with its own unit and price; your code does not change.
Getting started
- Create an account and add credits under Billing.
- Create an API key under API keys.
- Follow the quickstart, or install the SDK with
npm install tovano.
For a rollout at volume, write to sales@tovano.ai. We set up rate limits sized to your traffic, invoicing that fits your accounts team and a named contact for your engineers.