Video Ad Specs
When to Use
Use this skill as needed to perform the specified automation task.
Create platform-specific video ads via inference.sh CLI.
Quick Start
curl -fsSL https://cli.inference.sh | sh && infsh login
# Generate a vertical video ad scene
infsh app run bytedance/seedance-1-5-pro --input '{
"prompt": "vertical video, person excitedly unboxing a product, clean modern room, bright natural lighting, social media ad style, authentic feeling, 9:16 format"
}'
Platform Specifications
TikTok
| Spec |
Value |
| Aspect ratio |
9:16 (vertical) |
| Resolution |
1080 x 1920 px |
| Duration |
5-60 seconds (15-30s recommended) |
| File size |
Max 500 MB |
| Format |
MP4, MOV |
| Sound |
On by default (design with sound) |
| Text safe zone |
150px from all edges |
| Hook window |
1 second — first frame must grab attention |
Instagram Reels
| Spec |
Value |
| Aspect ratio |
9:16 (vertical) |
| Resolution |
1080 x 1920 px |
| Duration |
Up to 90 seconds (15-30s for ads) |
| Cover image |
Separate upload, shows in grid |
| Sound |
On by default |
| Caption area |
Bottom 20% reserved for text overlay |
Instagram Stories
| Spec |
Value |
| Aspect ratio |
9:16 |
| Resolution |
1080 x 1920 px |
| Duration |
Up to 15 seconds per segment |
| Swipe-up/Link |
Available for ads |
| Top/bottom |
14% top and 20% bottom = unsafe for key content |
YouTube
| Format |
Aspect |
Duration |
Skip |
| Bumper |
16:9 |
6 seconds exactly |
Non-skippable |
| Non-skippable |
16:9 |
15 seconds |
Non-skippable |
| Skippable (TrueView) |
16:9 |
Any length |
Skip after 5 seconds |
| Shorts |
9:16 |
Up to 60 seconds |
N/A |
Resolution: 1920 x 1080 (16:9) or 1080 x 1920 (Shorts)
Facebook Feed
| Spec |
Value |
| Aspect ratio |
1:1 (square) or 4:5 (recommended for mobile) |
| Resolution |
1080 x 1080 or 1080 x 1350 |
| Duration |
Up to 240 min (15-30s recommended) |
| Autoplay |
Silent — captions are essential |
| Sound |
85% of Facebook video is watched without sound |
LinkedIn
| Spec |
Value |
| Aspect ratio |
1:1 or 16:9 |
| Resolution |
1080 x 1080 or 1920 x 1080 |
| Duration |
3 seconds to 10 minutes (15-30s for ads) |
| Tone |
Professional |
| Autoplay |
Silent in feed |
AIDA Framework for Video Ads
| Phase |
Time |
Goal |
Technique |
| Attention |
0-3s |
Stop the scroll |
Pattern interrupt, bold visual, question |
| Interest |
3-10s |
Keep watching |
State the problem, show relevance |
| Desire |
10-20s |
Want the solution |
Show the product/outcome, social proof |
| Action |
Final 3-5s |
Click/buy/sign up |
Clear CTA, urgency, offer |
Hook Techniques (First 3 Seconds)
| Technique |
Example |
| Bold statement |
"This tool replaced my entire marketing team" |
| Question |
"Why are you still doing this manually?" |
| Surprising visual |
Unexpected transformation, before/after reveal |
| Pattern interrupt |
Start mid-action, unusual angle, bright color |
| Social proof |
"2 million people switched to this" |
| Pain point |
"If you hate [common frustration], watch this" |
Creating Video Ads
Vertical (TikTok, Reels, Stories, Shorts)
# Hook scene (0-3s)
infsh app run google/veo-3-1-fast --input '{
"prompt": "vertical 9:16 video, close-up of hands struggling with tangled cables and messy desk, frustrated energy, shaky handheld camera, authentic social media style, bright lighting"
}'
# Solution reveal (3-15s)
infsh app run bytedance/seedance-1-5-pro --input '{
"prompt": "vertical video, smooth product reveal, clean wireless charging station on minimalist desk, satisfying organization transformation, bright modern room, social media ad aesthetic"
}'
# Add voiceover
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Stop wasting time with this mess. This one product changed my entire setup. Everything charges. Everything is organized. Link in bio."
}'
# Merge video + audio
infsh app run infsh/video-audio-merger --input '{
"video": "solution-reveal.mp4",
"audio": "voiceover.mp3"
}'
# Add captions (critical for silent autoplay)
infsh app run infsh/caption-videos --input '{
"video": "ad-with-audio.mp4",
"caption_file": "captions.srt"
}'
Square (Facebook, LinkedIn Feed)
infsh app run google/veo-3-1-fast --input '{
"prompt": "square 1:1 video, professional person at desk discovering a new software tool, laptop screen showing clean dashboard, natural office lighting, corporate commercial style, satisfied expression"
}'
YouTube Bumper (6 Seconds)
# 6-second bumper: one message, one visual, one CTA
infsh app run google/veo-3-1-fast --input '{
"prompt": "6 second product ad, quick montage of a sleek app being used on phone, fast cuts, modern, energetic, brand logo reveal at end, punchy and dynamic, wide 16:9"
}'
# Keep it tight
infsh app run falai/dia-tts --input '{
"prompt": "[S1] Your reports. Automated. Try DataFlow free."
}'
Captions Are Mandatory
85% of Facebook and 40%+ of Instagram video is watched on mute.
Caption Best Practices
| Rule |
Reason |
| Always add captions |
Silent viewing is the default on most platforms |
| Large, readable font |
Small text is invisible on mobile |
| High contrast |
White text with dark outline/background |
| Centered or bottom-third |
Standard viewing position |
| Max 2 lines at a time |
More text = can't be read fast enough |
| Key words in bold/color |
Draws eye to important words |
# Generate captions from audio
# (create SRT file from your script, then burn in)
infsh app run infsh/caption-videos --input '{
"video": "ad-video.mp4",
"caption_file": "ad-captions.srt"
}'
Ad Structure Templates
Testimonial Ad (15-30s)
| Time |
Content |
| 0-3s |
Customer states the problem they had |
| 3-15s |
How they discovered and tried the product |
| 15-25s |
The specific result they achieved |
| 25-30s |
Product name + CTA |
Demo Ad (15-30s)
| Time |
Content |
| 0-3s |
The problem (text or visual) |
| 3-20s |
Product demo showing the solution |
| 20-25s |
Key result/benefit |
| 25-30s |
CTA + offer |
Before/After Ad (15s)
| Time |
Content |
| 0-3s |
"Before" state (messy, slow, frustrating) |
| 3-5s |
Transition / product introduction |
| 5-12s |
"After" state (clean, fast, satisfying) |
| 12-15s |
CTA |
Common Mistakes
| Mistake |
Problem |
Fix |
| No hook in first 1-3s |
Viewer scrolls past |
Open with pattern interrupt |
| Landscape video on TikTok/Reels |
Letterboxed, looks amateur |
Use 9:16 for vertical platforms |
| No captions |
Most viewers watch silent |
Always add captions |
| CTA too late |
Viewers already left |
Clear CTA within last 5 seconds |
| Too long for platform |
Forced skip or dropout |
Match platform duration norms |
| Same ad for all platforms |
Wrong specs, wrong tone |
Create platform-specific versions |
| Logo in first 3s |
Feels like a commercial, gets skipped |
Save branding for the end |
| Text in unsafe zones |
Cut off by platform UI |
Check safe zone per platform |
Checklist
Related Skills
npx skills add inference-sh/skills@ai-video-generation
npx skills add inference-sh/skills@video-prompting-guide
npx skills add inference-sh/skills@text-to-speech
npx skills add inference-sh/skills@prompt-engineering
Browse all apps: infsh app list
1---2name: video-ad-specs3description: Video ad creation with exact platform-specific specs for TikTok, Instagram, YouTube, Facebook, LinkedIn. Covers dimensions, duration limits, AIDA framework, and caption requirements. Use for: video ads, social media ads, paid media creative, video marketing, ad production. Triggers: video ...4license: MIT5---6# Video Ad Specs78## When to Use910Use this skill as needed to perform the specified automation task.1112Create platform-specific video ads via [inference.sh](https://inference.sh) CLI.1314## Quick Start1516```bash17curl -fsSL https://cli.inference.sh | sh && infsh login1819# Generate a vertical video ad scene20infsh app run bytedance/seedance-1-5-pro --input '{21 "prompt": "vertical video, person excitedly unboxing a product, clean modern room, bright natural lighting, social media ad style, authentic feeling, 9:16 format"22}'23```2425## Platform Specifications2627### TikTok2829| Spec | Value |30|------|-------|31| Aspect ratio | **9:16** (vertical) |32| Resolution | 1080 x 1920 px |33| Duration | 5-60 seconds (15-30s recommended) |34| File size | Max 500 MB |35| Format | MP4, MOV |36| Sound | On by default (design with sound) |37| Text safe zone | 150px from all edges |38| Hook window | **1 second** — first frame must grab attention |3940### Instagram Reels4142| Spec | Value |43|------|-------|44| Aspect ratio | **9:16** (vertical) |45| Resolution | 1080 x 1920 px |46| Duration | Up to 90 seconds (15-30s for ads) |47| Cover image | Separate upload, shows in grid |48| Sound | On by default |49| Caption area | Bottom 20% reserved for text overlay |5051### Instagram Stories5253| Spec | Value |54|------|-------|55| Aspect ratio | **9:16** |56| Resolution | 1080 x 1920 px |57| Duration | Up to 15 seconds per segment |58| Swipe-up/Link | Available for ads |59| Top/bottom | 14% top and 20% bottom = unsafe for key content |6061### YouTube6263| Format | Aspect | Duration | Skip |64|--------|--------|----------|------|65| Bumper | 16:9 | **6 seconds** exactly | Non-skippable |66| Non-skippable | 16:9 | **15 seconds** | Non-skippable |67| Skippable (TrueView) | 16:9 | Any length | Skip after **5 seconds** |68| Shorts | 9:16 | Up to 60 seconds | N/A |6970Resolution: 1920 x 1080 (16:9) or 1080 x 1920 (Shorts)7172### Facebook Feed7374| Spec | Value |75|------|-------|76| Aspect ratio | **1:1** (square) or **4:5** (recommended for mobile) |77| Resolution | 1080 x 1080 or 1080 x 1350 |78| Duration | Up to 240 min (15-30s recommended) |79| Autoplay | **Silent** — captions are essential |80| Sound | 85% of Facebook video is watched **without sound** |8182### LinkedIn8384| Spec | Value |85|------|-------|86| Aspect ratio | **1:1** or **16:9** |87| Resolution | 1080 x 1080 or 1920 x 1080 |88| Duration | 3 seconds to 10 minutes (15-30s for ads) |89| Tone | Professional |90| Autoplay | Silent in feed |9192## AIDA Framework for Video Ads9394| Phase | Time | Goal | Technique |95|-------|------|------|-----------|96| **Attention** | 0-3s | Stop the scroll | Pattern interrupt, bold visual, question |97| **Interest** | 3-10s | Keep watching | State the problem, show relevance |98| **Desire** | 10-20s | Want the solution | Show the product/outcome, social proof |99| **Action** | Final 3-5s | Click/buy/sign up | Clear CTA, urgency, offer |100101### Hook Techniques (First 3 Seconds)102103| Technique | Example |104|-----------|---------|105| Bold statement | "This tool replaced my entire marketing team" |106| Question | "Why are you still doing this manually?" |107| Surprising visual | Unexpected transformation, before/after reveal |108| Pattern interrupt | Start mid-action, unusual angle, bright color |109| Social proof | "2 million people switched to this" |110| Pain point | "If you hate [common frustration], watch this" |111112## Creating Video Ads113114### Vertical (TikTok, Reels, Stories, Shorts)115116```bash117# Hook scene (0-3s)118infsh app run google/veo-3-1-fast --input '{119 "prompt": "vertical 9:16 video, close-up of hands struggling with tangled cables and messy desk, frustrated energy, shaky handheld camera, authentic social media style, bright lighting"120}'121122# Solution reveal (3-15s)123infsh app run bytedance/seedance-1-5-pro --input '{124 "prompt": "vertical video, smooth product reveal, clean wireless charging station on minimalist desk, satisfying organization transformation, bright modern room, social media ad aesthetic"125}'126127# Add voiceover128infsh app run falai/dia-tts --input '{129 "prompt": "[S1] Stop wasting time with this mess. This one product changed my entire setup. Everything charges. Everything is organized. Link in bio."130}'131132# Merge video + audio133infsh app run infsh/video-audio-merger --input '{134 "video": "solution-reveal.mp4",135 "audio": "voiceover.mp3"136}'137138# Add captions (critical for silent autoplay)139infsh app run infsh/caption-videos --input '{140 "video": "ad-with-audio.mp4",141 "caption_file": "captions.srt"142}'143```144145### Square (Facebook, LinkedIn Feed)146147```bash148infsh app run google/veo-3-1-fast --input '{149 "prompt": "square 1:1 video, professional person at desk discovering a new software tool, laptop screen showing clean dashboard, natural office lighting, corporate commercial style, satisfied expression"150}'151```152153### YouTube Bumper (6 Seconds)154155```bash156# 6-second bumper: one message, one visual, one CTA157infsh app run google/veo-3-1-fast --input '{158 "prompt": "6 second product ad, quick montage of a sleek app being used on phone, fast cuts, modern, energetic, brand logo reveal at end, punchy and dynamic, wide 16:9"159}'160161# Keep it tight162infsh app run falai/dia-tts --input '{163 "prompt": "[S1] Your reports. Automated. Try DataFlow free."164}'165```166167## Captions Are Mandatory16816985% of Facebook and 40%+ of Instagram video is watched on mute.170171### Caption Best Practices172173| Rule | Reason |174|------|--------|175| Always add captions | Silent viewing is the default on most platforms |176| Large, readable font | Small text is invisible on mobile |177| High contrast | White text with dark outline/background |178| Centered or bottom-third | Standard viewing position |179| Max 2 lines at a time | More text = can't be read fast enough |180| Key words in bold/color | Draws eye to important words |181182```bash183# Generate captions from audio184# (create SRT file from your script, then burn in)185infsh app run infsh/caption-videos --input '{186 "video": "ad-video.mp4",187 "caption_file": "ad-captions.srt"188}'189```190191## Ad Structure Templates192193### Testimonial Ad (15-30s)194195| Time | Content |196|------|---------|197| 0-3s | Customer states the problem they had |198| 3-15s | How they discovered and tried the product |199| 15-25s | The specific result they achieved |200| 25-30s | Product name + CTA |201202### Demo Ad (15-30s)203204| Time | Content |205|------|---------|206| 0-3s | The problem (text or visual) |207| 3-20s | Product demo showing the solution |208| 20-25s | Key result/benefit |209| 25-30s | CTA + offer |210211### Before/After Ad (15s)212213| Time | Content |214|------|---------|215| 0-3s | "Before" state (messy, slow, frustrating) |216| 3-5s | Transition / product introduction |217| 5-12s | "After" state (clean, fast, satisfying) |218| 12-15s | CTA |219220## Common Mistakes221222| Mistake | Problem | Fix |223|---------|---------|-----|224| No hook in first 1-3s | Viewer scrolls past | Open with pattern interrupt |225| Landscape video on TikTok/Reels | Letterboxed, looks amateur | Use 9:16 for vertical platforms |226| No captions | Most viewers watch silent | Always add captions |227| CTA too late | Viewers already left | Clear CTA within last 5 seconds |228| Too long for platform | Forced skip or dropout | Match platform duration norms |229| Same ad for all platforms | Wrong specs, wrong tone | Create platform-specific versions |230| Logo in first 3s | Feels like a commercial, gets skipped | Save branding for the end |231| Text in unsafe zones | Cut off by platform UI | Check safe zone per platform |232233## Checklist234235- [ ] Correct aspect ratio for target platform236- [ ] Hook in first 1-3 seconds237- [ ] Captions added (readable, high contrast)238- [ ] CTA clear and within final 5 seconds239- [ ] Duration matches platform norms240- [ ] Text outside platform unsafe zones241- [ ] Audio designed for both sound-on and sound-off242- [ ] Platform-specific version (not one-size-fits-all)243244## Related Skills245246```bash247npx skills add inference-sh/skills@ai-video-generation248npx skills add inference-sh/skills@video-prompting-guide249npx skills add inference-sh/skills@text-to-speech250npx skills add inference-sh/skills@prompt-engineering251```252253Browse all apps: `infsh app list`