agentleFS
shutckinshutckin/aivfx-content-kit/skills/film-look/SKILL.md

film-look

Skill1 starsChanged 38 days agoMITView on GitHub

Builds a look (one visual style) for image and video generation prompts and bakes it into the prompt for a specific model: Seedream, Nano Banana, GPT-Image, Midjourney, Seedance, Kling, Veo, Higgsfield and others. Removes AI over-sharpening, plastic smoothing and the HDR look and keeps one soft film style across a project. Three look levels (core, grade, video block), six bundled presets including the AIVFX studio look, a questionnaire for your own look, a prompt builder script that strips aspect ratio and breaker words, and a prompt checker. Use when writing or editing a generation prompt, when project frames look inconsistent, or when images are oversharpened or plastic. Triggers: 'look preset', 'film look prompt', 'style preset for image generation', 'remove AI sharpening'. Triggers (RU): «собери лук», «стиль для промптов», «пресет стиля», «плёночный вид», «убери перешарп», «убери мыло», «единый стиль кадров», «вшей лук в промпт».

The file

Files
SKILL.md

Лук для генеративных промптов

Instructions are in Russian. Respond in the user's language.

Зачем

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

Лук это короткий блок текста, который дописывается к каждому промпту проекта без изменений. Он описывает съёмку языком оператора: камера, оптика, плёнка, диафрагма, зерно, контраст. Модель знает, как выглядят настоящие камеры и плёнки, и тянет картинку к ним, а не к своему «улучшайзингу».

На чём работает

ЧтоЗачем здесь
Higgsfield, CLI или вебосновной вход в модели: Seedream 5 Pro и Nano Banana Pro или 2 для фото, Seedance, Kling, Veo для видео. CLI удобен для серий скриптом, но тратит кредиты и упирается в лимит параллельных задач; веб по подписке подходит для ручной работы
Агрегатор вроде Flowith или аналогтот же Nano Banana и другие модели через браузер, когда CLI не нужен
Пресет лука (этот скилл)один текст на весь проект, куда его ставить в промпте каждой модели, смотри таблицу «Куда вставлять лук по моделям»
Скрипты scripts/собирают промпт из сцены и пресета и проверяют готовый промпт на слова, ломающие лук
Агентпишет сцену, добавляет лук, передаёт соотношение сторон параметром
Владелецутверждает пресет по первым кадрам проекта, дальше он не меняется

Когда включать

  • Пишешь или правишь промпт для любой модели картинок или видео.
  • Правишь готовый кадр (i2i, точечная правка): ядро лука нужно и тут, оно удерживает модель от перешарпа исходника.
  • Кадры проекта выглядят как из разных фильмов.
  • Картинка пересушена, кожа пластиковая, небо как в HDR.
  • Нужно завести свой лук под новый проект или клиента.

Обложки статей делает article-cover, а лук для них берётся отсюда.

Три уровня лука

1. Ядро. Всегда, для фото и видео, в любой модели. Камера, оптика, плёнка, диафрагма, глубина резкости, ореолы, зерно, контраст, чёрные и в конце no sharpening, no HDR. Именно ядро лечит перешарп (no sharpening, low contrast, зерно) и пластик с HDR-видом (no HDR, приподнятые чёрные, ореолы). Из ядра ничего не выкидывай, даже если для предметки кажется лишним. Поле core в пресете.

2. Грейд. По умолчанию да, но снимается. Палитра и источники света: какой тон у кожи, какие цвета у дерева, ламп, окна, теней. Поле grade.

Грейд снимай (--no-grade или пресет без грейда) в двух случаях:

  • светлые интерьеры и предметка с фирменными цветами (упаковка, косметика, карточки маркетплейсов, продукт в точном цвете): тёплый грейд утягивает картинку в жёлтый монохром и уводит цвета бренда;
  • тёмная сцена с одной тёплой лампой: тёплый грейд поверх тёплого света даёт коричневое мыло.

И ещё когда задан холодный, монохромный, неоновый или клинический стиль, а грейд у пресета тёплый.

Оставляй грейд, когда в кадре люди, еда, lifestyle, интерьер в обычном смешанном свете и нет жёстких требований к цвету.

