Что показано
Notion-страница с одним промптом на все случаи и коротким объяснением, как его подгонять под свою идею. Автор страницы (@viznfr) честно признаёт: сам приём не его - это промпт-фреймворк аккаунта @twoclipping (он же «zero»), который тот выложил в открытый доступ несколькими днями раньше. @viznfr просто пересобрал раскадровку под свою тему («это видео → 0 монтажёров → просто промпт → Opus 5.5 → @viznfr») и, кстати, явно просит в конце ссылаться на первоисточник, а не выдавать шаблон за свой.
Почему это работает
Вся хитрость не в промпт-инжиниринге, а в том, как устроена анимация технически. Ролик строится не как таймлайн с кейфреймами, а как чистая функция от времени: есть функция seek(t), и она должна возвращать корректный кадр для любого t без побочных эффектов - без CSS-переходов, без таймеров, без накопленного состояния. Спрайновая физика считается как сумма закрытых аналитических откликов, а не через живую симуляцию. То есть никакой физики в реальном времени, только расчёт по формуле для любого момента.
Отсюда, собственно, и вылезает главный практический бонус: агент может сам себя проверить. Промпт прямо требует до полного рендера построить «contact sheet» - кадры-стоп-моушены с каждого из 16 тактов - и вычитать их на предмет наезжающего текста, кривых отступов, обрезанного курсора и мёртвых пауз. Обычный видеоролик модель оценить не может (видео это не картинка), а вот стопку из 16 статичных PNG - вполне.
Ролик - не таймлайн, а функция от времени: любой кадр можно посчитать напрямую, поэтому агент способен вычитать свою же анимацию, как стопку скриншотов, ещё до рендера.
В общем, второе, что реально экономит время: промпт заранее закрывает вопрос «а что должно получиться», требуя от Claude Code сначала текстом описать все 16 тактов и действия курсора и ждать вашего «ок» - и только потом писать код. Без этого шага агент обычно либо угадывает не то, либо тратит рендеры на переделки.
Как повторить
- Установите
Claude Code, откройте терминал в пустой рабочей папке. - Скопируйте промпт целиком (ниже) и вставьте его в Claude Code как первое сообщение.
Create an 8-second vertical 9:16 motion-design animation for Instagram Reels.
1080 × 1920.
60fps.
120 BPM.
16 beats / 4 bars.
Exactly 8 seconds.
CORE IDEA
One shape. Never cut.
Every interface, card, editor, timeline, command field and title is the SAME continuous object transforming into the next state.
The animation tells this story:
THIS VIDEO
→
0 CODE
→
0 AFTER EFFECTS
→
0 EDITORS
→
0 MOTION DESIGNERS
→
make it move
→
JUST A PROMPT
→
MADE ON
→
OPUS 5.5
→
@VIZNFR
The entire sequence should feel like one continuous piece of premium motion design rather than separate scenes.
VISUAL STYLE
Smooth, minimal, premium UI motion.
Background:
warm off-white #ECEAE6
Primary UI:
near-black #0E0E0D
Secondary dark surfaces:
#1E1E1C
#2C2C29
Primary light text:
#FAFAF8
Muted text:
#8A8883
Accent:
signal orange #FF5B1F
Typography:
Geist
Geist Mono for code / command-line elements.
No gradients.
No glow.
No particles.
No excessive bounce.
No generic template transitions.
No unnecessary decoration.
Use strong typography and large compositions designed specifically for a vertical phone screen.
Keep important elements inside Instagram Reel safe areas.
MOTION LANGUAGE
One continuous transforming object.
Never hard-cut between states.
The object's:
- width
- height
- radius
- internal layout
- content
- position
can transform continuously.
Use controlled closed-form spring motion.
Maximum overshoot approximately 2%.
Avoid exaggerated bouncy easing.
Text swaps should have their own entrance and exit timing.
Use short directional motion blur when typography changes.
A cursor should physically drive interactions wherever appropriate:
- clicking
- selecting
- dragging
- typing
- pressing Enter
The cursor should feel connected to the animation rather than decorative.
Camera scale can change between states so every important state fills the vertical frame.
Do not leave large amounts of dead space.
STORYBOARD
BEAT 1
Begin immediately.
A compact near-black pill/card exists on the warm off-white canvas.
Large text:
THIS VIDEO
Cursor approaches.
The composition should instantly establish the visual language.
BEAT 2
Cursor clicks.
The same object stretches and transforms into a compact code-editor interface.
Brief believable code structure appears inside.
Do not show excessive readable code.
This is primarily a visual transition.
BEATS 3–4
The code interface compresses and transforms.
Huge typography resolves:
0
CODE
Make the "0" visually dominant.
Hold long enough to read clearly.
The cursor continues moving naturally toward the next interaction.
BEATS 5–6
The same object transforms into a recognizable motion-design interface.
Use visual cues such as:
- composition viewport
- small layer structure
- keyframe-like controls
Do NOT copy any real software interface exactly.
The interface then collapses/transforms into:
0
AFTER EFFECTS
Large, bold and instantly readable.
BEATS 7–8
The object stretches horizontally into a video-editing timeline.
Use recognizable abstract editing-language:
- tracks
- clips
- playhead
The cursor quickly interacts with the timeline.
The timeline compresses and transforms into:
0
EDITORS
Keep typography large.
BEATS 9–10
The same container transforms into a motion-curve / graph editor.
Show smooth animation curves and control points.
The cursor briefly manipulates one of the curves.
The graph then transforms into:
0
MOTION DESIGNERS
"MOTION DESIGNERS" must remain readable on a phone.
Do not cram the typography.
Use two lines if necessary.
BEAT 11
The object compresses into a command-input field.
Cursor clicks inside.
Type:
make it move
Use Geist Mono.
Show a visible blinking caret.
Typing should feel quick and tactile.
BEAT 12
Hold:
make it move█
briefly.
Then the cursor / keyboard interaction presses Enter.
The command field responds physically.
Show a minimal check / confirmation state.
The response should feel satisfying but restrained.
No confetti or celebration effects.
BEAT 13
The command field expands dramatically.
Large typography resolves:
JUST A
PROMPT
This should feel like the reveal explaining everything the viewer just saw.
Keep it extremely readable.
BEAT 14
The same geometry transforms again.
First reveal:
MADE ON
Then rapidly transform/emphasize:
OPUS 5.5
OPUS 5.5 should become the dominant element.
Use the orange accent strategically during the transformation.
Do not make the entire screen orange.
BEAT 15
OPUS 5.5 transforms into the final creator credit:
@VIZNFR
Make @VIZNFR large and dominant.
This is the final branding payoff.
Give it enough visual stability to actually register.
Do not make it a tiny footer.
BEAT 16
Collapse the final @VIZNFR composition back toward the geometry/state used at the beginning.
The motion should complete cleanly on the musical downbeat.
If creating a looping version, make the final frame mathematically identical to the first frame.
Cursor position and cursor velocity must also match the beginning so the loop does not stutter.
TIMING
120 BPM.
16 beats = exactly 8 seconds.
Something meaningful happens on every beat.
Do not allow dead time.
However, readability is more important than cramming extra animation into every moment.
The important text states must have enough screen time to register:
0 CODE
0 AFTER EFFECTS
0 EDITORS
0 MOTION DESIGNERS
JUST A PROMPT
OPUS 5.5
@VIZNFR
The command interaction receives TWO beats because typing and confirmation need to remain readable.
TECHNICAL BUILD
Build the animation deterministically.
All animation state must be derived from time inside:
seek(t)
No CSS transitions.
No timers.
No accumulated frame state.
Seeking directly to any timestamp must produce the correct frame.
Use closed-form spring step responses.
If a property changes target multiple times, calculate it as the sum of spring responses so the animation remains a pure function of time.
Cursor interactions must also be deterministic.
For dragging interactions, calculate the controlled value directly from cursor position while held.
On release, transition back into spring-driven motion.
TEXT
Text inside transforming containers needs independent entrance and exit timing.
Do not allow old and new labels to overlap.
Avoid blurry text caused by scaling.
Do not apply will-change to elements being heavily camera-scaled if it causes text rasterization problems.
MOTION BLUR
Render at 60fps.
Use temporal supersampling.
Target approximately a 180-degree shutter feel.
For example:
render 4 temporal subframes per final frame and blend them for natural motion blur.
Motion blur should improve fast transformations without making typography unreadable.
CAMERA
The camera should subtly reframe and scale so each important state occupies a meaningful amount of the 9:16 canvas.
Do not simply leave one small object floating in the center for eight seconds.
Camera movement must feel motivated by the transforming object.
No aggressive cinematic camera movement.
No fake depth-of-field.
QUALITY CONTROL
Before rendering the final video:
Render a representative frame from every beat.
Create a contact sheet showing all 16 beats.
Check for:
- text collisions
- unreadable typography
- bad line breaks
- inconsistent margins
- cramped UI
- cursor collisions
- elements outside safe areas
- inconsistent icon strokes
- excessive spring overshoot
- blurry text
- dead frames
Fix those problems before the full render.
IMPORTANT
This should NOT look like a slideshow of different UI screens.
The core visual trick is that everything feels physically related.
THIS VIDEO becomes the editor.
The editor becomes 0 CODE.
That geometry becomes the motion interface.
The motion interface becomes 0 AFTER EFFECTS.
That becomes the timeline.
The timeline becomes 0 EDITORS.
That becomes the graph editor.
The graph becomes 0 MOTION DESIGNERS.
That becomes the command field.
The command becomes JUST A PROMPT.
That becomes OPUS 5.5.
That becomes @VIZNFR.
One object.
One continuous visual system.
No cuts.
START
Before writing any code:
1. Show me the complete 16-beat storyboard.
2. Explain what the continuous object becomes on every beat.
3. Explain the cursor action on every beat.
4. Flag any readability or timing problems you anticipate.
5. Wait for my approval before implementing the animation.- Нажмите Enter и не пытайтесь угадать за агента. Промпт сам требует от Claude Code сначала расписать все 16 тактов текстом, объяснить, во что превращается объект на каждом такте, действия курсора и потенциальные проблемы с читаемостью - и ждать вашего одобрения.
- Ответьте на уточняющие вопросы, если агент их задаст (какие UI-состояния показывать, какой акцентный цвет, в какой последовательности идти) - это не гарантированный шаг промпта, а поведение самого Claude Code, зависит от режима и модели.
- После одобрения раскадровки дайте агенту построить и провалидировать contact sheet - лист из 16 стоп-кадров - прежде чем он уйдёт в полный рендер. Технику проверки боты требуют явно, автор её не выдумал.
- Если хотите свою тему вместо «монтажёров и Opus 5.5» - не редактируйте промпт руками. Вставьте его целиком в отдельный чат (Claude или ChatGPT) с описанием своей идеи и попросите переписать раскадровку, сохранив техническую часть (
seek(t), spring-физику, contact sheet). Готовый переписанный промпт вставьте обратно в Claude Code. - Промпт не называет конкретный рендер-движок - решать это будет сам Claude Code. Это уже не только предположение: более подробная версия того же промпта у первоисточника (см. ссылки) явно требует HTML-страницу и рендер через Playwright с ffmpeg на сборке, и сторонний пользователь, прогнавший именно этот промпт, в своём посте подтвердил ровно ту же связку - Playwright, headless-окно, ffmpeg, функция
seek. Так что агент почти наверняка придёт к тому же и здесь.
Ссылки и ресурсы
- Демо-видео из ролика - тот самый готовый ролик, на который ссылается страница; смотреть бесплатно, HTTP 200, но у ссылки есть срок годности (в самом адресе зашит
expirationTimestamp), может умереть позже. - Notion-страница с полным промптом - первоисточник этой карточки, бесплатная публичная страница; рендерится только в браузере с JS, обычным curl или простым fetch с неё ничего не вытащить.
- Оригинальный пост «zero» / @twoclipping в X, от 24.09.2026 - откуда пошла техника; бесплатно, для просмотра логин не нужен (может потребоваться при геоблокировке).
- Более подробная версия того же промпт-фреймворка от «zero» / @twoclipping в каталоге YouMind - бесплатно; квадрат 1440×1440 вместо вертикали, но та же механика: Playwright для рендера,
ffmpeg tmixдля motion blur, numpy для разбора ритма трека по битам. Подтверждает и авторство, и то, чем в итоге рендерится видео. - Независимое подтверждение рендер-движка - сторонний пользователь (@__morse) прогнал тот же промпт и написал прямо: код лёг в один
index.html, Opus 5.5 отрендерил его через Playwright покадрово в headless-окне, собрал mp4 через ffmpeg, использовал функциюseek. Бесплатно почитать, без логина. - Аккаунты @viznfr и @twoclipping в X - оба живые, при повторной проверке открылись нормально (первая попытка отдала 402, со стандартным браузерным заголовком - 200). У @twoclipping в шапке профиля стоит имя «zero» - совпадает с тем, как автора называет карточка.
Claude Code+ модельOpus 5.5- вход платный: нужна подпискаClaude Pro(от 20 $/мес) или тариф выше, оба дают доступ и к Opus, и к Claude Code.
Проверочный прогон
Дайте Claude Code сначала напечатать раскадровку текстом - в ней должны быть все 16 тактов, для каждого понятно, во что превращается фигура и что делает курсор. Если раскадровка расплывчата или агент молча начинает писать код - промпт не сработал так, как задуман, остановите и попросите вернуться к шагу START.
Дальше должен появиться contact sheet - 16 картинок-кадров. На них ищите ровно то, что перечислено в промпте: наезжающий текст, обрезанные элементы за пределами безопасной зоны, застрявший курсор, мёртвые кадры без движения. Если агент показывает contact sheet и сам находит на нём проблемы - механика самопроверки работает, как задумано.
Финал - восьмисекундный вертикальный ролик, где смена состояний не читается как склейка кадров, а ощущается одной непрерывной трансформацией. Если в середине виден резкий скачок или фигура на мгновение пропадает - хартката всё-таки проскочила, несмотря на промпт.
Где это пригодится
Если вы делаете рилсы или тизеры для своего продукта и держите в штате не мотion-дизайнера, а просто человека с Claude Code - вот замена ручной анимации в After Effects на текстовое описание. Годится и для UI-концептов запуска, и для промо в духе «weiter without a designer».
Хорошо ложится туда, где нужен ролик про сам продукт как процесс: не набор скриншотов, а ощущение одной вещи, которая на глазах становится другой. Получается, для рекламных креативов с внешним видеорядом (реальные кадры, лица, интерьеры) это не подходит - вся техника рассчитана именно на UI-морфинг.
Оговорки
- Промпт - не оригинал @viznfr. Автор Notion-страницы сам это признаёт внизу и советует указывать первоисточник: техника принадлежит аккаунту «zero» (@twoclipping), опубликована 24.09.2026, подтверждена и прямой ссылкой на исходный пост, и каталогом YouMind с более подробной версией того же приёма.
- Рендер-движок не назван прямо в этой версии промпта. Но это уже не голое предположение: более подробная версия того же фреймворка у первоисточника называет Playwright,
ffmpeg tmixи numpy для битов, и сторонний пользователь, прогнавший именно этот промпт, независимо подтвердил ту же связку в своём посте. Остаётся не фактом с этой конкретной страницы, но фактом по первоисточнику и по чужому прогону. - Тайминги и % кредитов - слова автора. «~20 минут» и «<3% кредитов» никак не подтверждены и зависят от вашего тарифа и от того, с какого раза агент пройдёт QC-чеклист - я эти цифры не проверял. Плюс вход не бесплатный: нужна подписка
Claude Proот 20 $/мес или выше. - Демо-видео на времянке. Ссылка на mp4 - файл Notion со встроенным сроком годности в самом адресе, рано или поздно перестанет открываться.
- «Claude будет спрашивать перед стартом» - не гарантия. Уточняющие вопросы про UI-состояния и цвет - это поведение модели и режима, а не жёсткое условие промпта; в других настройках Claude Code может сразу начать строить без диалога.