Skip to main content

Screenshots & App Previews

Download

asc apps media download <bundle-id>
asc apps media download <bundle-id> --folder my-media/ --version 2.1.0

Downloads to <bundle-id>-media/ by default, using the same folder structure expected by upload.

Upload

# Upload from a folder
asc apps media upload <bundle-id> --folder media/

# Upload from a zip file (e.g. exported from asc-screenshots)
asc apps media upload <bundle-id> --folder screenshots.zip

# Upload to a specific version
asc apps media upload <bundle-id> --folder media/ --version 2.1.0

# Replace existing media in matching sets before uploading
asc apps media upload <bundle-id> --folder media/ --replace

# Interactive mode: pick a folder or zip from the current directory
asc apps media upload <bundle-id>

When --folder is omitted, the command lists all subdirectories and .zip files in the current directory as a numbered picker. Zip files are extracted automatically before upload.

Folder structure

Organize your media folder with locale and display type subfolders:

media/
├── en-US/
│ ├── APP_IPHONE_67/
│ │ ├── 01_home.png
│ │ ├── 02_settings.png
│ │ └── preview.mp4
│ └── APP_IPAD_PRO_3GEN_129/
│ └── 01_home.png
└── de-DE/
└── APP_IPHONE_67/
├── 01_home.png
└── 02_settings.png
  • Level 1: Locale (e.g. en-US, de-DE, ja)
  • Level 2: Display type folder name (see table below)
  • Level 3: Media files — images (.png, .jpg, .jpeg) become screenshots, videos (.mp4, .mov) become app previews
  • Files are uploaded in alphabetical order by filename
  • Unsupported files are skipped with a warning

Display types

App Store Connect requires APP_IPHONE_67 screenshots for iPhone apps and APP_IPAD_PRO_3GEN_129 screenshots for iPad apps. All other display types are optional.

Folder nameDeviceScreenshotsPreviews
APP_IPHONE_67iPhone 6.7" (iPhone 16 Pro Max, 15 Pro Max, 14 Pro Max)RequiredYes
APP_IPAD_PRO_3GEN_129iPad Pro 12.9" (3rd gen+)RequiredYes
All optional display types
Folder nameDeviceScreenshotsPreviews
APP_IPHONE_61iPhone 6.1" (iPhone 16 Pro, 15 Pro, 14 Pro)YesYes
APP_IPHONE_65iPhone 6.5" (iPhone 11 Pro Max, XS Max)YesYes
APP_IPHONE_58iPhone 5.8" (iPhone 11 Pro, X, XS)YesYes
APP_IPHONE_55iPhone 5.5" (iPhone 8 Plus, 7 Plus, 6s Plus)YesYes
APP_IPHONE_47iPhone 4.7" (iPhone SE 3rd gen, 8, 7, 6s)YesYes
APP_IPHONE_40iPhone 4" (iPhone SE 1st gen, 5s, 5c)YesYes
APP_IPHONE_35iPhone 3.5" (iPhone 4s and earlier)YesYes
APP_IPAD_PRO_3GEN_11iPad Pro 11"YesYes
APP_IPAD_PRO_129iPad Pro 12.9" (1st/2nd gen)YesYes
APP_IPAD_105iPad 10.5" (iPad Air 3rd gen, iPad Pro 10.5")YesYes
APP_IPAD_97iPad 9.7" (iPad 6th gen and earlier)YesYes
APP_DESKTOPMacYesYes
APP_APPLE_TVApple TVYesYes
APP_APPLE_VISION_PROApple Vision ProYesYes
APP_WATCH_ULTRAApple Watch UltraYesNo
APP_WATCH_SERIES_10Apple Watch Series 10YesNo
APP_WATCH_SERIES_7Apple Watch Series 7YesNo
APP_WATCH_SERIES_4Apple Watch Series 4YesNo
APP_WATCH_SERIES_3Apple Watch Series 3YesNo
IMESSAGE_APP_IPHONE_67iMessage iPhone 6.7"YesNo
IMESSAGE_APP_IPHONE_61iMessage iPhone 6.1"YesNo
IMESSAGE_APP_IPHONE_65iMessage iPhone 6.5"YesNo
IMESSAGE_APP_IPHONE_58iMessage iPhone 5.8"YesNo
IMESSAGE_APP_IPHONE_55iMessage iPhone 5.5"YesNo
IMESSAGE_APP_IPHONE_47iMessage iPhone 4.7"YesNo
IMESSAGE_APP_IPHONE_40iMessage iPhone 4"YesNo
IMESSAGE_APP_IPAD_PRO_3GEN_129iMessage iPad Pro 12.9" (3rd gen+)YesNo
IMESSAGE_APP_IPAD_PRO_3GEN_11iMessage iPad Pro 11"YesNo
IMESSAGE_APP_IPAD_PRO_129iMessage iPad Pro 12.9" (1st/2nd gen)YesNo
IMESSAGE_APP_IPAD_105iMessage iPad 10.5"YesNo
IMESSAGE_APP_IPAD_97iMessage iPad 9.7"YesNo
note

Watch and iMessage display types support screenshots only — video files in those folders are skipped with a warning. The --replace flag deletes all existing assets in each matching set before uploading new ones.

Using with asc-screenshots

asc-screenshots is a companion skill for AI coding agents that generates production-ready App Store screenshots. It creates a Next.js page that renders ad-style screenshot layouts with device bezels and exports them as a zip file in the exact folder structure asc expects:

en-US/APP_IPHONE_67/01_hero.png
en-US/APP_IPAD_PRO_3GEN_129/01_hero.png
de-DE/APP_IPHONE_67/01_hero.png

Upload the exported zip directly:

asc apps media upload <bundle-id> --folder screenshots.zip --replace

Verify and retry stuck media

Sometimes screenshots or previews get stuck in "processing" after upload. Use media verify to check the status and optionally retry stuck items:

# Check status of all screenshots and previews
asc apps media verify <bundle-id>

# Check a specific version
asc apps media verify <bundle-id> --version 2.1.0

# Retry stuck items using local files from the media folder
asc apps media verify <bundle-id> --folder media/

Without --folder, the command shows a read-only status report. Sets where all items are complete show a compact one-liner; sets with stuck items expand to show each file and its state. With --folder, it prompts to retry stuck items by deleting them and re-uploading from the matching local files, preserving the original position order.