video-ad-specs

tarafından halt-catch-fire

TikTok, Instagram, YouTube, Facebook, LinkedIn için platforma özel tam spesifikasyonlarla video reklam oluşturma. Boyutlar, süre sınırları, AIDA çerçevesi ve altyazı gereksinimlerini kapsar. Şunlar için kullanılır: video reklamlar, sosyal medya reklamları, ücretli medya yaratıcı içerikleri, video pazarlama, reklam prodüksiyonu. Tetikleyiciler: video reklam, sosyal medya reklamı, tiktok reklamı, instagram reklamı, youtube reklamı, facebook reklamı, linkedin reklamı, video yaratıcı içerik, reklam spesifikasyonları, ücretli medya, video pazarlama, reklam prodüksiyonu, reels reklamı, stories

npx skills add https://github.com/halt-catch-fire/skills --skill video-ad-specs

Install the belt CLI skill: npx skills add belt-sh/cli

Video Ad Specs

Create platform-specific video ads via inference.sh CLI.

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate a vertical video ad scene
belt app run bytedance/seedance-2-0 --input '{
  "prompt": "vertical video, person excitedly unboxing a product, clean modern room, bright natural lighting, social media ad style, authentic feeling",
  "ratio": "9:16",
  "generate_audio": true
}'

Platform Specifications

TikTok

SpecValue
Aspect ratio9:16 (vertical)
Resolution1080 x 1920 px
Duration5-60 seconds (15-30s recommended)
File sizeMax 500 MB
FormatMP4, MOV
SoundOn by default (design with sound)
Text safe zone150px from all edges
Hook window1 second — first frame must grab attention

Instagram Reels

SpecValue
Aspect ratio9:16 (vertical)
Resolution1080 x 1920 px
DurationUp to 90 seconds (15-30s for ads)
Cover imageSeparate upload, shows in grid
SoundOn by default
Caption areaBottom 20% reserved for text overlay

Instagram Stories

SpecValue
Aspect ratio9:16
Resolution1080 x 1920 px
DurationUp to 15 seconds per segment
Swipe-up/LinkAvailable for ads
Top/bottom14% top and 20% bottom = unsafe for key content

YouTube

FormatAspectDurationSkip
Bumper16:96 seconds exactlyNon-skippable
Non-skippable16:915 secondsNon-skippable
Skippable (TrueView)16:9Any lengthSkip after 5 seconds
Shorts9:16Up to 60 secondsN/A

Resolution: 1920 x 1080 (16:9) or 1080 x 1920 (Shorts)

Facebook Feed

SpecValue
Aspect ratio1:1 (square) or 4:5 (recommended for mobile)
Resolution1080 x 1080 or 1080 x 1350
DurationUp to 240 min (15-30s recommended)
AutoplaySilent — captions are essential
Sound85% of Facebook video is watched without sound

LinkedIn

SpecValue
Aspect ratio1:1 or 16:9
Resolution1080 x 1080 or 1920 x 1080
Duration3 seconds to 10 minutes (15-30s for ads)
ToneProfessional
AutoplaySilent in feed

AIDA Framework for Video Ads

PhaseTimeGoalTechnique
Attention0-3sStop the scrollPattern interrupt, bold visual, question
Interest3-10sKeep watchingState the problem, show relevance
Desire10-20sWant the solutionShow the product/outcome, social proof
ActionFinal 3-5sClick/buy/sign upClear CTA, urgency, offer

Hook Techniques (First 3 Seconds)

TechniqueExample
Bold statement"This tool replaced my entire marketing team"
Question"Why are you still doing this manually?"
Surprising visualUnexpected transformation, before/after reveal
Pattern interruptStart 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)
belt 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)
belt app run bytedance/seedance-2-0 --input '{
  "prompt": "vertical video, smooth product reveal, clean wireless charging station on minimalist desk, satisfying organization transformation, bright modern room, social media ad aesthetic",
  "ratio": "9:16",
  "generate_audio": true
}'

