skills/ai-creatorship/frame-vfx-stylizer/SKILL.md
Convert source video into stylized frame-by-frame mixed-media animation using AI image editing. Three presets: white marker outline, painted background strokes, selective graphic fill. Use when asked to stylize a video frame-by-frame, add stop-motion effects, or create animated sketch overlays.
npx skillsauth add michailbul/laniameda-skills frame-vfx-stylizerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Purpose: Convert a source video into a stylized frame-by-frame mixed-media animation using AI image editing — white marker outlines, painted brush strokes, or selective graphic fill.
Use when: Creating editorial reels, music video overlays, fashion/cinematic social content, or any clip that needs an "AI-assisted hand-crafted" motion aesthetic.
Takes a video → explodes it into frames → runs an AI graphic effect on each frame → reassembles into a stylized clip.
Three distinct effect presets:
Output looks like stop-motion mixed-media animation. Feels handmade, editorial, cinematic.
| Input | Type | Notes |
|---|---|---|
| video | file path or URL | source clip to stylize |
| preset | enum | white-marker-outline / painted-background-strokes / selective-graphic-fill |
| timing_mode | enum | stop-motion (0.2s/frame) or smooth (0.04s/frame) |
| subject_focus | string (optional) | person, object, background, auto |
| style_modifiers | string (optional) | additional style direction, color, mood |
| Output | Description |
|---|---|
| output.mp4 | stylized video |
| preview.gif | lightweight preview |
| frames/ | folder of processed frame images |
| manifest.json | settings used: preset, timing, prompt, frame count |
white-marker-outlineVisual intent: White sketch/marker lines tracing selected contours of main subject and key shapes. Imperfect, rough, torn, hand-drawn feel. Best for music videos, editorial portraits, subject separation.
Production prompt:
Preserve the original composition, camera angle, subject identity, pose, clothing,
lighting, and scene structure. Add rough imperfect white hand-drawn marker lines that
trace only selected contours of the main subject and key shapes in the frame. The lines
should feel handmade, slightly torn, expressive, and editorial. Do not redraw the whole
image. Do not replace the subject. Keep the underlying footage visible.
painted-background-strokesVisual intent: Expressive painterly brush strokes in background and negative space only. Subject stays clean and readable. Best for moody cinematic scenes, atmospheric ambient clips.
Production prompt:
Preserve the original composition, subject identity, pose, foreground objects, lighting,
and framing. Add expressive painted brush strokes only into the background and
negative-space areas behind the subject. The brush strokes should feel gestural,
cinematic, textured, and emotionally charged. Do not cover the face unless explicitly
requested. Keep the subject readable and realistic.
selective-graphic-fillVisual intent: Partial paint-fill over hero object only. Feels like a deliberate hand-applied graphic accent. Best for emphasis beats, fashion, object-centric edits.
Production prompt:
Preserve the original composition, subject identity, pose, lighting, and environment.
Add a selective hand-painted graphic fill over the main subject or chosen object only,
as if part of the hero object is briefly painted over by hand. Keep the effect partial,
deliberate, and editorial. Do not fully repaint the full frame. Maintain recognizability
and scene coherence.
# Stop-motion: 5fps
ffmpeg -i input.mp4 -vf fps=5 frames/frame_%04d.png
# Smooth: 25fps
ffmpeg -i input.mp4 -vf fps=25 frames/frame_%04d.png
Run chosen preset prompt against each frame via image edit model. Enforce preservation constraints. Lock seed if tool supports it.
Review first / middle / last frame. Check for prompt drift, identity loss, composition shift. Tighten prompt if needed.
# Stop-motion (5fps)
ffmpeg -framerate 5 -i frames/processed_frame_%04d.png -c:v libx264 -pix_fmt yuv420p output.mp4
# Smooth (25fps)
ffmpeg -framerate 25 -i frames/processed_frame_%04d.png -c:v libx264 -pix_fmt yuv420p output.mp4
ffmpeg -i output_video.mp4 -i original.mp4 -c:v copy -c:a aac output_final.mp4
| Mode | Frame duration | fps | Vibe |
|---|---|---|---|
| stop-motion | 0.2s | ~5fps | Chunky, stylized, old-school stop-motion |
| smooth | 0.04s | ~25fps | Fluid, closer to normal motion |
| If you need... | Then use... |
|---|---|
| Rough indie / music video sketch feel | white-marker-outline + stop-motion |
| Moody cinematic without touching subject | painted-background-strokes |
| Hero-object emphasis hit | selective-graphic-fill |
| Long clip | Sample 10 frames first for style test, then full batch |
| Too much flicker | Reduce edit strength / tighten preservation prompt |
| Risk | Mitigation | |---|---| | Frame-to-frame flicker | Seed locking, tighter preservation prompt, lower denoise | | Subject identity loss | Add "Preserve subject identity, pose, face" to prompt | | Prompt drift on long clips | Process in batches of 20–30 frames |
development
Seedance 2.0 video prompt director. Converts plain-text scene descriptions into production-ready bilingual EN+ZH video prompts optimized for the Seedance 2.0 video generator. Handles all Seedance work — action (combat, pursuit, stunts), general (landscapes, journeys, atmosphere), dialogue (confrontations, negotiations, interrogations), and non-narrative commercial work (ad spots, music videos, fashion films, automotive inserts, product shots, pet/character demos, cutaway montages, social reels for TikTok / Reels / YouTube Shorts). Use whenever the user wants to create a Seedance video prompt, mentions Seedance, or describes a cinematic scene for video generation. For NARRATIVE screenplay-integrated work, use seedance-screenwriter instead.
development
Write Seedance 2.0 prompts in screenplay format for narrative storytelling — when the prompts will be cut into a film, short, or scene. Use whenever you're generating shots that will be edited into a continuous story with dialogue, character beats, scene continuity, or coverage. Pairs with the screenwriter skill — read the scene's screenplay first (or the project's `scene.md` if it exists), then translate each shot into a Seedance prompt that reads as a screenplay page, not as an engineering spec.
documentation
Скилл-инструмент для сценариста полнометражного фильма или сериала. Используй всегда, когда пользователь хочет писать сценарий, поэпизодник, разрабатывать сцены, бит-шит, диалоги, делать ревизии, считать экранное время, резать длину, работать с персонажами или мифологией истории. Скилл работает на основе методологий Макки, Кэмпбелла и Аристотеля, выдаёт Hollywood-формат .docx, поддерживает билингвальные сценарии (диалог на одном языке + перевод в скобках под ним), и помогает аудитировать структуру по причинности и движению ценности. Скилл не привязан к конкретной истории — пользователь приносит свою.
development
Extract shot composition DNA from any car photograph into structured JSON — camera angle, lens, framing, lighting — stripped of car-specific details. Then reuse extracted angles with any car identity to generate new images at scale. Use when: extracting angles from reference photos, building a shot library, batch-analyzing car photography, replicating a great angle with a different car, running extraction pipelines in Freepik or Flora. Triggers: "extract this angle", "steal this composition", "shot DNA", "analyze this car photo", "replicate this shot with my car", "batch extract angles", "car photography analysis", "angle extraction", "build a shot library".