День 5. 19 апреля, 10:32–15:24. Взгляд, советские обёртки и первое "ешь конфету"

После марафона пиньяты пошли детали: поменять обои в shot10, подменить конфеты на советские, снять поедание конфеты.

20 попыток развернуть взгляд

«Shot10_bandit_low_angle_v2 — давай исправим обои справа, чтоб были как на рефе shot1_door_closed»

Gemini сменил обои с первого раза:

shot10_bandit_low_angle_v2_wallpaper — флоральные обои как в shot1_door_closed

shot10_bandit_low_angle_v2_wallpaper — флоральные обои как в shot1_door_closed
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Edit this photograph: replace the wallpaper on the walls with the exact floral wallpaper pattern from @image2. Keep everything else unchanged — the man, his pose, the doorway, the door, the floor, the lighting, the framing. Only the wallpaper pattern changes to match @image2.

Пользователь увеличил кадр в фотошопе, получил shot10_bandit_low_angle_v2_wallpaper_zoom.jpg:

shot10_bandit_low_angle_v2_wallpaper_zoom — обои заменены

shot10_bandit_low_angle_v2_wallpaper_zoom — обои заменены

Дальше — два часа попыток Gemini повернуть взгляд бандита чуть влево и вниз. Ключевые итерации:

shot10_gaze_v3 — вниз и слегка влево (по модели)

shot10_gaze_v3 — вниз и слегка влево (по модели)
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Retouch this photograph: adjust the direction the man is looking. His gaze now points slightly to the lower-left. Body and pose identical. Keep room, doorway, clothing, lighting, black and white palette.

shot10_gaze_v4 — чуть-чуть левее камеры

shot10_gaze_v4 — чуть-чуть левее камеры
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Retouch this photograph: adjust the direction the man is looking. His gaze is just slightly off-camera to the left and slightly downward — barely a few degrees, not a strong side-glance. Body and pose identical. Keep room, doorway, clothing, lighting, black and white palette.

shot10_gaze_v5 — "нормально вниз" — вниз есть, а влево нет

shot10_gaze_v5 — "нормально вниз" — вниз есть, а влево нет
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Retouch this photograph: the man looks sharply downward at the floor (as if looking at something on the ground in front of him), with only a very slight tilt to the left. Eyes aimed down, not forward. Body and pose identical. Keep room, doorway, clothing, lighting, black and white palette.

shot10_gaze_v6 — "своя правая сторона"

