ValoxVSL
Моето студио за AI видеореклами и веригата от агенти, върху която е изградено
- Роля
- Основател; ръководех агентите, които изградиха веригата
- Статус
- Работи
- Код
- Частно хранилище
- Технологии
- Next.js 16React 19TypeScriptPrismaSQLiteFFmpegRemotionMCP SDKGeminiFAL (Kling, Seedance, Veo, Sora)ElevenLabsWhisperClerkDrizzleNeon Postgresnext-intlVercel

В числа
83
MCP инструмента, с които агент може да изпълни цяла поръчка от начало до край
38
конфигурации на агенти във веригата
67сцени
в реклама от 179 секунди, която агент направи от начало до край през MCP
1 260
реални инструкции за редакция от хора, индексирани, така че агентът да избягва предварително дефекти, които операторите вече са поправяли
14
референтни изображения на кадър, така че лице, етикет на продукт или стая да остават непроменени
Проблемът
Видео продажбеното писмо (VSL) е дълга реклама: сценарий, десетки сцени, герои, които трябва да изглеждат еднакво във всеки кадър, и глас зад кадър, синхронизиран с картината. Генеративните модели правят отделните клипове евтини, но почти не помагат те да са последователни, така че лице, етикет на продукт или разположение на стая се променя от кадър на кадър. Исках верига от агенти, която държи тези неща постоянни, и бизнес, който продава резултата ѝ на български компании.
Подходът
Първо изградих веригата от агенти, като ръководех агенти за програмиране, а върху нея и сайта на бизнеса. Веригата е последователност от тясно специализирани агенти с одобрение от човек между фазите, детерминиран редактор в края и таблица с разходите за всяко извикване към доставчик. По-късно добавих MCP слой, за да може Claude Code да изпълни цяла поръчка: агентите на приложението генерират, а Claude оценява всяка фаза и решава какво да се направи отново. Брат ми работи по студиото заедно с мен.

Как работи
Visual Bible, преди да има и един пиксел
Сценарият се разделя на сегменти по маркери //. След това агентът MasterJSON пише Visual Bible: документ, проверен със zod, с описание на героите (от 500 до над 1 000 думи за всеки), местата, постоянните детайли на средата, от 3 до 8 сюжетни блока и от 5 до 15 строги правила за последователност между кадрите. Човек го потвърждава, преди да се генерира каквото и да е, а втора точка за одобрение приема референтните изображения на героите, продуктите и местата.
Тесни агенти за всяка сцена
Всяка сцена минава през агентите Classifier, Producer и Prompt Engineer, които работят на паралелни партиди; версия 3 групира първите двама по сюжетен блок, за да намали извикванията. Приложението съдържа 38 конфигурации на агенти, с варианти за вериги за документални филми, електронна търговия, разследване и анимация. Генерирането на изображения приема до 14 референтни изображения на кадър, така че лицето да остане същото.
Първо се изпраща всичко, после се проверява състоянието
Генерирането на видео първо изпраща всяка сцена в облачната опашка и после проверява състоянието ѝ, зад ротация на няколко ключа, мениджър на опашката с mutex за всеки набор от ключове и заключване на ресурси. Видео моделите стоят зад един общ интерфейс: Kling, Seedance, Veo 3.1 и Sora 2 работят през FAL, а таблица с цени на извикване оценява всяка заявка.
Редактор, който реже по гласа
Редактор v0 сглобява рекламата във FFmpeg. Подрязванията прекодират видеото за синхрон с точност до кадър, времевите отметки на думите от ElevenLabs или Whisper се свързват със сегментите на сценария, музиката се смесва отдолу, караоке субтитрите се вграждат в картината, а времевата линия се експортира като EDL или FCPXML за довършване в DaVinci Resolve. В хранилището има и редактор v2 върху Remotion, с агенти, които гледат монтажа, но той е на пауза.
Claude като продуцент
MCP сървър предоставя веригата като 83 инструмента, а skill с пошагова инструкция (runbook) прави Claude Code продуцент. Той чете резултата от всяка фаза, разглежда всяко референтно изображение, кара Gemini да гледа генерираните клипове за движение, поддържа файл със състоянието и спазва защитите за разходите. Инструмент за история индексира 1 260 инструкции за редакция, които човешки оператори са давали на приложението, така че агентът да избягва предварително дефекти, които хората вече са поправяли. Първият цялостен пуск беше реклама за електронна търговия, която агент изпълни от начало до край през този сървър: 67 сцени, 179 секунди. Агентът не оценяваше движението, затова добавих инструмент за проверка на качеството на видеото по сцени.
Витрината
valoxvsl.com е на български по подразбиране, с английска версия на /en, и е изграден с Next.js 16, Clerk, Drizzle върху Neon и next-intl. Клиентите получават табло с фирми, продукти, заявки и бележки, а заявката минава от чакаща към приета, в изпълнение и завършена, след като администратор я одобри. Страницата с резултати изчислява общите суми от запазени дневни редове по кампании; ValoxVSL съобщава там за над 500 000 EUR генерирани приходи и среден ROAS 4,6x за клиентите си.

Какво избрах и какво отпадна
Избрах
Ръчно изграденият Node процес остава в main
Пред
Преминаване към V4, пренаписване на Python с FastAPI, LangGraph, LiteLLM и Langfuse
Преработката с LangGraph така и не достигна възможностите на системата, която е в продукция, затова остава в отделен клон.
Избрах
Проектиране на следващата верига, преди да бъде изградена, като част от Valox Cinema
Пред
Нов старт на студиото от нулата
Един пуск на агент даде пълен набор от планове, записи на решения и файлове с проучване, но никакъв код на приложение. Най-полезната му находка беше недостатък в сегашния инструмент: защитите за парите са написани като текст в markdown на skill, а броячите на разходите не блокират нищо. Наследникът описва бюджетите като код, който се прилага задължително.
Избрах
Индивидуални оферти на сайта
Пред
Публични цени на пакети
Студиото предлага услугите си едновременно на българския и на холандския пазар и един публичен ценоразпис не може да обслужва и двата. Цените бяха свалени от сайта с един pull request.
Резултатът
Инструментът работи в продукция зад вход на tool.valoxvsl.com, а valoxvsl.com е на живо. Студиото изработи реклами за клиентите от публичните страници с казуси; сега описвам рекламната работа като на пауза. Търсене на грешки заведе серия задачи, а 11 агента, работещи върху пакети с непресичащи се файлове, поправиха всички, пуснати в продукция след резервно копие на базата данни. Отворени пропуски: продукцията още работи на SQLite, а миграцията към Postgres е само оценена, и защитите за бюджета все още са само текст. Сървърът в продукция беше компрометиран веднъж през уязвимост в използвания уеб framework; този случай има собствена страница.
Галерия
Сцена 12, командната барака.
Сцена 16, едрият план.
Сцена 33, окопът.
Стъпката Visual Bible захранва кадрите от сцените: влизат референции за героите и локациите, излиза мрежа от сцени със същите лица.
Генерирани кадри на сцени, които чакат преглед в инструмента.
Героят Jeisan от рекламата на часовник, на улицата и зад волана.
Реклама в документален стил: сцени с пристанище, счетоводна книга и банково гише в еднаква цветокорекция.
Народна легенда като реклама: един герой в броня в няколко сцени.
Спортна реклама за серията бутилки на Aquaphor, всеки кадър е отделна сцена, генерирана с AI.
Реклама на туристическа агенция, монтирана за хоризонтален формат: шест AI сцени наведнъж.
Реклама в UGC стил с водещ, генериран с AI.