Replace one screenshot
replace_screenshotSwap an existing App Store screenshot with a new image while preserving its position. Upload and process the replacement before removing the old one, with dry-run confirmation.
Instructions
Replaces one screenshot with a new image, keeping its place. Identify it by position (1-based, from list_screenshots) or by screenshot_id. The new image is uploaded and processed before the old one is removed, so the listing never has a gap (except in a full set of 10, where the old one has to go first). If a run stops partway, it says how to continue: call again with screenshot_id so the right screenshot is replaced even if positions shifted.
Destructive: dry_run defaults to true and returns the plan. Show it to the user, then call again with dry_run: false. Needs ASC_WRITE=1.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app | No | App ID, bundle ID or exact app name. Defaults to ASC_APP_ID, or to the only app the key can see. | |
| file | Yes | Absolute path of the new image. | |
| locale | No | Localization, e.g. en-US. Defaults to the app's primary locale. | |
| dry_run | No | Defaults to true: return the plan without changing anything. Call again with dry_run: false to apply it. | |
| version | No | App Store version string (e.g. "1.2"), "editable" (the version being prepared; the default) or "live". | |
| platform | No | Platform. Defaults to IOS. | |
| position | No | Position to replace, 1-based, as shown by list_screenshots. | |
| display_type | Yes | Screenshot display type, e.g. APP_IPHONE_67 (6.9" iPhone, 1320×2868), APP_IPHONE_65, APP_IPAD_PRO_3GEN_129 (13" iPad, 2064×2752), APP_DESKTOP, APP_APPLE_TV, APP_APPLE_VISION_PRO, APP_WATCH_ULTRA. | |
| wait_minutes | No | Minutes to wait for Apple to process uploaded images (usually under a minute). If time runs out, re-run the same call to continue. | |
| screenshot_id | No | ID of the screenshot to replace. Safer than position when continuing an interrupted run. |