Skip to content

Video ads for every market

Render each market's spot in three placement formats from one prompt template. Every cut is its own task, so a slow or failed render never holds up the rest.

Simulated run Simulated · no API call 1:55.2

Request

POST https://api.tovano.ai/v1/tasks
Authorization: Bearer $TOVANO_API_KEY
Content-Type: application/json
X-Tovano-Customer: client-0482
Idempotency-Key: spring-run-de-DE-9x16

{
  "model": "video/demo-1",
  "input": {
    "prompt": "Six-second product spot: running shoe on a wet city street at dawn. On-screen text in German: \"Leichter. Schneller.\"",
    "duration": 6,
    "aspect_ratio": "9:16"
  },
  "webhook_url": "https://ads.example.com/hooks/tovano"
}

Response

{
  "id": "tsk_539d66257b7f",
  "model": "video/demo-1",
  "status": "completed",
  "customer": "client-0482",
  "input": {
    "prompt": "Six-second product spot: running shoe on a wet city street at dawn. On-screen text in German: \"Leichter. Schneller.\"",
    "duration": 6,
    "aspect_ratio": "9:16"
  },
  "output": {
    "video": {
      "url": "https://files.tovano.ai/tsk_539d66257b7f/0.mp4?sig=…",
      "content_type": "video/mp4"
    }
  },
  "unit": "second",
  "units": 6,
  "charged_micro": 600000,
  "error": null,
  "created_at": "2026-11-12T09:14:03Z",
  "completed_at": "2026-11-12T09:15:05Z"
}

Tasks

24 tasks

  1. de-DE · 3 cuts

    tsk_539d66257b7f · 18 seconds

    Completed $1.80
  2. fr-FR · 3 cuts

    tsk_6d0fe99eee75 · 18 seconds

    Completed $1.80
  3. es-ES · 3 cuts

    tsk_a8aea7ef7037 · 18 seconds

    Completed $1.80
  4. it-IT · 3 cuts

    tsk_320cc1008e81 · 18 seconds

    Completed $1.80
  5. nl-NL · 3 cuts

    tsk_982a0d29ef50 · 18 seconds

    Completed $1.80
  6. pl-PL · 3 cuts

    tsk_b05f5c220584 · 18 seconds

    Completed $1.80
  7. sv-SE · 3 cuts

    tsk_ed3b4ef3ae93 · 18 seconds

    Completed $1.80
  8. en-GB · 3 cuts

    tsk_16c17354a2ff · 18 seconds

    Completed $1.80
Reserved $0.000 Charged $14.40

Output

de-DE · 16:9, 9:16, 1:1
fr-FR · 16:9, 9:16, 1:1
es-ES · 16:9, 9:16, 1:1
it-IT · 16:9, 9:16, 1:1
nl-NL · 16:9, 9:16, 1:1
pl-PL · 16:9, 9:16, 1:1
sv-SE · 16:9, 9:16, 1:1
en-GB · 16:9, 9:16, 1:1

Events

  1. 0:00.0POST /v1/tasks · 8 tasks queued
  2. 1:02.4tsk_539d66257b7f 3 tasks completed · $1.80
  3. 1:09.6tsk_a8aea7ef7037 3 tasks completed · $1.80
  4. 1:14.4tsk_6d0fe99eee75 3 tasks completed · $1.80
  5. 1:24.0tsk_982a0d29ef50 3 tasks completed · $1.80
  6. 1:28.8tsk_320cc1008e81 3 tasks completed · $1.80
  7. 1:31.2tsk_b05f5c220584 3 tasks completed · $1.80
  8. 1:31.2tsk_ed3b4ef3ae93 3 tasks completed · $1.80
  9. 1:45.6tsk_16c17354a2ff 3 tasks completed · $1.80
  10. 1:55.2Done · 24 tasks · $14.40 charged

A played-back run with realistic requests, responses and charges. No API call is made and no key is used. Times are compressed.

Cost of this run

$14.40 for 24 tasks

ModelAmount
Demo Video 1
video/demo-1144 seconds × $0.100 / second
$14.40
Total$14.40

Unit prices from the model catalogue, in US dollars, excluding tax. Agent jobs are charged per step at each step model's price.

At your volume

What a month costs

10,000 market versions × $1.80 $18,000.00 Per market version: 18 seconds × $0.100.

List prices. Committed-volume pricing, invoicing and an SLA are agreed in your contract. Talk to sales

How it works

Three calls you would write anyway.

  1. 1

    One task per cut

    16:9, 9:16 and 1:1 for each market are separate tasks. Each one is charged for the seconds it delivers: 6 seconds at the per-second price.

  2. 2

    Keys per market and format

    The Idempotency-Key names the campaign, market and format. Re-running the batch after a deploy never renders a cut twice.

  3. 3

    Spend per client

    The agency's client goes in the customer tag. Per-client spend is one call to /v1/usage, so media invoices carry the real production cost.

The code

Copy it, add your key, run it.

The same request in curl, TypeScript and Python. The TypeScript client is tovano on npm.

# One cut: German market, 9:16 placement.
curl https://api.tovano.ai/v1/tasks \
  -H "Authorization: Bearer $TOVANO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Tovano-Customer: client-0482" \
  -H "Idempotency-Key: spring-run-de-DE-9x16" \
  -d '{
    "model": "video/demo-1",
    "input": {
      "prompt": "Six-second product spot: running shoe on a wet city street at dawn. On-screen text in German: Leichter. Schneller.",
      "duration": 6,
      "aspect_ratio": "9:16"
    },
    "webhook_url": "https://ads.example.com/hooks/tovano"
  }'

More examples

What else teams run at volume.

All examples

Run it on your volume, with your contract.

Committed-volume pricing, monthly invoices, higher limits and a named contact for teams that run AI in production.