Frames adds Apple device bezels to screenshots and screen recordings from the command line. Version 1.5.0 adds iPhone 18 Pro, iPhone 18 Pro Max, and iPhone Duo using Apple's official artwork. The 18 Pro models become the default for their screen sizes, Duo joins the standard asset pack, and merged frames now match real-world proportions more precisely.
Update the CLI and the asset pack
The new devices need Frames 1.5.0 or later plus the new standard asset pack. Updating the CLI alone does not download the new artwork.
- Update Frames using your existing installation method, then check that
frames --versionprintsframes v1.5.0. - Run
frames setupand accept the download. It fetches AppleFrames402.zip (60.8 MB): the previous pack plus 16 iPhone 18 Pro bezels, 10 iPhone Duo bezels, nine screen masks, and Apple's Design Resources License. - Run
frames doctor. If it says your pack predates iPhone 18 Pro or iPhone Duo, the CLI is still reading an older folder; runframes setupagain or point it at the new one.
The ZIP is 60,821,581 bytes with SHA-256 5fecdd29acf4c3c6215a05629a07e2c5b30439597933859a7a71e153adad8fd3.
iPhone 18 Pro is the new default
iPhone 18 Pro and 18 Pro Max share screen sizes with the 17 Pro models, so these inputs now use the new frames automatically:
| Input width × height | Automatic frame |
|---|---|
| 1206 × 2622 | iPhone 18 Pro Portrait |
| 2622 × 1206 | iPhone 18 Pro Landscape |
| 1320 × 2868 | iPhone 18 Pro Max Portrait |
| 2868 × 1320 | iPhone 18 Pro Max Landscape |
Both models come in Burgundy (the default), Glacier, Silver, and Black, in portrait and landscape, for images and videos. The 17 Pro frames remain available with --device:
frames -c Glacier screenshot.png
frames video recording.mp4
frames -d "iPhone 17 Pro Portrait" screenshot.pngWith an older pack, these sizes keep using the 17 Pro frames. frames list shows the defaults your installed pack provides, and frames info lists only the variants it can render.
iPhone Duo
Both displays work in portrait and landscape, in Night Sky (the default) and Star White, for images and videos:
| Input width × height | Automatic frame |
|---|---|
| 1398 × 2034 | iPhone Duo Outer Portrait |
| 2034 × 1398 | iPhone Duo Outer Landscape |
| 2007 × 2853 | iPhone Duo Inner Portrait |
| 2853 × 2007 | iPhone Duo Inner Landscape |
These are the sizes the Xcode 27.1 iPhone Duo simulator captures, and they match the screen openings in Apple's artwork exactly. Mockups at Apple's announced inner resolution, 1878 × 2670, are still detected and scaled. A manual view shows the phone's back beside the outer screen:
frames -d "iPhone Duo Outer Open" outer-portrait.pngDuo is no longer a separate, experimental pack. If you selected Frames-Duo-Experimental from 1.4.1, run frames setup to switch to the standard pack; JSON output no longer includes an experimental field. Simulator recordings of the inner display aren't detected automatically yet; select their frame with --device. See the iPhone Duo guide for capturing screenshots in the simulator and known limitations.
More accurate proportional merges
Merged images and videos scale each device to its real-world size. Frames now measures each device by its visible body instead of its frame image, because Apple pads each image differently, and it aligns the bottoms of the devices themselves. Previously, an iPhone Duo next to an iPhone 18 Pro came out about 1% too small and 10 pixels out of alignment.