---
product: VOIR AI
document: pricing
version: 0.1.0-planned
status: PLANNED — product not launched, no live billing
currency_base: USD
currency_secondary: RUB (indicative)
fx_reference: 80.56 RUB per 1 USD
fx_source: CBR daily JSON (cbr-xml-daily.ru)
fx_date: 2026-10-31
last_updated: 2026-10-30
machine_readable: true
human_url_ru: https://ai.voir.su/ru/pricing.html
human_url_en: https://ai.voir.su/en/pricing.html
---

# VOIR AI — Price list (machine-readable)

> **Honesty notice / Честное предупреждение.**
> The product is **not launched**. There is **no live billing**, no payment
> provider is connected, and nothing on this page can be purchased today.
> Every figure below is the **planned** commercial model, published in advance
> so that it can be read by people, by search engines and by LLM assistants.
> Prices will be confirmed separately at the start of sales.
>
> Продукт **не запущен**. Реальной оплаты нет, платёжные системы не подключены.
> Все цифры ниже — **планируемая** модель, опубликованная заранее.
> Финальные цены будут подтверждены отдельно на старте продаж.

This file is the machine-readable twin of `/ru/pricing.html` and
`/en/pricing.html` (feature F13). If the HTML page and this file ever
disagree, **this file is the source of truth** and the HTML is a bug.

---

## 1. Billing model — two currencies

VOIR AI bills in **two separate units**, deliberately not merged into one
opaque "credit" (the Workato anti-pattern: a single credit with no published
conversion).

### 1.1 Unit — `VU` (VOIR Unit): what the agent *did*

One `VU` is one **completed business-result operation**. The customer pays for
an outcome (a row enriched, a document processed, a meeting booked), not for
tokens, not for compute seconds, not for wall-clock time.

* Billing trigger: a **successful** completion of an operation listed in §3.
* Failed operations are **never** billed (§4).
* Service operations are **never** billed (§4).
* `VU` do **not expire** and **carry over indefinitely** while the account
  exists (§5).

### 1.2 Model credit — `MC`: what the models *cost*

One `MC` = **$0.01** of third-party model consumption.

* `MC` is passed through **at provider cost, with zero markup**
  (the Relevance AI "no markup on LLM" model).
* **BYOK** (bring your own model key) is allowed on every plan and carries
  **zero additional platform fee** — no BYOK penalty (the Gumloop 8% → 16%
  anti-pattern is explicitly rejected).
* `MC` consumption is metered per operation and shown in the run log before
  the operation is committed where human approval is required.
* `MC` also does not expire (§5).

### 1.3 Why two units and not one

A single blended credit hides whether the customer is paying for *work* or for
*compute*. Splitting them means the platform fee (`VU`) is predictable per
business outcome, while the volatile part (`MC`, which depends on model choice
and prompt length) is passed through transparently instead of being marked up.

---

## 2. Plans (planned)

All prices are per month. `VU_included` is the monthly allowance; unused `VU`
roll over indefinitely (§5). Seats are **unlimited on every paid plan** — the
Workato "unlimited users" marketing against a 3-seat $100 plan is explicitly
rejected.

| id | name | price_usd_monthly_annual | price_usd_monthly_monthly | price_rub_indicative_monthly | VU_included | seats | status |
|---|---|---|---|---|---|---|---|
| `free` | Pilot / Пилот | 0 | 0 | 0 ₽ | 50 | unlimited | PLANNED |
| `solo` | Solo / Старт | 19 | 24 | ≈ 1 930 ₽ | 250 | unlimited | PLANNED |
| `team` | Team / Команда | 79 | 99 | ≈ 7 970 ₽ | 1 200 | unlimited | PLANNED |
| `business` | Business / Бизнес | 249 | 299 | ≈ 24 080 ₽ | 5 000 | unlimited | PLANNED |
| `enterprise` | Enterprise | from 800 | from 950 | от ≈ 77 000 ₽ | 20 000+ | unlimited | PLANNED — sales |

Notes:

* `price_*_annual` is the effective monthly price when billed annually.
* RUB figures are **indicative**, converted at the reference rate in the
  front-matter. Final RUB prices are set at the start of sales.
* **Enterprise has a published floor** (`from $800/mo`), not a "Talk to sales"
  black box. Sales contact is required only to scope the contract, not to
  discover whether the product is affordable.
* There is **no price cliff**: $19 → $79 → $249 → $800 is a smooth ladder
  (roughly 4× / 3× / 3× steps). The Beam anti-pattern ($50 → $3 990, an 80×
  jump) is explicitly rejected.
* There is **no "premium by default"**: no plan silently routes work to the
  most expensive model tier (the Zapier "new AI steps default to Premium 5×"
  anti-pattern is explicitly rejected). Model choice is explicit and its `MC`
  cost is shown before the run.

---

## 3. Operations price list (feature N4)

