Video Ad Specs
Video ad creation with exact platform-specific specs for TikTok, Instagram, YouTube, Facebook, LinkedIn. Covers dimensions, duration limits, AIDA framework,...
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 522 · 1 current installs · 1 all-time installs
byÖmer Karışman@okaris
MIT-0
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
The name/description promise static platform specs and creative guidance, which the SKILL.md does include, but the runtime instructions go beyond 'specs' and instruct the agent to install and use an external inference CLI to generate, merge, caption and upload media. A pure 'ad specs' helper would not need a remote model‑execution CLI or login, so the requested actions are disproportionate to the stated purpose.
Instruction Scope
SKILL.md explicitly tells the user/agent to run 'curl -fsSL https://cli.inference.sh | sh', 'infsh login', and multiple 'infsh app run' commands that will send prompts and media to remote services. The instructions therefore cause network calls, credential usage, and remote model execution not declared elsewhere; they also assume local file reads/writes for media merging. The skill does not explain what data will be transmitted or what credentials are required.
Install Mechanism
Although the registry lists no install spec, the README directs running a piped install from cli.inference.sh which downloads binaries from dist.inference.sh. This is a moderate-to-high risk pattern because the host is not a well-known vendor in the manifest, the installer is executed via shell pipe, and the binary download/extract steps occur outside the package manager model. The SKILL.md claims checksum verification exists, but fetching and running a remote installer remains risky and should be verified independently.
Credentials
The skill declares no required environment variables or credentials, yet instructs an 'infsh login' and uses various remote models (bytedance/..., google/..., falai/...) that likely require provider credentials or accounts. This mismatch (instructions requiring authentication but no declared primaryEnv/required env vars) is a clear incoherence and increases the chance of unexpected credential prompts or misconfiguration.
Persistence & Privilege
The skill does not request permanent presence (always:false) and has no declared system-level config changes in the manifest. However it directs installing a third-party binary and logging into a remote service, which grants that external tool ongoing network capability from the host; autonomous invocation is allowed by default and combined with the above concerns increases blast radius if the external CLI is trusted without verification.
What to consider before installing
This skill mixes benign documentation (ad specs, AIDA guidance) with instructions to install and use an external CLI (inference.sh) via a piped shell installer and to 'infsh login' — but it doesn't declare any required credentials. Before installing or using: (1) confirm you trust https://cli.inference.sh/dist.inference.sh and independently verify checksums; avoid piping unknown scripts to sh if unsure; (2) expect that prompts/media will be transmitted to remote services — don't include sensitive data in prompts; (3) check what account/credentials the CLI requires and whether you are willing to provide them (the skill manifest doesn't declare them); (4) if you only want static specs/guidance, consider using a safer, instruction-only resource and skip the installer; (5) run the installer in an isolated environment (container/VM) first to validate behavior.Like a lobster shell, security has layers — review code before you run it.
Current versionv0.1.5
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Video Ad Specs
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"
}'
Install note: The install script only detects your OS/architecture, downloads the matching binary from
dist.inference.sh, and verifies its SHA-256 checksum. No elevated permissions or background processes. Manual install & verification available.
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 |
| 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
- Correct aspect ratio for target platform
- Hook in first 1-3 seconds
- Captions added (readable, high contrast)
- CTA clear and within final 5 seconds
- Duration matches platform norms
- Text outside platform unsafe zones
- Audio designed for both sound-on and sound-off
- Platform-specific version (not one-size-fits-all)
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
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
