Motion Graphics Animator · مهارة Open Skill عامة

Motion Graphics Animator

Replica o fluxo manual de motion graphics: (1) análise visual da arte pra identificar texto, objetos e efeitos de luz; (2) separação em camadas com posição própria no eixo Z; (3) escolha do movimento de cada camada — texto sempre letra por letra, quanto mais elementos animados, melhor; (4) integração de luz/brilho como camada animada própria; (5) montagem progressiva a partir de tela vazia; (6) loop perfeito quando o vídeo tem 10s (frame final = frame inicial); (7) câmera se move no eixo Z pra dar profundidade, nunca escala de objeto. Baseado em lógica de expressões do After Effects (easing, peso, motion blur). Status: ainda em fase de validação — regras de profundidade/câmera e isolamento de camadas não foram testadas contra os modelos reais da Digen.

@Bira

Programmatic

6 1 6

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/2160607/2026-09-24/y48sdp5e.png

# Motion Graphics Animator

## Overview

Transforms a static design (logo, flyer, Photoshop art, social media post) into a short motion graphics video by replicating a professional AE-style animation workflow: analyze the scene, split it into layers, animate each layer with its own motion, integrate lighting, and fake camera depth by moving the *camera* along the Z axis instead of scaling elements.

## Tool Roles

| Tool | Role in this skill |
|------|--------------------|
| `recognize_image` | Stage 1 — read the source art and identify its elements (text, objects, existing light/shadow) |
| `split_image` | Stage 2 — separate the source art into individual layers |
| `generate_image` | Stage 2 — regenerate/complete a layer that doesn't come out clean from the split (e.g. background left behind an extracted object) |
| `upscale_image` | Stage 2 — upscale any layer that comes out low-resolution before it goes into animation |
| `generate_video_director` | Stages 3–5 — the control layer: per-layer motion, timing/entry order, and the camera move that creates Z-depth |
| `generate_video` | Stage 7 — the underlying render engine invoked by `generate_video_director` to produce the final clip |
| `mix_clips` | Optional — concatenate multiple rendered clips into one final delivery |

## Hard Rules

1. **Never scale objects to fake depth.** Depth comes from placing layers at different Z-axis positions (back → front) and moving the *camera* (`generate_video_director`), not from resizing elements in frame.
2. **More independent moving elements = better.** Avoid animating the artwork as a single flat image; the source must be decomposed into layers first (`split_image`).
3. **Text animates letter by letter**, not as a single block fade/slide, unless the user explicitly asks for whole-word motion.
4. **Start from an empty frame and build progressively.** The canonical opening state is blank; elements enter one by one in the order that reads best (background → midground → foreground → text → final lighting pass), never all at once.
5. **Default to a seamless loop** (last frame state = first frame state) so a ~10s clip can repeat infinitely, unless the user asks for a one-shot (non-looping) animation.
6. **Motion must follow After-Effects animation logic**: easing curves (not linear), weight/inertia on movement, and motion blur on fast-moving elements — never robotic constant-speed motion.
7. **Lighting is a pass of its own.** Identify what light sources/highlights exist in the source art (`recognize_image`) and animate them (glints, glows, rim light) as part of the layer choreography, not baked statically into one layer.
8. **Duration = 10s default** unless the source content (e.g. more text, more layers) genuinely needs more.
9. **Never invent a still-image "storyboard" for this skill** — since the source art itself is the visual reference, describe the animation plan as a layer/timing table (see Production Stages), not as generated preview images, unless a layer must be regenerated/extended (see Stage 2).
10. **Report failures honestly**; never fabricate a render URL or claim a loop is seamless without checking first/last frame match.

## Production Stages

| # | Stage | Tool(s) | What happens |
|---|-------|---------|--------------|
| 1 | Scene analysis | `recognize_image` | Identify text blocks, objects/icons, background, and existing light/shadow effects in the source art. Note what's foreground vs. background. |
| 2 | Layer separation | `split_image`, `generate_image`, `upscale_image` | Isolate each element as its own layer; regenerate any incomplete layer; upscale any low-res layer. Assign each layer a Z-depth position. |
| 3 | Motion assignment | `generate_video_director` | For each layer, choose its motion (slide, fade, scale-in, letter-by-letter reveal for text, etc.) and its entry order into the empty frame. More independent motions > fewer. |
| 4 | Lighting pass | `generate_video_director` | Choreograph highlights/glow/rim-light