Skip to content
Back to skills

film-look

ASecurity

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 as...

  • 1 star
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 8, 2026
ai-agentspythonperformance

Works with

  • cli

Security analysis

A100/100

Pro scans all 14 files and shows the line behind each finding

Scanned October 8, 2026

npx -y skills add shutckin/aivfx-content-kit --skill film-look --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of film-look?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for film-look
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shutckin-film-look/badge)](https://www.skillsdirectory.com/skills/shutckin-film-look)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: film-look
description: "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): «собери лук», «стиль для промптов», «пресет стиля», «плёночный вид», «убери перешарп», «убери мыло», «единый стиль кадров», «вшей лук в промпт»."
---

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

> 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-16mm` | 16 мм, дневная плёнка, ручная камера, живые локации | репортаж, путешествия, 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.

Files in this skill

  • SKILL.md19.2 KB
  • examples/01-portrait-seedream-photo.md2.7 KB
  • examples/02-product-nano-banana-no-grade.md2.8 KB
  • examples/03-dialogue-video-kling-seedance.md3.7 KB
  • presets/dark-roast.json1.4 KB
  • presets/documentary-16mm.json1.3 KB
  • presets/neon-night.json1.4 KB
  • presets/neutral-product.json1.2 KB
  • presets/nordic-cold.json1.3 KB
  • presets/silver-bw.json1.3 KB
  • scripts/build_prompt.py6.9 KB
  • scripts/check_prompt.py4.6 KB
  • scripts/look_common.py5.4 KB
  • templates/look-brief.md4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.