Skip to content

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

Questions? or write to support@tovano.ai Machine-readable: openapi.json · llms.txt