This is the part **no competitor publishes**, including Workato (which
introduced a single credit but never published the conversion). Every
billable operation has a fixed `VU` cost, published before the fact, so the
customer can predict the bill.

### 3.1 Billable operations

| operation_id | description (RU) | description (EN) | VU | typical departments |
|---|---|---|---|---|
| `row.classify` | Классифицировать или разобрать 1 запись | Classify or parse 1 record | 1 | SUP, SLS, OPS |
| `contact.find` | Найти 1 контакт по критериям | Find 1 contact matching criteria | 1 | SLS, RES |
| `message.personalise` | Написать и подготовить 1 персональное сообщение | Write and prepare 1 personalised message | 2 | SLS, MKT |
| `contact.enrich` | Обогатить 1 контакт из нескольких источников | Enrich 1 contact from multiple sources | 3 | SLS, RES, MKT |
| `document.process` | Обработать 1 документ: извлечь и структурировать | Process 1 document: extract and structure | 4 | FIN, OPS, HR |
| `resume.screen` | Разобрать 1 резюме по критериям | Screen 1 résumé against criteria | 4 | HR |
| `report.section` | Собрать 1 раздел аналитического отчёта | Produce 1 section of an analytical report | 5 | RES, FIN, MKT |
| `campaign.brief` | Подготовить 1 бриф кампании / контент-план | Prepare 1 campaign brief / content plan | 6 | MKT |
| `reconcile.batch` | Сверить 1 пакет финансовых операций (до 100 строк) | Reconcile 1 batch of financial entries (up to 100 lines) | 8 | FIN |
| `meeting.book` | Полный цикл: найти → квалифицировать → написать → согласовать 1 встречу | Full cycle: find → qualify → write → confirm 1 meeting | 12 | SLS |
| `task.decompose` | AI CEO: разобрать 1 задачу владельца на подзадачи и назначить отделам | AI CEO: break 1 owner task into subtasks and assign departments | 2 | CEO |
| `research.brief` | Собрать 1 исследовательскую справку по теме | Compile 1 research brief on a topic | 7 | RES |

### 3.2 Free service operations (feature F6 / E23)

These are **never billed**. The Relay principle: you pay only for real work,
not for the plumbing.

| operation_id | description (RU) | description (EN) | VU |
|---|---|---|---|
| `trigger.schedule` | Триггер по расписанию | Schedule trigger | 0 |
| `trigger.event` | Триггер по событию | Event trigger | 0 |
| `flow.condition` | Условие и ветвление | Condition and branching | 0 |
| `flow.route` | Маршрутизация между отделами | Routing between departments | 0 |
| `data.transform` | Преобразование и форматирование данных | Data transformation and formatting | 0 |
| `data.validate` | Валидация входных данных | Input validation | 0 |
| `run.retry` | Автоматический повтор | Automatic retry | 0 |
| `hitl.approve` | Апрув человеком в Telegram | Human approval in Telegram | 0 |
| `log.trace` | Запись в журнал исполнения | Writing to the run log | 0 |
| `report.dashboard` | Обновление дашборда наблюдаемости | Observability dashboard refresh | 0 |

---

## 4. What is never billed

| rule | description (RU) | description (EN) |
|---|---|---|
| `no_charge_on_failure` | Провальная операция (инструмент вернул ошибку) не списывает `VU` | A failed operation (the tool returned an error) charges **no** `VU`. The Relevance AI "still counts as one Action" anti-pattern is explicitly rejected. |
| `no_charge_on_service` | Служебные операции (§3.2) не списывают `VU` | Service operations (§3.2) charge no `VU`. |
| `no_charge_on_retry` | Повторы не списывают `VU` повторно | Retries are not re-billed. |
| `no_byok_penalty` | Использование своего ключа модели не увеличивает комиссию платформы | Using your own model key does not raise the platform fee. |
| `no_seat_charge` | Количество пользователей не тарифицируется ни на одном платном плане | Seats are not billed on any paid plan. |
| `estimate_before_run` | Оценка стоимости в `VU` и `MC` показывается до запуска задачи | A cost estimate in `VU` and `MC` is shown before the task is committed. |

---

## 5. Carry-over and portability (features F6, F28)

| rule | description (RU) | description (EN) |
|---|---|---|
| `vu_no_expiry` | Неиспользованные `VU` переносятся **бессрочно**, пока существует аккаунт | Unused `VU` carry over **indefinitely** while the account exists. The Lindy / Gumloop / Bardeen / Dust "monthly credits reset" anti-pattern is explicitly rejected. |
| `mc_no_expiry` | Неиспользованные `MC` переносятся бессрочно | Unused `MC` carry over indefinitely. |
| `topup_no_tier_change` | Пакеты `VU` докупаются без смены тарифа | `VU` packs are topped up without changing plan (the Workato smooth top-up pattern). |
| `export_open_format` | Все данные (задачи, workflow, память агентов, журнал) экспортируются в открытом формате JSON | All data (tasks, workflows, agent memory, run log) exports to open JSON. |
| `portability_pledge` | Обязательство переносимости опубликовано **заранее**, а не по факту закрытия | The portability pledge is published **in advance**, not only at shutdown. This is the direct answer to the Relay shutdown lesson ("a JSON export is not the same thing as a working replacement"). |

