Quickstart
Make your first call in five minutes. You need a terminal and an email address.
1. Get an API key
Create an account with your email, Google or GitHub and add credits under Billing. Then open API keys and create a key. Copy it now: it is shown only once.
export TOVANO_API_KEY="tvn_live_..."
2. Run a model
Image, video, audio and agent models run as tasks. Send the model and its input:
curl https://api.tovano.ai/v1/tasks \
-H "Authorization: Bearer $TOVANO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "image/demo-1",
"input": { "prompt": "Product photo of a blue ceramic mug", "n": 4 }
}'
You get a task back right away:
{
"id": "tsk_9f2c41ab7d0e",
"model": "image/demo-1",
"status": "queued",
"unit": "image",
"units": 4,
"charged_micro": 0,
"created_at": "2026-11-13T09:30:00Z"
}
3. Get the result
Ask for the task until its status is completed or failed:
curl https://api.tovano.ai/v1/tasks/tsk_9f2c41ab7d0e \
-H "Authorization: Bearer $TOVANO_API_KEY"
{
"id": "tsk_9f2c41ab7d0e",
"status": "completed",
"output": { "images": [{ "url": "https://files.tovano.ai/..." }] },
"unit": "image",
"units": 4,
"charged_micro": 80000
}
charged_micro: 80000 is $0.080: four images at $0.020. A failed task shows charged_micro: 0.
Instead of polling, you can pass a webhook_url and we'll POST the task to you when it finishes. See Webhooks.
4. Chat with a text model
Text models use the OpenAI chat format:
curl https://api.tovano.ai/v1/chat/completions \
-H "Authorization: Bearer $TOVANO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text/demo-chat-1",
"messages": [{ "role": "user", "content": "Three captions for a mug ad" }]
}'
Next steps
- Tag calls with your own customer ID to see cost per customer: Credits and billing.
- Try every model without code in the playground.
- Use the TypeScript SDK.