# Add voiceover
belt 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
belt app run infsh/video-audio-merger --input '{
  "video": "solution-reveal.mp4",
  "audio": "voiceover.mp3"
}'

# Add captions (critical for silent autoplay)
belt app run infsh/caption-videos --input '{
  "video": "ad-with-audio.mp4",
  "caption_file": "captions.srt"
}'

Square (Facebook, LinkedIn Feed)

belt 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
belt 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
belt 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

RuleReason
Always add captionsSilent viewing is the default on most platforms
Large, readable fontSmall text is invisible on mobile
High contrastWhite text with dark outline/background
Centered or bottom-thirdStandard viewing position
Max 2 lines at a timeMore text = can't be read fast enough
Key words in bold/colorDraws eye to important words
# Generate captions from audio
# (create SRT file from your script, then burn in)
belt app run infsh/caption-videos --input '{
  "video": "ad-video.mp4",
  "caption_file": "ad-captions.srt"
}'

Ad Structure Templates

Testimonial Ad (15-30s)

TimeContent
0-3sCustomer states the problem they had
3-15sHow they discovered and tried the product
15-25sThe specific result they achieved
25-30sProduct name + CTA

Demo Ad (15-30s)

TimeContent
0-3sThe problem (text or visual)
3-20sProduct demo showing the solution
20-25sKey result/benefit
25-30sCTA + offer

Before/After Ad (15s)

TimeContent
0-3s"Before" state (messy, slow, frustrating)
3-5sTransition / product introduction
5-12s"After" state (clean, fast, satisfying)
12-15sCTA

Common Mistakes

MistakeProblemFix
No hook in first 1-3sViewer scrolls pastOpen with pattern interrupt
Landscape video on TikTok/ReelsLetterboxed, looks amateurUse 9:16 for vertical platforms
No captionsMost viewers watch silentAlways add captions
CTA too lateViewers already leftClear CTA within last 5 seconds
Too long for platformForced skip or dropoutMatch platform duration norms
Same ad for all platformsWrong specs, wrong toneCreate platform-specific versions
Logo in first 3sFeels like a commercial, gets skippedSave branding for the end
Text in unsafe zonesCut off by platform UICheck 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: belt app list

halt-catch-fire tarafından daha fazla skill

