> ## Documentation Index
> Fetch the complete documentation index at: https://vetta.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing

> What you pay, and how the completion window changes it.

Naive Managed Agents charges for what your agents actually consume, in real dollars — no per-seat fee. The one recurring charge is the [plan](https://vetta.sh/docs/cli/billing.md#the-plan), per organization, and each paid month grants credit equal to its price toward that consumption.

## Plans

| Plan | Price | Included credit | Free trial |
| - | - | - | - |
| **Standard** | \$20 per month | \$20 each paid month | 7-day free trial |
| **Pro** | \$200 per month | \$200 each paid month | — |
| **Custom** | Talk to us | — | — |

Both plans run the same platform at the same published rates; the only difference is the credit each paid month includes.

* **The 7-day free trial** is on Standard only. A card is required to start it, the trial grants $10 of credit (none on a prepaid card, a card whose security-code check fails or cannot run, or a card that already started a trial), and unless you cancel before it ends it converts to $20 per month with the full \$20 of credit. One trial per organization and one per person.
* **Included credit rolls over.** It is added to your organization's prepaid balance alongside anything you top up, and it never expires.
* **Upgrade to Pro any time** from the Credits page, under Settings → Credits (or [`vetta plan change --plan pro`](https://vetta.sh/docs/cli/billing#plan-change)). It takes effect at once: the difference for the rest of the month is charged now, and upgrading during the trial ends the trial and charges \$200.
* **Moving back to Standard** takes effect at the end of the month already paid for. Nothing is refunded and the Pro credit already granted stays in the balance.

## What you pay for

| Component | How it's priced |
| - | - |
| **Plan** | Standard $20 per month or Pro $200 per month, per organization, each including its price back as credit every paid month — see [Plans](#plans). Every route outside billing needs one — see [`vetta plan`](https://vetta.sh/docs/cli/billing#the-plan). |
| **Model inference** | Per token across a five-tier ledger, at the request's [completion window](https://vetta.sh/docs/concepts/completion-window.md) tariff. See [Model router](https://vetta.sh/docs/concepts/model-router.md). |
| **Computer** | Per-second vCPU + memory while running. **No creation fee**; nothing at all while paused. |
| **Web tools** | [`web_search` and `web_fetch`](https://vetta.sh/docs/capabilities/tools#web-tools), per call, and [`data_run`](https://vetta.sh/docs/capabilities/tools#built-in-tools), per run — [rates below](#priced-tools). |
| **Media generation** | [`generate_image`, `generate_video` and `clip_video`](https://vetta.sh/docs/capabilities/tools#generation-tools), [`generate_3d_model`](https://vetta.sh/docs/capabilities/3d), [`transcribe_audio`, `generate_speech`, `generate_sound_effect` and `generate_music`](https://vetta.sh/docs/capabilities/tools#audio-tools), and the [Clips API](https://vetta.sh/docs/api/clips.md), per finished job; [`create_character`](https://vetta.sh/docs/capabilities/tools#characters) and [`POST /v1/characters`](https://vetta.sh/docs/api/characters), per training — [rates below](#priced-tools). |
| **Browser** | The [managed browser](https://vetta.sh/docs/computer/browser.md), per session minute open to close plus a fixed price per model-driven action — [rates below](#priced-tools). |
| **Voice calls** | A hands-free voice call over a chat, per started minute from connect to hang-up — [rate below](#priced-tools). The words and replies are the chat's, billed as model inference as usual. |
| **Email** | Each outbound [email](https://vetta.sh/docs/identity/email.md) an identity sends, `$0.0008` per send however many recipients it has. Booked after the provider accepts it; a send the balance cannot cover is refused with `402 insufficient_credits`. |
| **Mobile sandbox** | A [cloud Android phone](https://vetta.sh/docs/computer/mobile.md), per device-minute from create to end. **No creation fee** — [rates below](#priced-tools). |
| **Storage** | A fullstack app's [object storage](https://vetta.sh/docs/api/storage.md), per bucket per day — **no rate is published yet, so nothing is booked**. |

> [!NOTE]
>
> Every rate published here and on [Limits & billing](https://vetta.sh/docs/computer/limits-and-billing.md) is **the price you pay** — the number the [ledger](https://vetta.sh/docs/platform/billing.md) books and the number your spend breakdown reports. There is no separate fee, no seat charge and no minimum on top of it.

## Priced tools

Several tool families have a price of their own, on top of the tokens the model spends calling them. Each appears on `GET /v1/agents/{id}/spend?by=component` under its own component name. An app's [database](https://vetta.sh/docs/api/database.md) is not one of them: `/v1/apps/{id}/db/*` calls and the `apps` tool's `db_*` actions carry no price of their own.

**They are all booked after the fact.** A web call is priced from what the provider charged for it, so the debit lands **after** the call: an agent already at its cap can still make one. Media is the same — nothing is reserved before a render (see below), so `max_task_micro_usd` does **not** bound one; a character training is the one media job held first. Watch the `search` and `media` components to see what each is costing, and treat the agent's `cap_micro_usd` and the organization's balance as the real limits.

### Web tools — per call, `search` component

| Call | Price |
| - | - |
| `web_search` — one query, up to 10 results | `$0.00166` |
| `web_fetch` — one page read as text | `$0.00083` |
| `data_run` (`POST /v1/data/runs`) — one run | The tool's listed price |
| `POST /v1/social_data/runs` — one run | The tool's listed price |

The listed price is the price you pay: `data_search`, `data_describe` and `GET /v1/social_data/tools` report it. The median per-call data tool is about `$0.0015`, seven in ten cost `$0.01` or less, and the most expensive is about `$0.95`; most social data tools are `$0.003` per call. Some tools are priced per result, at most 25 results per run.

Data and social data runs are the exception to booking after the fact: a run is **admitted first**, capped at 25 results and admitted at its most it can cost — through the API, the balance must cover the tool's listed price for one call (or for 30 results on a per-result tool, since some sources bill results in blocks of 10), else `402 insufficient_credits`; from an agent, the run takes a hold against the session's budget. A data or social data run that fails — refused input, a network error — is not charged. A run past its two-minute limit is stopped and normally not charged; one the source meters per result costs what it gathered before the stop. Searching for and describing a data or social data tool is free.

A search whose results are all filtered out by the agent's [domain policy](https://vetta.sh/docs/capabilities/tools.md#web-tools) still costs the call — the query ran. A `web_fetch` refused by that policy is stopped **before** the page is requested and costs nothing; a page that *redirected* somewhere the policy forbids is withheld after the fetch, and that one is billed, because the fetch happened.

### Media generation — per finished job, `media` component

You are billed **what the finished job actually cost**, once per job.

There is no per-model price table here, and that is deliberate rather than an omission. A generation job's cost depends on the model, the duration and the size, and the catalogue changes without a release of ours — so a table on this page would be stale the day a model is added. A video on a model priced per generated second costs its length at the resolution it renders at (720p on the platform's per-second models, unless it says otherwise); every other job costs what its model reported for it. What can be listed is which models exist: [`GET /v1/media/models`](https://vetta.sh/docs/api/media), read live from the provider. The [audio](https://vetta.sh/docs/api/audio.md) routes and tools are on this component too: a transcription costs what the provider charged for the recording, speech what it charged for the characters spoken (the default speech model runs on our own servers and costs $0.000029 a second of audio, $0.00174 a minute), and a [sound effect](https://vetta.sh/docs/api/audio.md#sound-effects) what it charged for the seconds generated, and a [song](https://vetta.sh/docs/api/audio.md#music) the same, for the seconds of music generated.

**Nothing is reserved for an image or a video before it renders.** Most renders cannot be priced before they run, and a ceiling is not a price, so no hold is taken against the agent's [budget](https://vetta.sh/docs/concepts/budgets.md) and no balance floor is checked, from a session or over REST. The real cost is booked once, when the job lands, on the render's own idempotency key; a render costs cents, and a balance may go negative by one rather than turn the request away. A job that fails or never finishes is not billed at all.

**A character training is held first and billed once.** [`create_character`](https://vetta.sh/docs/capabilities/tools#characters) takes a hold against the session's budget before anything is bought — a budget with no room refuses it — and asks by default. Over REST, the prepaid balance must cover one training first (`402 insufficient_credits` otherwise). The training, from a session or [over REST](https://vetta.sh/docs/api/characters.md#billing), is billed once, on the media component, when the trainer accepts the photos; a request refused before then is not billed, and a training that later ends `failed` is refunded, on the read that sees it fail. A replay under the same key charges nothing.

**An edit with Mira (`edit_video`) has a set price, and is held.** An edit with no photos costs $0.03 per second of the source clip, rounded up to whole seconds, at 720p; clips are trimmed to 15 s, so it costs at most $0.45. An edit with photos, or a person swap, is \$1.48 at any length, at 1080p. The price is held against the agent's budget at submit: the clip's own length when it is known, else 15 s. Every finished edit is billed, including one you asked for again. An edit that fails, is refused, times out, or is cancelled while queued costs nothing.

**A clipping job submitted over REST has no agent, so no reservation.** [`POST /v1/media/clips`](https://vetta.sh/docs/api/clips#pricing) is admitted while the prepaid balance is above zero (`402 insufficient_credits` otherwise), and what it can cost is bounded server-side instead: the input is capped at 90 minutes of video and every metered actual the job reports is clamped before it is priced. The debit lands once, on completion; a failed job bills nothing.

### 3D assets

A generated 3D model ([`generate_3d_model`](https://vetta.sh/docs/capabilities/3d), [`POST /v1/media/meshes`](https://vetta.sh/docs/api/meshes)) is one charge for the finished model. The amount depends only on which model ran and on `texture` and `rig`. Render time, file size and polygon count leave it unchanged. It is booked on the `media` component when the job completes; a failed job is free. [`GET /v1/media/models?kind=mesh`](https://vetta.sh/docs/api/media) lists that charge for every option, as `prices[].micro_usd`.

| Finished model | Charge |
| - | - |
| From a photo, fast model, untextured | `$0.20` |
| From a photo (or 2–4 views), fast model, textured | `$0.30` |
| From a photo, detailed model | `$0.50` |
| From a description, untextured | `$0.40` |
| From a description, textured | `$0.60` |
| From a description, textured, rigged with an idle animation | `$0.76` |

A built model ([`build_3d`](https://vetta.sh/docs/capabilities/3d), [`POST /v1/computers/{id}/build-3d`](https://vetta.sh/docs/api/computers#build-a-3d-model)) has no price of its own: it runs on the agent's computer and is billed as that computer's running seconds, on the `computer` component. On an agent's computer ($0.0666 an hour) a CAD part with three 768 px previews takes about a minute and a half, about `$0.002\`; the first call also installs the toolchain, about 20 seconds more.

### Browser — per session minute and per hosted action, `browser` component

| Line | Price |
| - | - |
| Session minutes, `opened_at` → `closed_at`, rounded up, **minimum one minute** | `$0.001667` per minute (`$0.10` per hour) |
| One model-driven action — `act`, `extract` with an instruction, `observe` | `$0.010` |

The minutes are one debit when the session closes; there is no up-front hold, because a session's cost is knowable only at close. A session is capped at **360 minutes** (`timeout_minutes`); one that hits its timeout bills up to it and no further. The deterministic actions (`goto`, `click`, `type`, `screenshot`, `links`, …) cost nothing beyond the minutes they run in. The whole model is on [Limits & billing](https://vetta.sh/docs/computer/limits-and-billing.md#the-browser).

### Voice calls — per started minute, `voice` component

| What | Price |
| - | - |
| Call minutes, connect → hang-up, rounded up, **minimum one minute** | `$0.08` per minute |

The minutes are one debit when the call ends. Starting a call needs a balance of at least one minute (otherwise `402 insufficient_credits`), a call is capped at **10 minutes** (`$0.80`), and a call whose balance runs out mid-way is told so and hung up. What the agent says is billed as model inference, exactly as in a typed chat.

### Mobile sandbox — per device-minute, `mobile` component

| Line | Price |
| - | - |
| Device minutes, `created_at` → `terminated_at`, rounded up, **minimum one minute** | `$0.030000` per minute (`$1.80` per hour) |

The minutes are one debit when the device ends — on delete, on its idle timer, at its maximum duration, or when the platform stops it because the balance or plan no longer covers it (`termination_reason: "unfunded"`). There is no up-front hold. Looks, taps and every other action cost nothing beyond the minutes they run in, and a device that fails to provision bills nothing. Creating one needs a balance above zero. The whole model is on [Limits & billing](https://vetta.sh/docs/computer/limits-and-billing.md#mobile-devices).

### Storage — per bucket-day, `storage` component

Storage on a fullstack app is metered per bucket per UTC day it exists, on its own `storage` line — and **no rate is published for it today, so no line is booked**. The tier exists on the [ledger](https://vetta.sh/docs/api/credits.md) so a rate can be set without a schema change; until one is, buckets and objects carry no charge beyond the computer time an agent spends using them.

### The model proxy

[`POST /v1/proxy/anthropic/v1/messages`](https://vetta.sh/docs/api/proxy) is priced exactly like a session's model call — same catalogue, same per-window tariff, same five tiers, same balance. The proxy adds no charge of its own.

## The completion window is the biggest lever

The same model at a different [window](https://vetta.sh/docs/concepts/completion-window.md) is a different price. The window is a single field with three wire values — `immediate`, `priority`, and `loose`.

![One model, three completion window lanes — immediate, priority, loose — with latency increasing and tariff decreasing, chosen per request](https://mintcdn.com/vetta/rjfQyQrWaQ5bFTTq/images/completion-window.svg?fit=max\&auto=format\&n=rjfQyQrWaQ5bFTTq\&q=85\&s=b5a7b5f5210feebb2312ab5d20678c29)

| Window | Latency | Relative model tariff |
| - | - | - |
| `immediate` | Answers now | Highest |
| `priority` | Answers soon | Lower |
| `loose` | Answers eventually | Lowest |

You choose the window **per request** — pay the interactive tariff only when a person is waiting; overnight work runs on `loose` for materially less.

On `immediate`, the [router](https://vetta.sh/docs/concepts/model-router.md) picks the fastest provider hosting the model rather than the cheapest, because that window exists for the case where a person is waiting. The same model can therefore cost a little more on one call than another — you are billed from what the call actually cost, and the ledger records which provider served it.

## Budgets keep it predictable

Every [agent has a budget](https://vetta.sh/docs/concepts/budgets.md): set `cap_micro_usd`, `max_task_micro_usd`, and a `period`. Model calls are quoted before they run, so one that would breach those ceilings is refused rather than discovered on an invoice. Media renders, compute and the web tools are metered from what they actually used and booked afterwards, so a period's spend can finish past its cap — and, where a funded organization exhausts its balance mid-turn, the balance itself can go negative. It is on the ledger either way, never silent.

## Measured, not modelled

All figures are corrected against vendor invoice brackets — list-price rate cards over-state real cost by 1.017x–4.176x. Methodology in [Benchmarks](https://usenaive.ai/blogs/introducing-naive-managed-agents).

> [card] [See the numbers](https://usenaive.ai/blogs/introducing-naive-managed-agents)
>
> Cost per completed task across 15 measured cells.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.