--- name: postcreator-motion-remix description: Монтаж по референсу, как Katana у Higgsfield. Из понравившегося ролика берутся ритм, длины кадров, переходы и акценты, и по ним монтируется материал пользователя под его трек; недостающие кадры генерируются в Postcreator. Для моушн-дизайна (камера скользит по коллажу, слова печатаются на плашках) — сборка «доской» с 3D-камерой. Применяй после postcreator-motion, когда просят «сделай как в этом ролике» или «смонтируй мои клипы в таком же темпе». --- Сначала выполни шаги из `postcreator-motion`: проверь `doctor`, создай проект `--recipe remix`. Формат — тот, в котором нужен результат. ## 1. Разбор референса ``` pc-motion ingest <референс> --project . --as reference pc-motion analyze-reference --project . ``` Анализ пишет `edit-dna.json`: - кадры со временем, длиной в долях такта, переходом (`cut`, `flash`, `fade`, `whip`), энергией движения, акцентами на сильную долю и сценой (`scene`: кадры одной съёмки или одного полотна); - тип референса (`kind`) и ритм (`music.bpm`; `pacing`: средняя длина кадра, доля склеек на долю, число сцен). Открой листы `work/reference/contact-1.jpg`, `contact-2.jpg`… (`contactSheets` в ответе): по двенадцать планов на лист, у каждого три кадра с подписью времени и перехода. Допиши в `edit-dna.json`: - `shots[i].describe` — что в кадре: крупность, объект, движение камеры, приём. Например: «крупно продукт, наезд, вспышка на входе». - `style` — `look` (цвет, свет, фактура), `camera`, `text` (как выглядят надписи), `grade`, `notes`. - `shots[i].scene` поправь, если анализ разрезал одну сцену или склеил две. Повторный анализ сохраняет `describe`, `scene`, закреплённые `clip` и `words`, если число кадров не изменилось. Футаж и музыку референса в ролик не кладём; логотип или подпись автора шаблона в финале заменяем своей карточкой. ### Монтаж это или моушн-дизайн `kind` в ответе — подсказка, проверь её по листам: - **`montage`**: разные съёмки сменяют друг друга склейками — монтируй ремиксом (раздел 3); - **`motion-design`**: одно полотно или коллаж, камера скользит по нему, текст набирается по словам, а «склейки» — рывки камеры внутри сцены (в среднем две и больше на сцену). Скажи это пользователю до генерации: ремикс повторит только ритм смен, а движение камеры по полотну, плашки и фактуру даст доска (раздел 4). План у них общий. ### Слова референса Если в референсе есть текст, прочитай его по кадрам: `pc-motion look --project . --reference [--every 0.5]` кладёт листы кадров с подписью секунд в `work/look-reference/`. Впиши в `edit-dna.json` → `words`: `[{ "at": 1.0, "text": "СВОИ СЛОВА", "style": "plate-dark", "position": "upper" }]` — `at` в секундах референса, когда слово появилось; текст свой (чужие строчки песни не переносим), стиль и место — как у референса. `remix plan` разложит их по новому треку: слово, появившееся на трети кадра референса, появится на трети его слота. ## 2. Материал - Клипы пользователя: `pc-motion ingest <клип> --project . --as clip` для каждого. Они обрежутся под формат проекта. - Чего не хватает (например, «ролик про персонажа»: есть только его референс), сгенерируй в Postcreator. `pc-motion remix needs --project .` перечисляет сцены без материала с готовыми промптами: `still` — кадр, `motion` — его оживление image→video, `generate` — сколько секунд генерировать (не меньше сцены). Порядок, котировка и журнал трат описаны в `postcreator-motion`. Слоты принимают только видео: сгенерированный кадр оживи (`artifactInputs: [{ "taskId": "<задача кадра>", "index": 0, "inputId": "image" }]`, например Seedance). Несколько генераций сразу — через `quote_generate_to_chat_batch` и `generate_to_chat_batch` (до четырёх); в журнал пиши каждую отдельно с ключом `<ключ пакета>#<номер>`. Скачай результат: `pc-motion fetch --project . --name scene-03` и впиши `"clip": "scene-03"` у кадров этой сцены в `edit-dna.json`. Кадры одной сцены без закрепления сами берут клип её первого кадра. - Музыка: `pc-motion ingest <трек> --project . --as music`. С треком длины кадров перекладываются на его доли, и склейки придутся на биты. Без трека сохраняются секунды референса, и звука в ролике не будет. - Трек в Postcreator генерируется только на Canvas: узел `audio-gen` с `params.model_id` (не `model`) — `suno-music` или локальные `minimax-music3-local` и `ace-step15xl-local` (бесплатный пилот на Canvas с бюджетом проекта). Локальные модели видны только в `get_app_schema('audio-studio')` с `projectId` и `boardId`. У ACE-Step есть `bpm`: проси темп референса (`music.bpm`) или вдвое меньше. Дальше `quote_canvas_node_run` → согласие → `run_canvas_node` → `get_canvas_output_content` → `pc-motion fetch --project . --as music`. ## 3. План и сборка ремиксом ``` pc-motion remix plan --project . [--duration 15] [--beats auto|same|double|half] ``` План пишет `remix.json`. Каждому слоту назначен клип и окно в нём (`mediaStart`) с похожей энергией движения, и окна не повторяются; слоты подряд на одном клипе (одна сцена) проигрывают его вперёд. Переход и акцент берутся из референса. `--duration` повторяет рисунок референса до нужной длины. `--beats auto` (по умолчанию) сверяет темп трека с референсом: если трек вдвое медленнее или быстрее, склейки ложатся на половинные доли или на каждую вторую. `same`, `double` и `half` задают это явно; `beatScale` в ответе говорит, что выбрано. Проверь план: - `clip` и `mediaStart` можно поменять руками (например, поставить лучший момент); - `transition`: `open`, `cut`, `flash`, `whip`, `fade`; `accent: true` даёт наезд-«щелчок» на входе слота — так выглядят рывки камеры внутри сцены; - `texts` — надписи (из `words` референса или свои) `{ "text", "start", "duration", "position": "upper"|"center"|"lower", "x", "y", "style", "reveal", "font", "rotate", "torn" }`: - `style`: `clean` (белый текст с тенью), `plate-dark`, `plate-light`, `plate-red` (слово на бумажной плашке), `hero` (огромное красное слово); `torn: true` — плашка с рваным краем; - `reveal`: `rise` (выезжает снизу), `type` (печатается по буквам), `stamp` (падает с размытием — для `hero`); - `x`, `y` — центр надписи в долях кадра (0–1) вместо `position`; - `font`: `Inter`, `Oswald`, `League Gothic`, `Archivo Black` — другие шрифты рендер не найдёт; `rotate` — градусы от −20 до 20; - `warnings` в ответе `plan` перечисляет проблемы: слишком короткие клипы, нет музыки, трек короче референса (в план вошли не все кадры), выбранная сетка долей. ``` pc-motion remix build --project . pc-motion snapshot --project . pc-motion render --project . --quality draft pc-motion review --project . --against reference ``` `snapshot` без рендера даёт кадр из середины каждого слота (на 30–40 слотов уходит минута-полторы): проверь подбор материала до рендера. `review` возвращает `cuts`: сколько видимых склеек плана нашлось в рендере и средняя ошибка в секундах. Найдены должны быть все, ошибка — меньше 0,05 с. Склейки внутри одного клипа и склейки раньше 0,2 с после предыдущей детектор не видит: они в `cuts.untestable`, проверь их глазами по `work/review/review.jpg`. `motion.correlation` — насколько рисунок движения повторяет референс (1 — спокойное и резкое там же, где у референса; ниже 0,3 — поставь в слоты окна с другим движением). `work/review/compare.jpg` ставит кадр референса рядом с кадром результата для каждого слота. Посмотри его, поправь `remix.json`, пересобери. Финал: `--quality delivery`. ## 4. Доска: камера по коллажу Для моушн-дизайна тот же план собирается иначе: каждая сцена (слоты подряд на одном клипе) — лист на большом бумажном полотне под наклоном, камера в 3D прилетает к листу на долю его первого слота и дрейфует, пока на нём; надписи становятся плашками на полотне и печатаются по буквам, `hero` падает с толчком камеры; поверх — зерно, тени жалюзи, расфокус сверху и снизу, виньетка, размытие в движении. ``` pc-motion remix plan --project . pc-motion board plan --project . pc-motion board build --project . pc-motion snapshot --project . pc-motion render --project . --quality draft ``` `board plan` пишет `board.json`: листы (`clip`, окно `mediaStart`, `x`/`y`/`rotate`/`z` на полотне, `move` — как камера прилетает: `glide`, `dive` — отъезд и «нырок», `roll` — с креном; `flash` — вспышка на входе), надписи (`sheet`, смещение `dx`/`dy` от центра листа, `style`: `plate-dark`, `plate-light`, `plate-red`, `plate-cream-red`, `hero`) и `look` (`tilt` — наклон полотна, `grain`, `blinds`, `dof`, `vignette`, `bokeh`). Переходы референса выбирают движение: `whip` → `roll`, `fade` → `dive`; листы короче 0,6 с (вспышка, одна доля) сливаются со следующим. Поправь `board.json` и пересобери `board build`; `look` переживает новый `board plan`. Чтобы вернуться к ремиксу, снова `remix build`. `review` для доски склейки не считает (их нет — камера движется), кадры и сравнение с референсом — как обычно. Lint HyperFrames предупреждает о большом файле и многих размытых слоях — для доски это нормально; рендер 20 с черновика идёт около минуты, `delivery` — до десяти.