3. Видео-блок. Только для видео.

  • Строка движения камеры (поле video_motion), например Handheld with micro-drift, never locked off. Добавляй во все видео, кроме случаев, когда явно нужен штатив, слайдер, дрон или строгий оборот продукта.
  • Строка про живую игру и синхрон реплик (поле video_dialogue), например Naturalistic performance, real dialogue sync, no music. Только если в кадре говорят. В видео без реплик её не добавляй: модель начнёт рисовать говорящие головы.

В фото видео-блок не добавляй вообще.

Жёсткое правило: соотношение сторон только параметром

Соотношение сторон никогда не пишется в тексте промпта. Только параметром модели: --aspect_ratio 16:9, поле в интерфейсе, --ar 16:9 в Midjourney. Если в тексте стоит 4:3, а в параметре 9:16, модель кадрирует мимо: обрезает голову, ставит объект на край. В режиме i2i без параметра модели часто отдают квадрат 1:1.

build_prompt.py вырезает из сцены 4:3, 16:9, --ar ... и подобное, предупреждает и выводит соотношение отдельной строкой «Параметр модели».

Слова, которые ломают лук

Эти слова просят у модели цифровую резкость и рекламный пластик. С луком они спорят, и побеждают обычно они. Убирай их из сцены:

8k, 4k, 16k, ultra detailed, highly detailed, intricate details, hyperrealistic, ultra realistic, sharp focus, razor sharp, crisp details, HDR, masterpiece, best quality, high quality, octane render, unreal engine, trending on artstation и подобные.

Полный общий список в scripts/look_common.py (BANNED_COMMON). У каждого пресета есть свои дополнительные слова в banned_words: например для чёрно-белого лука ломает vibrant colors.

Вместо «резкости» работают слова про фактуру: natural skin texture, believable imperfections, natural imperfect sharpness.

Куда вставлять лук по моделям

МодельКудаЧто
Seedreamв конец основного описания, тем же абзацемядро (+ грейд)
Nano Bananaотдельным абзацем в концеядро (+ грейд)
GPT-Imageв блок Style:ядро (+ грейд)
Midjourneyперед параметрами --, --ar в самом концеядро (+ грейд)
Seedanceв конец, отдельным абзацем после описания камеры и стиляядро + грейд + видео-блок
Klingв блок Style:ядро + грейд + видео-блок
Veoв блок Style:ядро + грейд + видео-блок
Higgsfield (CLI и браузер)в конец --promptпо типу генерации: фото или видео
Прочиеотдельным абзацем в концеядро (+ грейд), для видео видео-блок

При правке готового кадра (i2i) ядро тоже добавляй. Для коротких инструкций правки («замени X на Y, остальное не трогай») ставь ядро последней фразой.

Если модель обрезает длинный промпт, сокращай сцену, а не ядро.

Скрипт сборки

python3 scripts/build_prompt.py --list
python3 scripts/build_prompt.py --preset dark-roast --model seedream --mode photo --aspect 3:4 "сцена"
python3 scripts/build_prompt.py --preset dark-roast --model kling --mode dialogue --aspect 9:16 --file scene.txt
python3 scripts/build_prompt.py --preset dark-roast --model nano-banana --mode photo --no-grade "сцена"
python3 scripts/build_prompt.py --preset my-look.json --model other --mode video "сцена"
  • --preset: имя из папки presets или путь к своему json.
  • --model: seedream, nano-banana, gpt-image, midjourney, seedance, kling, veo, higgsfield, other.
  • --mode: photo (только ядро и грейд), video (плюс движение камеры), dialogue (плюс строка про реплики).
  • --no-grade: без грейда.
  • --aspect: соотношение сторон. Для Midjourney уходит в --ar, для остальных печатается строкой «Параметр модели: aspect_ratio=...». Эту строку в промпт не вставляй, это значение для поля модели.

Готовый промпт идёт в stdout, предупреждения в stderr: что вырезано из сцены и почему. Скрипт только стандартная библиотека Python 3.

Скрипт проверки

python3 scripts/check_prompt.py prompt.txt --preset dark-roast --mode photo
python3 scripts/build_prompt.py ... 2>/dev/null | python3 scripts/check_prompt.py --preset dark-roast --mode dialogue

Ловит: ядро пресета не целиком (поправили одно слово, и это уже не тот лук), соотношение сторон в тексте, слова-ломатели, видео-блок в фото, строку реплик без диалога. Код выхода 1 при ошибках, 0 если чисто. Полезно для промптов, которые писали руками или правили после сборки.

Пресеты в комплекте