ai-image-generation
halt-catch-fire
GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve ve inference.sh CLI üzerinden 50'den fazla model ile AI görselleri oluşturun. Modeller: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Yetenekler: metinden görsele, görselden görsele, iç boyama, LoRA, görsel düzenleme, yükseltme, metin oluşturma. Kullanım alanları: AI sanatı, ürün maketleri, konsept sanatı, sosyal medya grafikleri, pazarlama görselleri, illüstrasyonlar. Tetikleyiciler: flux, görsel oluşturma, ai görsel, metinden...
creativemediaimage
ai-video-generation
halt-catch-fire
Google Veo, Seedance 2.0, HappyHorse, Wan, Grok ve 40'tan fazla model ile inference.sh CLI üzerinden yapay zeka videoları oluşturun. Modeller: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Yetenekler: metinden videoya, görüntüden videoya, referanstan videoya, video düzenleme, dudak senkronizasyonu, avatar animasyonu, video yükseltme, foley ses. Kullanım alanları: sosyal medya videoları, pazarlama içerikleri, açıklayıcı videolar, ürün tanıtımları, yapay zeka avatarları. Tetikleyiciler: video oluşturma
creativevideomedia
twitter-automation
halt-catch-fire
Twitter/X otomasyonu: inference.sh CLI ile gönderi, etkileşim ve kullanıcı yönetimi. Uygulamalar: x/post-tweet, x/post-create (medya ile), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Yetenekler: tweet gönderme, içerik planlama, gönderi beğenme, retweet yapma, DM gönderme, kullanıcı takip etme, profil alma. Kullanım alanları: sosyal medya otomasyonu, içerik planlama, etkileşim botları, kitle büyütme, X API. Tetikleyiciler: twitter api, x api, tweet otomasyonu, twitter'a gönderi, twitter botu, sosyal medya otomasyonu, x...
marketingapicommunication
ai-avatar-video
halt-catch-fire
We need to translate the given text from English to Turkish. The target language is Türkçe. The directory item type is agent skill, and the name to preserve is "ai-avatar-video". The instruction says: "Translate only the text inside <text>. Do not include the name unless it appears in the source text." The name "ai-avatar-video" does not appear in the source text, so we should not include it. Also, do not include labels like "description", "server name", or "skill name". Just translate the content. The text: "Create AI avatar and talking head videos via inference.sh CLI. Recommended: P-Video-Avatar (fastest, cheapest, built-in TTS). Also: OmniHuman, Fabric, PixVerse. Audio: Inworld TTS-2 (100+ languages, emotion steering for characters), ElevenLabs, Kokoro. Capabilities: audio-driven avatars, text-to-avatar, lipsync videos, talking head generation, virtual presenters, UGC content. Use for: AI
videocreativemedia
agent-browser
halt-catch-fire
AI ajanları için inference.sh üzerinden tarayıcı otomasyonu. Web sayfalarında gezinme, @e referanslarıyla öğelerle etkileşim, ekran görüntüsü alma, video kaydetme. Yetenekler: web kazıma, form doldurma, tıklama, yazma, sürükle-bırak, dosya yükleme, JavaScript çalıştırma. Kullanım alanları: web otomasyonu, veri çıkarma, test, ajan taraması, araştırma. Tetikleyiciler: tarayıcı, web otomasyonu, kazıma, gezinme, tıklama, form doldurma, ekran görüntüsü, web'de gezinme, playwright, başsız tarayıcı, web ajanı, internette gezinme, video kaydetme
browser-automationweb-scrapingtesting
web-search
halt-catch-fire
We need to translate the given text from English to Turkish, preserving specific terms like "web-search", "Tavily", "Exa", "inference.sh CLI", "RAG", etc. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. So "Tavily", "Exa", "inference.sh CLI", "RAG", "AI", "API" should remain as is. Also "web-search" is the name to preserve but it's not in the text? Actually the name is "web-search" but the text doesn't contain that exact string. The text has "web search" (two words). The instruction says "Do not include the name unless it appears in the source text." So we translate "web search" as "web araması" or similar? But careful: "web search" appears multiple times. We should translate it as "web araması" but keep technical terms like "Tavily Search" as is? The instruction says preserve product names. "Tavily Search
researchweb-scrapingapi
infsh-cli
halt-catch-fire
inference.sh CLI üzerinden 250'den fazla AI uygulamasını çalıştırın - görüntü oluşturma, video oluşturma, LLM'ler, arama, 3D, Twitter otomasyonu. Modeller: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter ve daha fazlası. AI uygulamalarını çalıştırırken, görüntü/video oluştururken, LLM'leri çağırırken, web araması yaparken veya Twitter'ı otomatikleştirirken kullanın. Tetikleyiciler: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok
developmentapicreative
landing-page-design
halt-catch-fire
Açılış sayfası dönüşüm optimizasyonu; düzen kuralları, kahraman bölümü tasarımı ve CTA psikolojisi ile. Ekran üstü formülü, sosyal kanıt yerleşimi, mobil tasarım ve F-deseni okumayı kapsar. Kullanım alanları: startup açılış sayfaları, ürün sayfaları, SaaS pazarlama, dönüşüm optimizasyonu. Tetikleyiciler: açılış sayfası, kahraman bölümü, ekran üstü, dönüşüm optimizasyonu, açılış sayfası tasarımı, cta butonu, kahraman görseli, açılış sayfası düzeni, saas açılış sayfası, ürün sayfası tasarımı, dönüşüm oranı