app-store-screenshots

Pembuatan tangkapan layar App Store dan Google Play dengan spesifikasi platform yang tepat. Mencakup dimensi iOS/Android, urutan galeri, mockup perangkat, dan video pratinjau. Gunakan untuk: optimasi toko aplikasi, ASO, tangkapan layar aplikasi, pratinjau aplikasi, daftar Play Store. Pemicu: tangkapan layar toko aplikasi, aso, optimasi toko aplikasi, tangkapan layar Play Store, pratinjau aplikasi, daftar aplikasi, tangkapan layar iOS, tangkapan layar Android, gambar toko aplikasi, mockup aplikasi, mockup perangkat, galeri aplikasi, daftar toko

npx skills add https://github.com/halt-catch-fire/skills --skill app-store-screenshots

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

App Store Screenshots

Create app store screenshots and preview videos via inference.sh CLI.

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate a device mockup scene
belt app run falai/flux-dev-lora --input '{
  "prompt": "iPhone 15 Pro showing a clean modern app interface with analytics dashboard, floating at slight angle, soft gradient background, professional product photography, subtle shadow, marketing mockup style",
  "width": 1024,
  "height": 1536
}'

Platform Specifications

Apple App Store (iOS)

DeviceDimensions (px)Required
iPhone 6.7" (15 Pro Max)1290 x 2796Required
iPhone 6.5" (11 Pro Max)1284 x 2778Required
iPhone 5.5" (8 Plus)1242 x 2208Optional
iPad Pro 12.9" (6th gen)2048 x 2732If iPad app
iPad Pro 11"1668 x 2388If iPad app
  • Up to 10 screenshots per localization
  • First 3 screenshots are visible without scrolling (critical)
  • Formats: PNG or JPEG (no alpha/transparency for JPEG)

Google Play Store (Android)

SpecValue
Min dimensions320 px (any side)
Max dimensions3840 px (any side)
Aspect ratio16:9 or 9:16
Max screenshots8 per device type
FormatsPNG or JPEG (24-bit, no alpha)
  • Feature graphic: 1024 x 500 px (required for featuring)
  • Promo video: YouTube URL (optional but recommended)

The First 3 Rule

80% of App Store impressions show only the first 3 screenshots (before the user scrolls). These three must:

  1. Communicate the core value proposition
  2. Show the best feature/outcome
  3. Differentiate from competitors

Screenshot Gallery Order

PositionContentPurpose
1Hero — core value, best featureStop the scroll, communicate what the app does
2Key differentiatorWhat makes you unique vs competitors
3Most popular featureThe thing users love most
4Social proof or outcomeRatings, results, testimonials
5-8Additional featuresSupporting features, settings, integrations
9-10Edge casesSpecialized features for niche users

Screenshot Styles

1. Device Frame with Caption

The standard: device mockup showing the app, caption text above/below.

┌──────────────────────────┐
│   "Track Your Habits     │  ← Caption (benefit-focused)
│    Effortlessly"         │
│                          │
│   ┌──────────────────┐   │
│   │                  │   │
│   │   App Screen     │   │  ← Actual app UI in device frame
│   │   Content        │   │
│   │                  │   │
│   │                  │   │
│   └──────────────────┘   │
│                          │
└──────────────────────────┘

2. Full-Bleed UI (No Device Frame)

The app UI fills the entire screenshot. Works for immersive apps.

3. Lifestyle Context

The device shown in a real-world context (person holding phone, on desk, etc.).

4. Feature Highlight with Callouts

UI screenshot with arrows/circles pointing to specific features.

Caption Writing

Rules

  • Max 2 lines of text
  • Benefit-focused, not feature-focused
  • 30pt+ equivalent font size (must be readable in store)

Examples

❌ Feature-focused:
"Push Notification System"
"Calendar View with Filters"
"Data Export Functionality"

✅ Benefit-focused:
"Never Miss a Deadline Again"
"See Your Week at a Glance"
"Share Reports in One Tap"

Generating Screenshots

Hero Screenshot (Position 1)

