Обзор системы

Зачем построено, какие проблемы решает, как эволюционировало. Контекст без которого дальнейшие страницы будут читаться как набор разрозненных скиллов.

Бизнес-контекст

Performante — это маркетинговое агентство в Казахстане, ведёт Meta-таргет для клиник (стоматология, дерматология, физиотерапия), медтехники B2B (Apparatus.kz), фитнес-студий, ресторанов. Все проекты в Казахстане, основной язык — русский, иногда казахский.

Типичный клиент требует 10-30 креативов в месяц:

Делать это руками = команда из 3 человек на одного клиента (копирайтер + дизайнер + видеомонтажёр). При 5+ клиентах это не масштабируется. Эта система — попытка автоматизировать 80% работы.

Что НЕ автоматизировано — стратегия (какой клиенту нужен месседж), креативный пик (выбор лучшего варианта из A/B), коммуникация с клиентом, аналитика результатов. Это остаётся за человеком. Система автоматизирует production.

Эволюция (как мы сюда пришли)

v1 (April 2025) — Veo-only

Начали с Google Veo 3.1 для генерации clip-library. Идея: бриф → Claude генерит Veo-промпты → Veo рендерит клипы → ручной монтаж в DaVinci. Проблема: Veo дорогой ($0.50/клип), генерит белиберду в кадре (текст, интерфейсы), много мусора в библиотеке.

v2 (Май 2025) — Director + ElevenLabs

Добавили video-director (FFmpeg-монтаж по cue-list) и video-voiceover (ElevenLabs TTS). Цепочка стала: copywriter → voiceover → director подбирает клипы под длительность озвучки → captions. Сложилась asset pipeline: shared clip library, voice pool, music pool — общие через junction-таблицы.

v3 (Сентябрь 2025) — Multi-project

Пришли несколько клиентов одновременно. Перестроились на multi-project: один ~/video-projects/<slug>/ на клиента, одна shared SQLite со scoping через junction-таблицы. Schema v6.

v4 (Ноябрь 2025) — Screencast и Talking-Head

Некоторые клиенты захотели сниматься сами (Screen Studio / Loom / телефон). Добавили video-screencast: автоматическая нарезка дублей + чистка голоса + 9:16 padding. Это альтернативный трек к Veo-pipeline.

v5 (Декабрь 2025) — Static creative track

Меta активно крутит и видео и статику. Добавили creative-poster для статичных постеров через Gemini 3 Pro Image (nano-banana-pro). Затем creative-orchestrator и creative-carousel для каруселей. Schema v7 → v8 (добавили creative_posters, creative_performance, competitor_refs.info_score).

v6 (Май 2026) — Explainer-video и GR-1

Карусель v1 была через Gemini Image — оказалось плохо (₸→Т, дубль-кнопки, softbox в кадре). Переписали на Remotion. По той же логике сделали creative-explainer-video для длинных тутор-видео. Ввели Global Rule 1 (GR-1): каждый артефакт должен генерить HTML-preview с payload-сайдбаром.

Архитектурные принципы

1. Skill = standalone CLI + SKILL.md

Каждый скилл это папка в ~/.claude/skills/<name>/:

~/.claude/skills/video-director/
├── SKILL.md              # описание + триггеры
└── scripts/
    ├── assemble.py       # standalone CLI: python3 assemble.py --plan plan.json --output out.mp4
    ├── db.py             # CRUD для clips/videos в shared DB
    ├── overlay_music.py
    └── schema.py         # копия общей schema

Скрипты можно вызывать руками без Claude. Claude находит скилл через MANDATORY TRIGGERS в YAML-frontmatter SKILL.md.

2. Multi-project через junction tables

Ресурс (клип, голос, музыка, текст) — глобальный в shared SQLite. Принадлежность к проекту — через junction-таблицу:

clips (id, path, description, duration, ...)            # ← глобальные
project_clips (project_id, clip_id)                     # ← связка
projects (id, slug, name, niche)                        # ← регистрация

Один клип может принадлежать нескольким проектам (полезно для evergreen-материалов). Каждый запрос в БД фильтруется через junction.

3. Auto-resolve проекта из user-команды

Когда юзер пишет «сделай 3 ролика для basdent» — video-orchestrator ищет проект:

  1. В команде есть явный slug? («basdent» → ~/video-projects/basdent/)
  2. В команде есть путь? (~/video-projects/X/)
  3. Залогирован текущий проект в state? (~/.claude/state/current-project.json)
  4. Спросить юзера: «какой из проектов: basdent, apparatus, sweepstake

4. Brand-injection auto

~/video-projects/<slug>/brand.yaml читается автоматически всеми creative-* скиллами. Содержит colors / fonts / voice-tone / forbidden-words / referenes-list. Эти данные инжектятся в Gemini-prompt без явного указания.

5. Cross-model fallback

Gemini-3-Pro-Image иногда выдаёт 429/503. creative-poster/gen.py сам падает на nano-banana-pro, потом на gemini-3.1-flash-image, потом на gemini-2.5-flash-image. Юзер видит только финальный результат.

6. GR-1: каждый артефакт = HTML preview

Постер / карусель / explainer не считается «готовым» пока не сгенерирован preview.html с payload-сайдбаром. В сайдбаре: model used, references (thumbnails), brand context, текст промпта, стоимость. Это для агентского ревью — клиент / партнёр должен видеть как сделан креатив, а не только сам креатив.

Два параллельных трека production

VIDEO ADS TRACK (Veo / ElevenLabs / FFmpeg)

brief.md video-copywriter video-voiceover video-clipgen (Veo) | video-clipgen-higgsfield video-analyzer

video-director (assemble) video-captions video-reviewer .mp4
STATIC CREATIVE TRACK (Gemini Image / Remotion)

brief.md + brand.yaml creative-poster (gen) qa_review multi_aspect .png

creative-carousel (plan + render) ZIP + PDF

creative-explainer-video (plan + vo + render) .mp4

Оба трека пишут в одну shared SQLite (~/video-projects/director.db) и используют один brand.yaml на проект. Видео-объявление и постер для одного клиента физически делаются разными цепочками, но обе цепочки знают про бренд.

Стоимость per-piece

ФорматPipelineCost / pieceSpeed (wall-clock)
Видео (voiceover) 15-30scopywriter → voiceover → director → captions$5-15 (Veo) · $0.5-3 (Higgsfield)5-10 мин
Hook-клип Higgsfield 5svideo-clipgen-higgsfield (DoP turbo)$0.401-2 мин
Premium product orbit shotvideo-clipgen-higgsfield (DoP preview)$0.562-3 мин
Soul-ID character series (1 train + 5 клипов)video-clipgen-higgsfield (Soul-ID + DoP turbo × 5)~$5~15 мин
Видео (textover) 15scopywriter → director → remotion overlay$1-33-5 мин
Постер 4:5creative-poster (Gemini Image)$0.0430-60 сек
Постер 6 variants × 2 aspects + QAcreative-orchestrator run~$0.785-8 мин
Карусель 7 слайдовcreative-carousel (Remotion)$0 (rendering) + $0.0001 (plan)1-2 мин
Explainer-видео 3 минcreative-explainer-video~$0.55 (VO) + $0 (render)5-7 мин

Что НЕ входит в систему

Дальше