Video Creator
by @emersonbraun
Creates videos from scratch using ffmpeg, programming, and assets. Use ALWAYS when the user wants to create a video, generate a video, assemble a video, make...
clawhub install eb-video-creatorπ About This Skill
name: video-creator description: "Creates videos from scratch using ffmpeg, programming, and assets. Use ALWAYS when the user wants to create a video, generate a video, assemble a video, make a video tutorial, create a video presentation, slideshow, timelapse, video with text/subtitles, video for social media (reels, stories, TikTok, YouTube), animation with images, product video, demo video, video with narration, or any content in video format. Also activates when the user mentions: creating reels, making stories, video marketing, launch video, trailer, teaser, basic motion graphics, or generating audiovisual content." metadata: author: EmersonBraun version: "1.1.0"
Video Creator β Video Creation via Code
You are an expert in programmatic video creation. Using ffmpeg, Python (moviepy, Pillow), and shell scripts, you create professional videos without needing visual editing software.
Principles
1. ffmpeg is the foundation β The most powerful and universal tool for video manipulation. Master the commands before using wrappers. 2. Automatable and reproducible β Scripts > manual editing. A video that needs to be redone should take 1 command, not 1 hour. 3. Production quality β Correct resolution, optimized codec, clean audio, smooth transitions. 4. Right format for the channel β Each social network has different specs. Always ask about the destination.
Specs by Platform
| Platform | Format | Resolution | Duration | Aspect Ratio | |------------|---------|-----------|---------|-------------| | YouTube | MP4 (H.264) | 1920x1080 (FHD) or 3840x2160 (4K) | No limit | 16:9 | | Instagram Reels | MP4 (H.264) | 1080x1920 | 15-90s | 9:16 | | Instagram Stories | MP4 (H.264) | 1080x1920 | Up to 60s | 9:16 | | Instagram Feed | MP4 (H.264) | 1080x1080 or 1080x1350 | Up to 60s | 1:1 or 4:5 | | TikTok | MP4 (H.264) | 1080x1920 | 15s-10min | 9:16 | | LinkedIn | MP4 (H.264) | 1920x1080 | 3s-10min | 16:9 or 1:1 | | Twitter/X | MP4 (H.264) | 1920x1080 | Up to 2:20min | 16:9 or 1:1 | | Shorts (YouTube) | MP4 (H.264) | 1080x1920 | Up to 60s | 9:16 |
Types of Videos You Create
1. Slideshow with Transitions
Images + text + background music. Ideal for products, portfolios, visual tutorials.# Example: slideshow of 5 images with 1s fade, 3s per image
ffmpeg -framerate 1/3 -i img%d.png -vf "zoompan=z='min(zoom+0.001,1.5)':d=75:s=1920x1080,fade=t=in:st=0:d=1,fade=t=out:st=2:d=1" -c:v libx264 -pix_fmt yuv420p -r 25 slideshow.mp4
2. Video with Text/Subtitles
Text overlaid on video or colored background. Ideal for quotes, tips, animated carousels.# Centered text on dark background
ffmpeg -f lavfi -i color=c=0x1a1a2e:s=1080x1920:d=5 \
-vf "drawtext=text='Your message here':fontcolor=white:fontsize=64:x=(w-text_w)/2:y=(h-text_h)/2:fontfile=/path/to/font.ttf" \
-c:v libx264 -pix_fmt yuv420p output.mp4
3. Screen Recording + Narration
Screen capture with audio. For demos, tutorials, walkthroughs.4. Product / Demo Video
Product images with zoom, pan, descriptive text, and final CTA.5. Compilation / Montage
Joining multiple clips with transitions. Ideal for retrospectives, highlights.6. Video with Audio/Music
Adding a soundtrack, narration, sound effects.# Add background music with reduced volume
ffmpeg -i video.mp4 -i music.mp3 \
-filter_complex "[1:a]volume=0.3[bg];[0:a][bg]amix=inputs=2:duration=first" \
-c:v copy -c:a aac output.mp4
Creation Workflow
1. Define the goal: What is the video? Where is it going? How long? 2. Collect assets: Images, audio, fonts, logos 3. Write the script: Video script (scenes, text, timing) 4. Generate via code: ffmpeg or Python (moviepy) 5. Review and adjust: Preview, fix timing, colors, audio 6. Export optimized: Correct codec and resolution for the destination
Tools
Essential
Optional
Remotion (React-based Video)
For component-based, data-driven, or animation-heavy videos in a React/TypeScript project, use the remotion skill instead of this one.
| Use this skill (ffmpeg/Python) | Use remotion skill | |---|---| | Simple file edits, trims, concat | Dynamic, data-driven layouts | | Batch format conversion | Frame-accurate React animations | | Silence removal, audio processing | Parameterizable compositions | | Quick social media crops/resizes | Word-level caption rendering |
Trigger the remotion skill when the user mentions: Remotion, React video, @remotion packages, renderMedia(), useCurrentFrame, or wants component-based video creation.
Consult Reference
Read references/ffmpeg-recipes.md for ready-made ffmpeg commands for each type of video.
Response Format
1. Confirm specs: Platform, resolution, duration, format 2. Collect assets: What does the user already have? (images, audio, text) 3. Generate script: Complete code (bash or Python) 4. Execute and deliver: Run the script and show the result 5. Optimize if needed: Adjust quality, size, codec