# Clean device mockup with hero feature
belt app run falai/flux-dev-lora --input '{
  "prompt": "modern iPhone showing a beautiful fitness tracking app with activity rings and workout summary, device floating at slight angle against soft purple gradient background, professional product shot, clean minimal composition, subtle reflection",
  "width": 1024,
  "height": 1536
}'

Feature Highlight

# Feature callout style
belt app run bytedance/seedream-4-5 --input '{
  "prompt": "app store screenshot style, iPhone showing a messaging app with AI writing suggestions highlighted, clean white background, subtle UI callout arrows, professional marketing asset, modern design",
  "size": "2K"
}'

Lifestyle Context

# Device in real-world setting
belt app run falai/flux-dev-lora --input '{
  "prompt": "person holding iPhone showing a cooking recipe app, kitchen background with ingredients, warm natural lighting, over-the-shoulder perspective, lifestyle photography, authentic feeling",
  "width": 1024,
  "height": 1536
}'

Before/After

# Split comparison
belt app run infsh/stitch-images --input '{
  "images": ["before-screenshot.png", "after-screenshot.png"],
  "direction": "horizontal"
}'

Preview Videos

Apple App Store

SpecValue
Duration15-30 seconds
OrientationPortrait or landscape (match app)
AudioOptional (loops silently in store)
FormatH.264, .mov or .mp4

Google Play

SpecValue
SourceYouTube URL
Duration30s-2min recommended
OrientationLandscape preferred

Preview Video Structure

SegmentDurationContent
Hook0-3sShow the core outcome/wow moment
Feature 13-10sDemonstrate top feature in action
Feature 210-18sSecond key feature
Feature 318-25sThird feature or social proof
CTA25-30sEnd screen with app icon
# Generate preview video scenes
belt app run google/veo-3-1-fast --input '{
  "prompt": "smooth screen recording style, finger tapping on a modern mobile app interface, swiping between screens showing charts and data visualizations, clean UI transitions, professional app demo"
}'

Localization

Each language gets its own set of screenshots. Priorities:

MarketLocalization Level
Primary marketsFull: new screenshots + translated captions
Secondary marketsTranslated captions, same screenshots
OtherEnglish defaults

Key localization markets: English, Japanese, Korean, Chinese (Simplified), German, French, Spanish, Portuguese (Brazilian)

A/B Testing (Google Play)

Google Play Console supports store listing experiments:

  • Test different screenshot orders
  • Test with/without device frames
  • Test different captions
  • Test different color schemes
  • Run for 7+ days with 50%+ traffic for significant results

Common Mistakes

MistakeProblemFix
Settings screen as screenshotNobody cares about settingsShow core value, not infrastructure
Onboarding flow screenshotsShows friction, not valueShow the app in-use state
Too much textUnreadable in storeMax 2 lines, 30pt+ font
Wrong dimensionsRejected by storeUse exact platform specs
All screenshots look the sameNo reason to scrollVary composition and content
Feature-focused captionsDoesn't communicate benefit"Never Miss a Deadline" > "Push Notifications"
Outdated UILooks abandonedUpdate screenshots with each major release
No hero screenshotWeak first impressionPosition 1 = your best shot

Checklist

  • Correct dimensions for target platform
  • First 3 screenshots communicate core value
  • Captions are benefit-focused, max 2 lines
  • No onboarding or settings screens
  • Preview video is 15-30s with hook in first 3s
  • Localized for top markets
  • Feature graphic (1024x500) for Google Play
  • Screenshots updated for current app version
  • A/B test variant prepared

Related Skills

npx skills add inference-sh/skills@ai-image-generation
npx skills add inference-sh/skills@ai-video-generation
npx skills add inference-sh/skills@image-upscaling
npx skills add inference-sh/skills@prompt-engineering

Browse all apps: belt app list

Lebih banyak skill dari halt-catch-fire

