Без пяти восемь. Я наливаю воду в три стакана — в первый немного, во второй вдвое больше, в третий ещё вдвое — и ставлю их в ряд на кухонном столе, между ноутбуком и калькулятором. Не для красоты: мне надо увидеть пропорцию, а не прочитать её. В описании модели она записана цифрами 0,05, 0,10 и 0,20; между крайними — четыре раза, и в стаканах это видно лучше, чем в строке мелкого текста. Горит одна лампа, за окном ноябрь, двор с берёзами и мокрый асфальт; в стекле отражается тёмная кухня и моя же лампа, больше ничего.

Четвёртый стакан сохнет рядом, вверх дном. Я не стала его убирать.

Два прайса, и цена секунды не в том, который для людей

Я открыла прайс fal, ожидая найти там таблицу цен на модели. На странице тарификации — цена железа: H100 — 4,50 доллара за час по списку и «от 2,49» при запасе, B200 — 7,99, GB200 — 9,99. Страница отвечает на вопрос «сколько стоит час чужой видеокарты». Цены секунды видео там нет.

Она лежит в другом файле — в машинном описании эндпоинта. Поставщик держит для моделей отдельные текстовые файлы на случай, когда их читает не человек, а агент: там схема параметров, примеры запросов и раздел с ценой. Для Wan 3.0 это три строки: «For every second of video you generate, you will be charged $0.05 480p, $0.10 720p, or $0.20 1080p». То есть цифра, которая попадёт в чей-то счёт, — не строка в таблице, а абзац английского текста рядом со схемой параметров.

Мне это важно не как придирка к вёрстке. Прайс-страница — документ для покупателя: её открывают, сравнивают, показывают коллеге. Описание эндпоинта — документ для сборщика: его открывает тот, кто пишет код, и открывает ровно в тот момент, когда собирается платить.

Один промпт, три цены

Единица счёта здесь — секунда, а не кадр и не запрос. Множитель — разрешение. Пример есть в том же абзаце: пять секунд в 720p стоят 0,50 доллара. Значит, пять секунд в 480p — 0,25, а в 1080p — доллар. Один и тот же промпт, один и тот же сюжет: разрешение не меняет того, что нарисовано, оно меняет размер кадра и счёт.

И вот тут появляется настоящий вопрос, ради которого я достала стаканы. Тарифов три, а галочка стоит на самом дорогом: параметр `resolution` по умолчанию равен 1080p. Вызов, в котором передали только промпт, — это доллар за пять секунд, а не двадцать пять центов. Никто не выбирал дорогое — дорогое выбралось само, потому что так записано значение по умолчанию.

Это не обман: значение видно в схеме, его можно поменять одним полем. Это хуже — это незаметно. Цена перестала быть свойством выбранной модели и стала следствием параметра, который в большинстве вызовов вообще не трогают.

Инфографика: цена одного вызова Wan 3.0 — 2 с в 480p 0,10 доллара, 5 с в 480p 0,25, 5 с в 720p 0,50, 5 с в 1080p по умолчанию 1,00, 15 с в 1080p 3,00, 30 с в 1080p 6,00
Цена за секунду — из описания эндпоинта, прочитанного 1 ноября 2026. Суммы за вызов посчитаны мной: секунды умножены на цену тарифа.

Длину тоже может выбрать не человек

Второй параметр — `duration`. По умолчанию пять секунд, диапазон от двух до тридцати. Если передать пустое значение, включается «умная длительность»: длину выбирает модель, глядя на промпт и референс. В 1080p один такой вызов стоит от 0,40 до 6,00 доллара — в пятнадцать раз дороже самого дешёвого из возможных, и решение принимает не тот, кто платит.

Я не считаю это злом. Умная длина полезна, когда не знаешь, сколько нужно: десять секунд вместо трёх иногда дешевле, чем три неудачных вызова. Но счёт теперь складывается из двух значений по умолчанию, и оба по умолчанию стоят дороже всего. Проверить это на своём счёте я не могу — ключа fal у меня нет, я читала описание и считала на калькуляторе.

Оговорка стоит в том же абзаце

Через две строки после цифр — «Pricing is subjected to change»: цены могут меняться. Оговорка не в отдельном документе о правилах и не в журнале изменений: она в том же файле, что и схема, в том же абзаце, что и цена. Значит, поставщику не нужно объявлять новую цену — достаточно поменять одну строку там, куда смотрит только тот, кто уже собрался платить.

Отсюда правило, которое я записала себе в тетрадь, а не в память: хранить надо не цифру, а правило пересчёта — единица, множитель, дата, источник. Цифра без даты — это слух, который однажды был правдой. Правило с датой переживает смену поставщика как правку одного поля.

Наша половина

Сравнить это с нами я не могу, и это не скромность. У нас ⚡ — внутренняя единица без публичного курса: в карточке модели написано, сколько единиц стоит запуск, но не написано, сколько стоит единица. Поэтому любое сравнение с рынком — пересчёт с нуля каждый раз, руками, по свежему чтению чужого файла. Ровно то, что я делала сегодня вечером со стаканами.

Записала я и второе, менее приятное: я открыла прайс, ожидая таблицу, и первую минуту считала страницу неполной. Она полная — просто она про другое. Ошибка была моя: я искала цену товара там, где написана цена аренды инструмента.

Воду из стаканов я вылила в раковину по одному и поставила все четыре сушиться. Двадцать часов десять. В файле, откуда я брала цифры, между строкой с ценой и строкой с оговоркой лежат два абзаца про параметры — и тот, кто читает файл целиком, увидит и цену, и оговорку, и значение по умолчанию. Тот, кто смотрит на прайс-страницу, не увидит ни одного из трёх.