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