ПресетЧто этоКогда братьКогда не брать
dark-roastфирменный лук студии AIVFX: 35 мм, плёнка 500T, тёплая кожа, холодное окнолюди, интерьер, еда, lifestyle, обложки с человекомбренд-цвета, точный цвет продукта, холодный или неоновый стиль
neutral-productто же ядро без грейда, нейтральный баланс белогопредметка, маркетплейсы, упаковка, косметика, фирменные цветаатмосферные кадры с людьми
nordic-coldхолодный пасмурный свет, светлое дерево, приглушённая палитратехника, медицина, SaaS, минималистичные интерьерыеда, уют, тёплые бренды
neon-nightночной город, неон, мокрый асфальт, ореолы вокруг вывесокночная улица, бары, музыка, киберпанк-отсылкидневные сцены, точный цвет
documentary-16mm16 мм, дневная плёнка, ручная камера, живые локациирепортаж, путешествия, UGC, истории людейглянцевая реклама, предметка
silver-bwчёрно-белая плёнка Double-X, серебряное зернопортреты с характером, архивная подачацвет продукта или бренда важен

Подробные списки «брать / не брать» в самих json и в выводе --list.

Один проект, один лук. Смешивать пресеты внутри одной серии кадров нельзя: именно это даёт разнобой. Исключение: предметные кадры серии на neutral-product рядом с атмосферными на флагмане, у них общее ядро.

Свой лук с нуля

  1. Заполни опросник templates/look-brief.md: камера и формат, оптика, плёнка или сенсор, диафрагма и глубина, зерно, контраст и чёрные, палитра и источники света, кожа, движение камеры, что запрещено.
  2. Пиши реальными названиями: Cooke S4/i, Kodak Vision3 250D, Arriflex 416. Слова «кинематографично» и «красиво» модель понимает как угодно.
  3. Из референсов бери свет, палитру и фактуру (зерно, контраст, тон кожи), а не сюжет. Лук должен работать на любой сцене проекта.
  4. Ядро заканчивай no sharpening, no HDR. Соотношение сторон в ядро не пиши.
  5. Скопируй любой json из presets, заполни поля и проверь, что он читается: python3 -m json.tool my-look.json.

Как проверить лук

  • Один и тот же кадр с луком и без. Та же сцена, та же модель, тот же сид (если модель даёт его задать). Разница должна быть видна на глаз: мягче переходы, живая кожа, зерно, нет ореола перешарпа по контурам.
  • 2-3 варианта показать владельцу проекта до использования. Лук заходит в каждый кадр, поэтому ошибка в нём размножается. Пока нет «да», в работу не пускай.
  • Признаки, что лук не сработал:

    • контуры с белым ореолом, волосы и ресницы «нарисованы»;
    • кожа гладкая, как у куклы, без пор;
    • небо и окна без пересвета, всё видно и в тенях, и в светах (HDR);
    • чёрные глубокие и чистые, нет зерна;
    • цвет продукта уехал в тёплый (забыли снять грейд).

    Если так: ищи в сцене слова-ломатели (check_prompt.py), проверь, что ядро дошло целиком, а не обрезалось по длине промпта.

Чек-лист

  • Выбран один пресет на весь проект или собран свой по опроснику.
  • Ядро вставлено целиком, без правок.
  • Грейд снят, если есть бренд-цвета, точный цвет продукта или холодный, монохромный, неоновый стиль.
  • Видео-блок только в видео, строка реплик только если говорят.
  • Соотношение сторон передано параметром, в тексте его нет.
  • Слова-ломатели убраны из сцены.
  • Лук вставлен в то место, которое ждёт модель (таблица выше).
  • check_prompt.py даёт «Чисто».
  • Для нового лука: проверка «с луком и без», 2-3 варианта показаны, получено «да».

Связи с другими скиллами набора

  • article-cover: обложки статей. Пресет лука в конце каждого промпта обложки берётся отсюда, грейд снимается в тех же случаях, что выше.

Что устаревает первым

Имена и версии моделей, куда именно модель лучше принимает блок стиля, лимиты длины промпта. Названия камер, оптики и плёнок не устаревают. Таблица мест вставки проверена на октябрь 2026, перепроверь по справке модели перед работой.

Глубже

Библиотеку промптов студии, пресеты под конкретных клиентов и разбор, как лук ведёт себя в каждой модели на реальных проектах, студия AIVFX показывает в работе и в обучении: https://aivfx.ru.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.