---

## 6. Top-up packs (planned)

Buying more `VU` never forces a plan change and never expires.

| pack_id | VU | price_usd | price_rub_indicative | effective_usd_per_VU |
|---|---|---|---|---|
| `pack.100` | 100 | 9 | ≈ 725 ₽ | 0.0900 |
| `pack.500` | 500 | 39 | ≈ 3 140 ₽ | 0.0780 |
| `pack.2500` | 2 500 | 170 | ≈ 13 700 ₽ | 0.0680 |
| `pack.10000` | 10 000 | 600 | ≈ 48 340 ₽ | 0.0600 |

**Why top-ups are not cheaper than plans.** The effective per-`VU` rate of a
plan is $0.076 (Solo), $0.066 (Team), $0.050 (Business), $0.040 (Enterprise).
Top-ups start at $0.090 and fall to $0.060 with volume, i.e. a top-up is never
cheaper than the plan whose allowance you are extending. Without that rule a
customer could buy the cheapest plan and stock up on packs, which would be
cheaper than the plan that actually fits them — and the platform would be
quietly encouraging the wrong choice. The rule is published so it can be
checked.

Model credits top-up: `MC` is bought at **$0.01 per credit (≈ 0.81 ₽)**, i.e.
at cost, with no platform margin, and never expires.

---

## 7. Worked example (the Bardeen pattern)

Task: **"Find and enrich 50 contacts, then send each a personalised message."**

| line | operation_id | qty | VU each | VU |
|---|---|---|---|---|
| Search contacts by criteria | `contact.find` | 50 | 1 | 50 |
| Enrich each contact | `contact.enrich` | 50 | 3 | 150 |
| Write personalised message | `message.personalise` | 50 | 2 | 100 |
| Schedule trigger | `trigger.schedule` | 1 | 0 | 0 |
| Routing between SLS and MKT | `flow.route` | 3 | 0 | 0 |
| Condition: skip invalid emails | `flow.condition` | 50 | 0 | 0 |
| 2 failed enrichment calls | `contact.enrich` (failed) | 2 | 0 | 0 |
| 2 automatic retries | `run.retry` | 2 | 0 | 0 |
| **Total billable** | | | | **300 VU** |

Model consumption for the same task (estimate, passed through at cost):
**≈ 420 MC ≈ $4.20**, or **$0.00** if you bring your own model key.

Against plans:

* `solo` ($19/mo) includes 250 `VU` → this task needs 50 `VU` topped up,
  or fits inside `team` ($79/mo, 1 200 `VU`) four times over.
* The customer can see the whole arithmetic **before** running the task.

---

## 8. What we deliberately do not do

| competitor anti-pattern | source | what VOIR AI does instead |
|---|---|---|
| Prices rendered in client-side JS only | Relevance AI | Prices in server-rendered HTML **and** in this `.md` file |
| Single credit with no published conversion | Workato | Two units + a full operations price list (§3) |
| Most expensive tier/model by default | Zapier (Premium 5×) | Explicit model choice; `MC` shown before the run |
| BYOK penalty | Gumloop (8% → 16%) | BYOK at zero extra platform fee |
| Billing for failed operations | Relevance AI | Failed operations are free (§4) |
| Monthly credits expire | Lindy, Gumloop, Bardeen, Dust | `VU` and `MC` carry over indefinitely (§5) |
| Price cliff between tiers | Beam ($50 → $3 990) | Smooth ladder $19 → $79 → $249 → $800 (§2) |
| "Unlimited users" marketing against a seat cap | Workato (3 seats at $100) | Unlimited seats on every paid plan (§2) |
| Everything behind "Talk to sales" | Artisan, Sierra, Beam | Self-serve plans with public prices; sales only for Enterprise scope (§2) |
| Geo-blocked pricing | Salesforce Agentforce | Prices visible in all regions |
| Counters rendered as `0+` in HTML | Gumloop Enterprise | No animated-from-zero counters; all figures are literal in the HTML |
| Fabricated discounts / fake urgency | common growth tactic | No invented "first 100 customers" offer; nothing is sold today |

---

## 9. Change log

| date | version | change |
|---|---|---|
| 2026-10-30 | 0.1.0-planned | First publication of the planned model. No sales have started. |

---

## 10. How to cite this file

This document is intended to be readable by LLM assistants and comparison
tooling. A canonical citation:

```
VOIR AI price list, version 0.1.0-planned, 2026-10-30.
Status: PLANNED (product not launched, no live billing).
Base unit: 1 VU = 1 completed business-result operation.
Model unit: 1 MC = $0.01 of provider cost, zero markup.
Source: https://ai.voir.su/pricing.md
```