ai-image-generation
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia. The text describes an agent skill for AI image generation. We must preserve the name "ai-image-generation" but it's not in the text, so we don't include it. Also preserve product names, protocol names, URLs, numbers, technical terms. No extra commentary. Just translate the text inside <text>. The text: "Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to...
creativemediaimage
ai-video-generation
halt-catch-fire
Hasilkan video AI dengan Google Veo, Seedance 2.0, HappyHorse, Wan, Grok dan 40+ model melalui CLI inference.sh. Model: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Kemampuan: teks-ke-video, gambar-ke-video, referensi-ke-video, pengeditan video, lipsync, animasi avatar, peningkatan resolusi video, suara foley. Gunakan untuk: video media sosial, konten pemasaran, video penjelasan, demo produk, avatar AI. Pemicu: pembuatan video, video AI,...
creativevideomedia
twitter-automation
halt-catch-fire
Otomatiskan Twitter/X dengan posting, interaksi, dan manajemen pengguna melalui CLI inference.sh. Aplikasi: x/post-tweet, x/post-create (dengan media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Kemampuan: memposting tweet, menjadwalkan konten, menyukai postingan, me-retweet, mengirim DM, mengikuti pengguna, mendapatkan profil. Gunakan untuk: otomatisasi media sosial, penjadwalan konten, bot interaksi, pertumbuhan audiens, API X. Pemicu: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x...
marketingapicommunication
ai-avatar-video
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. So names like "P-Video-Avatar", "OmniHuman", "Fabric", "PixVerse", "Inworld TTS-2", "ElevenLabs", "Kokoro", "CLI", "TTS", "UGC" should remain unchanged. Also "inference.sh" is a URL-like name, preserve. The text inside <text> is a description. We translate the rest naturally. 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
videocreativemedia
agent-browser
halt-catch-fire
Otomatisasi peramban untuk agen AI melalui inference.sh. Navigasi halaman web, berinteraksi dengan elemen menggunakan referensi @e, ambil tangkapan layar, rekam video. Kemampuan: pengikisan web, pengisian formulir, klik, mengetik, seret-lepas, unggah berkas, eksekusi JavaScript. Gunakan untuk: otomatisasi web, ekstraksi data, pengujian, penjelajahan agen, riset. Pemicu: peramban, otomatisasi web, kikis, navigasi, klik, isi formulir, tangkapan layar, jelajahi web, playwright, peramban tanpa kepala, agen web, jelajahi internet, rekam video
browser-automationweb-scrapingtesting
web-search
halt-catch-fire
Pencarian web dan ekstraksi konten dengan Tavily dan Exa melalui CLI inference.sh. Aplikasi: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Kemampuan: pencarian berbasis AI, ekstraksi konten, jawaban langsung, riset. Gunakan untuk: riset, pipeline RAG, pemeriksaan fakta, agregasi konten, agen. Pemicu: pencarian web, tavily, exa, search api, ekstraksi konten, riset, pencarian internet, pencarian AI, asisten pencarian, web scraping, rag, alternatif perplexity
researchweb-scrapingapi
infsh-cli
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia, preserving the name "infsh-cli" and other technical terms, product names, protocol names, URLs, numbers, etc. The instruction says: "Do not include the name unless it appears in the source text." The name "infsh-cli" is not in the source text? Actually, the source text does not contain "infsh-cli" explicitly. The directory item type is "agent skill" and the name to preserve is "infsh-cli", but the text inside <text> does not include that name. So we should not add it. We just translate the text inside <text>. Also, we must not add labels like "description" or "skill name". Just the translation. The text: "Run 250+ AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, Open
developmentapicreative
landing-page-design
halt-catch-fire
We need to translate the given text from English to Bahasa Indonesia. The instruction says to preserve product names, protocol names, URLs, numbers, technical terms. The name "landing-page-design" is to be preserved but not included unless it appears in source text. It does not appear in the <text> block. So we just translate the text. The text: "Landing page conversion optimization with layout rules, hero section design, and CTA psychology. Covers above-the-fold formula, social proof placement, mobile design, and F-pattern reading. Use for: startup landing pages, product pages, SaaS marketing, conversion optimization. Triggers: landing page, hero section, above the fold, conversion optimization, landing page design, cta button, hero image, landing page layout, saas landing page, product page design, conversion rate, landing page..." Translate carefully. Technical terms like "CTA", "above-the-fold", "F-pattern", "SaaS" should be preserved as is or translated? The instruction says preserve technical terms. Usually "CTA" is kept as