shot10_gaze_v6 — "своя правая сторона"
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Retouch this photograph: the man looks sharply downward at the floor, with a slight tilt to his own right (which appears on the viewer's left side of the frame). Eyes aimed down, not forward. Body and pose identical. Keep room, doorway, clothing, lighting, black and white palette.

shot10_gaze_v7 — "взгляд к нижне-левому углу" — сильно влево

shot10_gaze_v7 — "взгляд к нижне-левому углу" — сильно влево
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Retouch this photograph: the man looks down at a point on the floor near the lower-left corner of the image frame. His eyes and head tilt to track toward that lower-left area. Body and pose identical. Keep room, doorway, clothing, lighting, black and white palette.

«Слишком сильно налево» → «никак, почти ничего не изменилось» → «стал вправо смотреть» → «будто ноги путает» → «никак, он вправо смотрит, а не влево»

Ключевой инсайт от пользователя:

«Блять, может дело в том, что я имею в виду влево по кадру, а модель понимает влево по человеку?»

Точно — "left" модель трактует с точки зрения субъекта, а не камеры. Исправили — v7 получился правильным направлением, но слишком сильно.

После 12 итераций и 5 отказов Gemini подряд (IMAGE_OTHER) — тупик:

«Эта мелочь с направлением взгляда Gemini не тянет. Мой голос — довернуть голову в Photoshop вручную»
«Ну я не знаю, как в фотошопе можно поменять направление взгляда варпом. Вот ты фантазёр»

Прав, warp не работает — глазные яблоки пришлось бы перерисовывать.

«Я нашёл программу, которая сделала — shot10_gaze_v7_sight.png. Там можно менять только взгляд»

shot10_gaze_v7_sight — пользователь сделал в спец-программе

shot10_gaze_v7_sight — пользователь сделал в спец-программе

Вывод сессии: Gemini с иллюстративным промптом "посмотри туда-то" имеет огромный разброс — 20 попыток не дали стабильный результат. Для микроправок взгляда/мимики нужен специализированный tool (пользователь нашёл какой-то отдельный).

Советские обёртки

«Shot9_pov_candies_v10 — теперь нужно тут заменить конфеты на советские. Очень важно не менять размера и положения конфет, освещения, а только обёртки»

Gemini с любой формулировкой вернул идентичный файл — модель считала что задача "сохрани большую часть" важнее "поменяй обёртки". 3 попытки — ни одного изменения.

«Ну ты же понимаешь, что ты просто создаёшь иллюзию выбора. У тебя тут 2 варианта очевидно тупые, зачем так делать?»

Агент признал что у него нет хороших идей. Параллельно запустил Flux, Seedream 4K, Gemini с переставленными рефами — все плохо. Seedream отдал 454KB (деградация).

«Ну ты же понимаешь, что ты просто раз за разом предлагаешь "и так сойдёт". Чтоб тебе видеокарты ставили в твои дата-центры по такому принципу»

Пользователь решил проблему двухэтапно:
1. Попросил модель сделать обёртки однотонными (reset композиции)
2. Потом на результат — "сделай советскими конфетами, перечислил названия"

Это сломало "preservation bias" Gemini — модель перестала защищать исходник.

shot9_pov_candies_v10_soviet — пользователь сам двухэтапно

shot9_pov_candies_v10_soviet — пользователь сам двухэтапно
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Retouch this photograph: replace each candy in the pile with an equivalently-sized Soviet wrapped candy matching the style from @image2 — 'Красная Шапочка', 'Алёнка', 'Ласточка', 'Мишка косолапый'. Keep the exact position, size, scale, shape, and density of the pile unchanged. Keep the exact lighting unchanged. Keep the room, floor, walls, mannequin lower half, windows all unchanged. Only the candy wrappers change style — everything else identical. Black and white scene except the candies in full color.

«Вот почему я сам все сложные случаи делаю, без твоей помощи?»

Агент: "запомнил паттерн — для задач типа 'поменять только X' делать через промежуточный reset, а не прямую правку".

POV на конфеты: видео

«Давай делаем видео то же самое pov, только этот реф, а не старый. Помнишь промпт?»
«Кстати, как тебе идея, чтоб генератор видео сохранял параметры с которыми был запущен в лог»

Записал каждую генерацию в generations.log.jsonl. Нашёл предыдущий промпт для POV candy pickup.

v1: рука не ч/б (осталась цветной), движение "тянется в пустоту и материализует конфету из воздуха":

shot9_candy_pickup_pov_soviet_v1 — рука цветная, материализует конфету
params 720p · 5s · 16:9
prompt
@image1 as the first frame. @image2 — the bandit (his arm and hand).

0-1s: still POV shot, no motion.
1-2s: a man's hand in a worn black leather jacket sleeve enters from the bottom-right of the frame, reaching down toward the colorful candy pile.
2-3s: the hand picks up one wrapped candy from the pile and grips it between fingers.
3-5s: the hand slowly raises the candy up toward the camera, bringing it close to the viewer's eyes for inspection. The candy fills more of the frame as it approaches. It stays in full color.

Fixed camera, no camera movement. Scene strictly black and white except the candy and the pile.
Avoid jitter, avoid temporal flicker, avoid identity drift.

v2: добавил явно "hand and arm strictly black and white", "candy physically lifted out of the pile, does not appear from thin air":

shot9_candy_pickup_pov_soviet_v2 — УТВЕРЖДЁН
params 720p · 5s · 16:9
prompt
@image1 as the first frame. @image2 — the bandit.

0-1s: still POV shot, no motion. Scene in strict black and white except the candies in the pile which remain in full color.
1-2s: a hand in a worn black leather jacket sleeve enters from the bottom-right, reaching down TOWARD the candy pile.
2-3s: the hand's fingers make contact with the surface of the pile — the fingers close around one specific candy that is visible in the pile, grasping it by its wrapper.
3-4s: the hand lifts that candy OUT of the pile, pulling it upward.
4-5s: the hand raises the held candy up toward the camera for inspection.

The hand and arm are strictly black and white — only the candies remain colored. The candy being picked up exists in the pile first and is physically lifted out — it does not appear from thin air.

Fixed camera. Avoid jitter, avoid temporal flicker.

generations.log.jsonl: backfill + live append

«А что такое шел хистори? То есть мы можем этот лог сейчас сразу оттуда заполнить?»

Shell history в Claude Code не сохраняется между вызовами. Но есть транскрипт проекта — 46MB JSONL, где все команды. Написал backfill_generations_log.py — прошёл по транскрипту, извлёк 77 запусков seedance_video.py с параметрами (prompt, refs, duration, quality, aspect, model, task_id).

Дальше допилил seedance_video.py — каждый успешный запуск дописывает _append_log() в generations.log.jsonl.

«Также backfill оверрайдит лог, а не добавляет. Что это значит?»
«Так бекфилл зачем вообще нужен? Мы его один раз вызвали и всё»

Прав — backfill для разовой миграции, live-логгинг делает остальное.

Squat + поедание конфеты

«Теперь из shot10_gaze_v7_sight — сделаем кадр, где бандит присаживается на корточки, камера следует за ним, 4с, 720»

shot10_bandit_squat_v1 — УТВЕРЖДЁН, 4с
params 720p · 4s · 16:9
prompt
@image1 as the first frame. @image2 — the bandit.

0-1s: the man stands still, looking down.
1-4s: he squats down onto his haunches, slowly lowering his body by bending his knees. The camera tilts and pans downward to follow him, keeping him framed throughout the motion.

Black and white. No background music, no soundtrack. Avoid jitter, avoid identity drift.

«Кстати, давай везде явно писать, что музыка не нужна»

Добавил "No background music, no soundtrack" в промпт и в правило 18a.

«Теперь бы как-то сделать видео, как он есть конфету. Нужно сделать из последнего кадра приседа отдельный кадр бананой»

Extract last frame → shot10_squat_lastframe.png (720p, размыто). Gemini-апскейл до 2K:

shot10_squat_first_v1 — 2K first frame

shot10_squat_first_v1 — 2K first frame
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Reshoot this exact scene at high quality — same composition, same subject (bald stocky man squatting on the floor, dark wooden door behind, floral wallpaper, herringbone parquet), same lighting and framing, preserved pixel-for-pixel in composition. Only the resolution and detail quality increase. Strictly black and white, 35mm film grain.

Светящаяся конфета: v1-v8

v1: идеальное разворачивание, светящаяся жёлтая конфета красиво.

shot10_candy_eat_v1 — разворот красивый, но создал вторую конфету
params 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-3s: down in his lap, his hands work to unwrap a brick-shaped candy with a yellow wrapper — fingers pull at the yellow wrapper, crumpling it. Inside is a brick-shaped yellow candy that glows softly with a warm radiant light.
3-5s: he raises his right hand up toward his face, now holding the glowing yellow brick-shaped candy between his fingers.
5-7s: he brings the glowing yellow candy to his lips and places it in his mouth.

Black and white scene. The yellow wrapper and the glowing yellow brick candy are the only colored/bright elements in the frame. No background music, no soundtrack. Avoid jitter, avoid identity drift.

«Только он почему-то из светящейся конфеты достал ещё одну не светящуюся и её съел»

Модель "раздвоила" — создала вторую конфету для eating phase.

v2: явно "Only one candy exists", "no duplicate, nothing new produced" — раздвоение ушло, но конфета стала в 3 раза больше упаковки:

shot10_candy_eat_v2 — раздвоение ушло, но конфета гигантская
params 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-3s: down in his lap, his hands work to unwrap a brick-shaped candy with a yellow wrapper — fingers pull at the yellow wrapper, crumpling it. Inside is a brick-shaped yellow candy that glows softly with a warm radiant light.
3-5s: he raises his right hand up toward his face, now holding the glowing yellow brick-shaped candy between his fingers.
5-7s: he brings the SAME glowing yellow candy (the one already in his hand) to his lips and places it in his mouth. Only one candy exists in the entire shot — there is no second candy, no duplicate, nothing new produced.

Black and white scene. The yellow wrapper and the glowing yellow brick candy are the only colored/bright elements in the frame. No background music, no soundtrack. Avoid jitter, avoid identity drift, avoid creating duplicate candies.

«Он слишком долго разворачивает. И в v2 конфета стала больше раза в 3 после разворачивания, то есть содержимое больше упаковки»

v3: "quick two-motion unwrap", "same size as the wrapper":

shot10_candy_eat_v3 — обёртка сама спала, вторая рука не участвует
params 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-2s: down in his lap, a quick two-motion unwrap — fingers tear open the yellow wrapper swiftly. Inside is a brick-shaped yellow candy, the same size as the original wrapped candy (not larger, roughly matchbook-sized). The bare candy glows softly with a warm radiant light.
2-4s: he raises his right hand up toward his face, holding the glowing yellow brick candy between his fingers.
4-7s: he brings the SAME glowing yellow candy (the one already in his hand) to his lips and places it in his mouth. Only one candy exists in the entire shot.

Black and white scene. The yellow wrapper and the glowing yellow brick candy are the only colored/bright elements. The unwrapped candy size matches the wrapper — the content does not exceed the container. No background music, no soundtrack. Avoid jitter, avoid identity drift.

«Херня, теперь обёртка вообще сама спала, он даже не подносил вторую руку»

v4: явно "both hands", "left holds while right tears open":

shot10_candy_eat_v4 — обе руки, но конфета кубик огромный
params 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-2s: both his hands come together in his lap. His left hand holds the wrapped candy while his right hand grips one end of the wrapper and pulls, tearing it open in two quick motions. The yellow wrapper falls to the floor. Inside is a brick-shaped yellow candy, the same size as the wrapped original. The bare candy glows softly with a warm light.
2-4s: he raises his right hand up toward his face, holding the glowing yellow brick candy between his fingers.
4-7s: he brings the SAME glowing yellow candy (the one already in his hand) to his lips and places it in his mouth. Only one candy exists in the entire shot.

Black and white scene. The yellow wrapper and the glowing yellow brick candy are the only colored/bright elements. The unwrapped candy size matches the wrapper. No background music, no soundtrack. Avoid jitter, avoid identity drift.

«Разворот терпимый, но хуже чем в v1. Конфета опять сильно увеличилась — кубик огромный вместо брусочка»

Пользователь поймал ключевую проблему: "brick-shaped" → модель интерпретирует как строительный кирпич (кубический).

«Мне кажется, оно додумает не такую конфету как надо, ты пишешь small. Он подумает, что леденец или драже»
«Ты пишешь коробок, но конфета она с коробок только по длине, а по ширине в 2 раза меньше. Может, ты его этим сбиваешь?»

Агент объяснил: диффузионные модели не меряют сантиметры физически, но сравнение с "stick of chewing gum" работает как визуальный якорь.

«А почему он правильно понимает изначальный размер конфеты в упаковке?»

Инсайт: обёрнутая конфета привязана к руке в ref-кадре (рука + обёртка в руке — контекст). А развёрнутая генерится заново от слова "candy", и "brick-shaped" становится строительным кирпичом.

«То есть нужно не добавлять, а убрать то, что сбивает»

v5: убрал "brick-shaped" полностью — маленький жёлтый шарик. Не конфета:

shot10_candy_eat_v5 — шарик вместо конфеты
params 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-3s: both his hands come together in his lap. His left hand holds the wrapped candy while his right hand grips one end of the wrapper and pulls, tearing it open. The yellow wrapper falls to the floor. Inside is a small yellow candy that glows softly with a warm light.
3-5s: he raises his right hand up toward his face, holding the glowing yellow candy between his fingers.
5-7s: he brings the SAME glowing yellow candy (the one already in his hand) to his lips and places it in his mouth. Only one candy exists in the entire shot.

Black and white scene. The yellow wrapper and the glowing yellow candy are the only colored/bright elements. No background music, no soundtrack. Avoid jitter, avoid identity drift.

«В v1 не было формы у конфеты?»

Нашёл через grep generations.log:

v1: "hands work to unwrap a brick-shaped candy with a yellow wrapper"

В v1 было "brick-shaped" но размер корректный до разворачивания (контекст обёртки). После — модель взяла тот же стиль.

v6: v1-стиль распаковки + anti-dup — шарик остался:

shot10_candy_eat_v6 — v1-стиль unwrap, но шарик
params seedance · 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-3s: down in his lap, his hands work to unwrap a candy with a yellow wrapper — fingers pull at the yellow wrapper, crumpling it. Inside is a yellow candy that glows softly with a warm radiant light.
3-5s: he raises his right hand up toward his face, holding the glowing yellow candy between his fingers.
5-7s: he brings the SAME glowing yellow candy (the one already in his hand) to his lips and places it in his mouth. Only one candy exists in the entire shot.

Black and white scene. The yellow wrapper and the glowing yellow candy are the only colored/bright elements. No background music, no soundtrack. Avoid jitter, avoid identity drift.

v7: "rectangular bar candy in a yellow wrapper" — форма стала норм:

shot10_candy_eat_v7 — rectangular bar, но "убрал про статичную камеру"
params 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-3s: down in his lap, his hands work to unwrap a rectangular bar candy in a yellow wrapper — fingers pull at the yellow wrapper, crumpling it. Inside is a yellow candy that glows softly with a warm radiant light.
3-5s: he raises his right hand up toward his face, holding the glowing yellow candy between his fingers.
5-7s: he brings the SAME glowing yellow candy (the one already in his hand) to his lips and places it in his mouth. Only one candy exists in the entire shot.

Black and white scene. The yellow wrapper and the glowing yellow candy are the only colored/bright elements. No background music, no soundtrack. Avoid jitter, avoid identity drift.

«Кубическая, но разве хороший. А ты что убрал про статичную камеру?»

v8: вернул "Fixed camera, no camera movement" + "no text or labels on the wrapper":

shot10_candy_eat_v8 — УТВЕРЖДЁН
params 720p · 7s · 16:9
prompt
@image1 as the first frame. @image2 as the character appearance reference — the man in the video matches @image2 exactly in face, build, and clothing (bald, stocky, black leather jacket).

0-1s: the man is still, squatting on the floor.
1-3s: down in his lap, his hands work to unwrap a rectangular bar candy in a plain yellow wrapper (no text, no labels, no inscriptions) — fingers pull at the yellow wrapper, crumpling it. Inside is a yellow candy that glows softly with a warm radiant light.
3-5s: he raises his right hand up toward his face, holding the glowing yellow candy between his fingers.
5-7s: he brings the SAME glowing yellow candy (the one already in his hand) to his lips and places it in his mouth. Only one candy exists in the entire shot.

Fixed camera, no camera movement. Black and white scene. The yellow wrapper and the glowing yellow candy are the only colored/bright elements. No background music, no soundtrack. Avoid jitter, avoid identity drift, avoid text or labels on the wrapper.

«Коммит»

bb535e2 — shot9 pinata + shot10 squat/candy + generations log. b52ce1c — movie-workflow rules + hook в main repo.

Сцена 3: рубаха и деревня

«Ну что у нас дальше по сценарию?»

По сценарию после поедания — трип, деревня, жена, медведь, дети.

«Отдельный клоуз-ап не нужен, конечно там сразу деревня»

Цитата из сценария:

«КАРТИНКА СТАНОВИТСЯ НЕВЕРОЯТНО ЯРКОЙ И НАСЫЩЕННОЙ. Бандит, теперь одетый в простую рубаху, сидит на завалинке у бревенчатой избы. Вокруг — идиллический деревенский пейзаж. Светит солнце, поют птицы. К нему подходит красивая ЖЕНА в сарафане и кокошнике...»

Пользователь скорректировал:

«Я понял, ну скорее в сценарии неточно. Нужно: Играет медведь на балалайке. Румяные детишки танцуют рядом. К бандиту подходит ЖЕНА в сарафане и кокошнике. Жена нежно целует бандита несколько раз. Это всё один кадр на 8с. Камера динамическая»

Агент начал с first frame через Gemini.

«А думаешь тут нужен Gemini? Может дать Seedance свободу?»

Пользователь предложил дать Seedance генерить с char-ref'ом без зажатого первого кадра — модель сфантазирует деревню свободнее.

«Ну можно бандита цветного в рубахе сделать, кстати, сначала»

char_bandit_rubaha_v1: Gemini с ref'ом → IMAGE_OTHER.

char_bandit_rubaha_v2: без ref'а → получился похожий, но не наш бандит.

«Не понял, а почему лицо другое?»

Прав, без ref'а Gemini генерит обобщённого мужика.

«char_bandit_face.jpg — ты этот реф давал?»

Нет, давал ч/б. Попробовал цветной char_bandit_face.jpgv3 с нашим лицом в рубахе.

[missing] char_bandit_rubaha_v3 — наш бандит в рубахе
../archive/char_bandit_rubaha_v3.png

«shot5_bandit_closeup_v5.png — нужно этот реф лица»

v4: тот же бандит из shot5 closeup, в рубахе с красной вышивкой.

char_bandit_rubaha_v4 — с лицом из shot5

char_bandit_rubaha_v4 — с лицом из shot5
params banana · gemini-3-pro-image-preview · google · 2K · 16:9
prompt
Vivid color portrait photograph of the man from @image1 — same face (bald stocky middle-aged). He wears a traditional Russian peasant shirt (рубаха) — loose-fitting, off-white linen with red embroidered trim at neckline and cuffs. Simple dark trousers. Plain neutral background. Natural lighting. Frontal character reference pose, arms at sides. Photorealistic. 35mm.

На этом сессия прервалась.

Итог дня 5

За 5 часов:
- 20 попыток правки взгляда — Gemini не тянет микро-направление взгляда. Для таких правок нужен специализированный tool (пользователь нашёл стороннюю программу).
- Двухэтапный reset для Gemini: чтобы заменить элемент на изображении, сначала "сбросить до однотонного", потом "сделать в новом стиле". Прямая правка включает preservation bias.
- shot9_candy_pickup_pov_soviet_v2 — утверждён (POV рука берёт конфету, с явным "physically lifted out, does not appear from thin air").
- shot10_bandit_squat_v1 — утверждён (4с присед).
- shot10_candy_eat_v8 — утверждён (7с разворачивает и ест светящуюся жёлтую конфету).
- Урок про форму: "brick-shaped" → строительный кирпич. Физические сантиметры модель не понимает. Визуальные якоря из known объектов — лучше. Иногда убрать сбивающее слово важнее чем добавить описание.
- generations.log.jsonl + backfill_generations_log.py — 84 прошлых запуска логированы, каждый новый seedance_video.py live-append'ится.
- Правило 18a: в Seedance промпт всегда писать "No background music, no soundtrack" — по умолчанию модель добавляет фоновую музыку.
- char_bandit_rubaha_v4 — цветной бандит в рубахе для сцены 3 (деревня). Нужен цветной face-ref, не ч/б.