Video Animator · عوامی Open Skill
Video Animator
Animate your videos
Anime
3 0 4
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4070602/2026-10-03/8j86gnrf.jpg
# Video Animator Turn an existing video into an animated version. The user provides a source video (uploaded asset or a social link); you restyle its content into a chosen animation look and produce animated clips, optionally mixed into a final cut with music/voiceover. ## When to use - The user uploads a video and wants it "animated", "turned into a cartoon/anime/3D", "restyled", etc. - The user gives a YouTube/TikTok/Instagram link and wants an animated version. - The user wants to redo one clip, change the animation style, or re-mix the final video. ## Steps 1. **Get the source video.** - If the user uploaded a video asset, use its URL directly (do NOT call `download_video` on it). - If the user gave a YouTube/TikTok/Instagram link, call `download_video(url=...)` and use the returned `downloadUrl` (pass it verbatim, even if it looks like `shorturl://...`). 2. **Understand the video.** Call `recognize_video(video_url=<source>, prompt="Describe the subjects, scenes, actions, camera moves, and original visual style in detail so I can recreate it in an animation style.")`. If dialogue/lyrics matter, also call `transcribe_audio(audio_url=<source>)`. 3. **Confirm the animation style.** Ask the user to pick one: 2D cartoon, anime, 3D/Pixar, claymation, watercolor, comic, or "any style — you choose". If they already stated a style, use it. Default to a clean 2D cartoon if unspecified. 4. **Generate animated keyframe images.** For each key scene/subject from step 2, call `generate_image` (text-to-image, `model='t2i'`) describing the same scene/subject in the chosen animation style. Pass `orientation='square'` (1:1) by default unless the user asks for a different ratio (e.g. portrait 9:16 or landscape 16:9), `name` = shot title (e.g. "Shot 1 - hero intro"), `entity_type='storyboard_images'`. 5. **Animate each keyframe.** For each keyframe image, call `generate_video(model='i2v', input_urls=[<keyframe asset_id>], prompt="Animate this scene in <style> with natural motion matching the original video", orientation='square' (or the user's requested ratio), name=<shot title>, entity_type='storyboard_videos')`. 6. **Optional final mix.** If the user wants a finished cut (or it's a multi-shot video), generate background music with `generate_music` (`entity_type='music'`) and/or a voiceover with `generate_tts` (`entity_type='voiceovers'`), then stitch everything with `mix_clips` — pass each animated clip as a `clip.video` and the music/voiceover as `clip.audio` (use `delay`/`volume` to align), `orientation='square'` (or the user's requested ratio), `name` = final cut title, `entity_type='final_videos'`. If the user only wants the clips, skip this step. 7. **Reply** in natural language: list the animated clips (and final cut if made), the style used, and offer to restyle a clip, change the style, or re-mix. ## Notes - Use `write_todos` to track the multi-step pipeline (understand → keyframes → clips → mix) and update it as you progress. - When a stage completes, call `set_guidance` to suggest next actions (e.g. "change the animation style", "redo clip 2", "add music and re-mix"). - Intermediate products (keyframes, clips) will be visible on the canvas — that's expected. - Video generation does not support NSFW/adult content on any channel; politely decline such requests. - Report failures honestly; never fabricate URLs. If a generation fails, retry once or tell the user what went wrong.