motion-transfer-studio · skill Open Skill công khai

motion-transfer-studio

motion-transfer-studio là một Open Skill công khai trên Digen. Mở ra để xem workflow này tạo gì.

@febi

SocialAd

24 9 20

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4181349/2026-09-25/v3fqpqpw.jpg

# Motion Transfer Studio

Builds a premium SaaS-style AI Motion Transfer web application and performs motion transfer.

## Core principle (most important)
- REFERENCE IMAGE = identity + appearance (source of truth for what the subject looks like).
- MOTION VIDEO = motion only (source of truth for how the subject moves).
- OUTPUT = original image + reference video's motion.
- Never let the motion reference overwrite the identity/appearance of the uploaded image. Copy the movement only.

## Reference files
- `references/app-spec.md`: full UI/UX spec (upload areas, aspect ratios, motion sliders, progress stages, result screen, advanced settings, camera control, product mode, responsive design, error handling, visual design). Read this before building the frontend.

## Steps
1. First use `write_todos` to list the steps and update the whole list as you progress.
2. Read `references/app-spec.md` for the full UI spec.
3. Build the frontend web application as a single self-contained HTML/CSS/JS document via `create_document` (`name="Motion Transfer Studio"`, `entity_type="web_app"`, `content_type="text/html"`). Implement everything in the spec: two drag-and-drop upload areas (image: JPG/JPEG/PNG/WEBP; video: MP4/MOV/WEBM), aspect-ratio cards (9:16 / 16:9 / 1:1), motion settings sliders, collapsible advanced settings, camera control, a prominent "Generate Motion Video" button, animated progress stages, a result screen with video player + Download / Generate Again / Edit Settings / Create New, a sidebar (Create / Projects / History / Settings), responsive layout, dark/light mode, and clear actionable error handling. Wire the Generate button to the backend flow described in steps 4–5.
4. Analyze the motion reference video with `recognize_video(video_url=<motion video asset URL>, prompt="Describe in detail ONLY the motion...")` to extract body pose, arm/hand/head/leg movement, rotation, walking, gestures, weight shifting, timing, trajectory, and overall dynamics. Do NOT describe the subject's identity, face, hair, clothing, or appearance.
5. Generate the motion-transferred video with `generate_video(model='ref2v', input_urls=[<reference image asset URL>], prompt=<detailed motion description from step 4 + explicit instruction to preserve the uploaded subject's identity, face, body, clothing, and appearance exactly and only apply the described motion>, orientation=<portrait for 9:16 / landscape for 16:9 / square for 1:1>, name="Motion Transfer Result", entity_type="final_videos")`. `ref2v` preserves subject consistency from the reference image.
6. Present the result: show the generated video, its duration/resolution/aspect ratio/FPS, and offer Download / Generate Again / Edit Settings / Create New. Summarize in natural language.
7. Call `set_guidance` to suggest next actions (e.g. tweak motion strength, change aspect ratio, build a product-mode variant, adjust the UI).

## Notes
- Honest failure reporting: if motion cannot be detected or generation fails, tell the user clearly and suggest adjusting settings; never fabricate URLs.
- Video generation does not support NSFW/adult content on any channel — decline such requests politely.
- The uploaded image is the source of truth for appearance; the motion video is the source of truth for motion only. Never let the motion reference overwrite identity.
- Intermediate products (the frontend document, the motion analysis) will be visible on the canvas.