<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Armen Ter-Oganezov</title>
    <description>The latest articles on DEV Community by Armen Ter-Oganezov (@teroxai).</description>
    <link>https://dev.to/teroxai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4173677%2F59555404-d217-42e9-9ac9-a7837e8dd3c4.png</url>
      <title>DEV Community: Armen Ter-Oganezov</title>
      <link>https://dev.to/teroxai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/teroxai"/>
    <language>en</language>
    <item>
      <title>App Store creative assets: sizes, API upload and review</title>
      <dc:creator>Armen Ter-Oganezov</dc:creator>
      <pubDate>Fri, 09 Oct 2026 15:11:14 +0000</pubDate>
      <link>https://dev.to/teroxai/app-store-creative-assets-sizes-api-upload-and-review-231j</link>
      <guid>https://dev.to/teroxai/app-store-creative-assets-sizes-api-upload-and-review-231j</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://teroxai.com/blog/app-store-creative-assets-sizes-api/" rel="noopener noreferrer"&gt;teroxai.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Since 5 October 2026 an app on the App Store can have two new pictures: a header at the top of its product page and its own image in search results. Apple calls them creative assets. They are optional, they show on iOS 27 and iPadOS 27, and they are reviewed separately from the app.&lt;/p&gt;

&lt;p&gt;I uploaded them for &lt;a href="https://teroxai.com/apps/postklar/" rel="noopener noreferrer"&gt;Postklar&lt;/a&gt; the next evening: 14 images in seven languages, all through the App Store Connect API. This article has the sizes, the rules, the exact upload steps and an honest list of what I do not know yet. When I wrote this, all 14 were still waiting for review. Update, 9 October: the first approvals are in, for a second app. The numbers are below.&lt;/p&gt;

&lt;h2&gt;
  
  
  The sizes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuhworqwuuc31sdnwat24.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuhworqwuuc31sdnwat24.webp" alt="App Store creative asset sizes: product page header 3840 by 1646, search results 3840 by 2560, universal 5244 by 2950 pixels" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Images, from Apple's specification page:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Place&lt;/th&gt;
&lt;th&gt;Ratio&lt;/th&gt;
&lt;th&gt;Size in pixels&lt;/th&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Product page header&lt;/td&gt;
&lt;td&gt;21:9&lt;/td&gt;
&lt;td&gt;3840 × 1646, exact&lt;/td&gt;
&lt;td&gt;JPG or PNG&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search results&lt;/td&gt;
&lt;td&gt;3:2&lt;/td&gt;
&lt;td&gt;1920 × 1280 up to 3840 × 2560&lt;/td&gt;
&lt;td&gt;JPG or PNG&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Universal, for both places&lt;/td&gt;
&lt;td&gt;16:9&lt;/td&gt;
&lt;td&gt;5244 × 2950, exact&lt;/td&gt;
&lt;td&gt;PNG only&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No transparency. An image with an alpha channel is not accepted.&lt;/p&gt;

&lt;p&gt;Video works in the same two places:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Place&lt;/th&gt;
&lt;th&gt;Ratio&lt;/th&gt;
&lt;th&gt;Size in pixels&lt;/th&gt;
&lt;th&gt;Length&lt;/th&gt;
&lt;th&gt;Frame rate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Product page header&lt;/td&gt;
&lt;td&gt;21:9&lt;/td&gt;
&lt;td&gt;3840 × 1646&lt;/td&gt;
&lt;td&gt;5 to 30 s&lt;/td&gt;
&lt;td&gt;30 or 60 fps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search results&lt;/td&gt;
&lt;td&gt;3:2&lt;/td&gt;
&lt;td&gt;1920 × 1280 up to 3840 × 2560&lt;/td&gt;
&lt;td&gt;5 to 30 s&lt;/td&gt;
&lt;td&gt;30 or 60 fps&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Formats are MOV, M4V or MP4. Videos loop and start muted. In search they can not be unmuted at all, so a video that needs sound to make sense will not work there. The specification page lists no 16:9 universal video.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you may not put on them
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Prices and discounts.&lt;/li&gt;
&lt;li&gt;Website addresses.&lt;/li&gt;
&lt;li&gt;The copyright sign.&lt;/li&gt;
&lt;li&gt;Awards you did not receive, and Apple's own badges such as Editors' Choice or App of the Day.&lt;/li&gt;
&lt;li&gt;Logos of other platforms and stores.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One rule surprised me: every asset has to fit a 4+ age rating, even if the app itself is rated higher. A shooter rated 17+ still needs a header a small child could look at.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do you need them
&lt;/h2&gt;

&lt;p&gt;No. If you upload nothing for search, your listing shows what it showed before: in-app events, app previews and screenshots.&lt;/p&gt;

&lt;p&gt;Whether a custom image brings more downloads than a row of screenshots, I can not tell you. Nobody outside Apple has numbers yet, and mine are zero because my images are not live.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we made for Postklar
&lt;/h2&gt;

&lt;p&gt;Two separate images per language, not the universal one.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fezg2zv3uhibc4e6yolwm.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fezg2zv3uhibc4e6yolwm.webp" alt="Product page header for Postklar: a German letter turns into a card with the amount and the deadline, no headline text" width="800" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The header has no text at all. Apple's advice for it is one clear idea, and the app name is already printed right below it on the page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6wfznak5y02b5y5bl1o0.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6wfznak5y02b5y5bl1o0.webp" alt="Search results asset for Postklar with the line German mail, finally clear" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The search image carries one short line. In search a person has not decided anything yet, and Apple's advice there is to state the obvious and show the interface.&lt;/p&gt;

&lt;p&gt;That difference is the reason we did not use the universal 16:9 file. One file in both places means the same amount of text in both places.&lt;/p&gt;

&lt;p&gt;The letter in the picture is invented. No real document was used.&lt;/p&gt;

&lt;p&gt;Seven languages, two images each, 14 files of about 1 MB. British English gets the American pair.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6e7n88ew8z9qyjlb6spl.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6e7n88ew8z9qyjlb6spl.webp" alt="The Arabic search image, mirrored: the card is on the left and the letter on the right" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Arabic reads from right to left, so the whole layout is mirrored.&lt;/p&gt;

&lt;p&gt;None of this was drawn in a graphics editor. The images are an HTML template rendered to PNG by a script, with a second script that checks size, transparency and margins. With 14 files, and more the day we change a word, drawing by hand was not an option.&lt;/p&gt;

&lt;h2&gt;
  
  
  Uploading through the API, step by step
&lt;/h2&gt;

&lt;p&gt;In App Store Connect there is a new section, Asset Library. It holds screenshots, app previews and creative assets in one list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqxtj832ou0tw7fcj1qcb.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqxtj832ou0tw7fcj1qcb.webp" alt="Asset Library in App Store Connect with the Postklar assets, all in status Waiting for Review" width="800" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can upload there by hand. We did everything through the API, and I only watched the list fill up. The API section is called App Asset Library. The calls, in order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;GET /v1/apps/{id}/assetLibrary&lt;/code&gt; returns the library of the app.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GET /v1/appAssetLibraryRefData&lt;/code&gt; returns Apple's reference data: allowed sizes, placement types and limits. The names of the two placements come from here: &lt;code&gt;PRODUCT_PAGE_HEADER_ASSET&lt;/code&gt; and &lt;code&gt;APP_STORE_SEARCH_RESULTS_ASSET&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;POST /v1/appAssetLibraryImages&lt;/code&gt; reserves an image: file name, size in bytes, category &lt;code&gt;CREATIVE_ASSETS&lt;/code&gt;, link to the library. The answer contains upload addresses.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PUT&lt;/code&gt; the bytes to that address. It is temporary, and your API token is not sent to it.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PATCH /v1/appAssetLibraryImages/{id}&lt;/code&gt; with &lt;code&gt;"uploaded": true&lt;/code&gt; confirms the upload. No checksum is needed, unlike the old screenshot upload.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GET /v1/appAssetLibraryImages/{id}&lt;/code&gt; until the state changes from &lt;code&gt;UPLOAD_COMPLETE&lt;/code&gt; to &lt;code&gt;PREPARE_FOR_SUBMISSION&lt;/code&gt;. For us that took from a few seconds to a couple of minutes per file.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;POST /v1/reviewSubmissions&lt;/code&gt; with platform &lt;code&gt;IOS&lt;/code&gt; creates a review submission.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;POST /v1/reviewSubmissionItems&lt;/code&gt; adds one image to the submission. One call per file.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PATCH /v1/reviewSubmissions/{id}&lt;/code&gt; with &lt;code&gt;"submitted": true&lt;/code&gt; sends it.&lt;/li&gt;
&lt;li&gt;After approval: &lt;code&gt;POST /v1/appAssetLibraryPlacements&lt;/code&gt; assigns an image to a localization of the app version. For Postklar this step is still ahead. Fundkeep was placed through the API on 9 October.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One detail is missing in the documentation. In step 8 the relationship that points to the image is not named anywhere for a submission that contains only assets. &lt;code&gt;appAssetLibraryImage&lt;/code&gt; worked on the first try.&lt;/p&gt;

&lt;p&gt;A tip for anyone who reads Apple's API documentation with a script: the pages are rendered by JavaScript, so a plain request returns nothing useful. The same content is available as JSON under &lt;code&gt;developer.apple.com/tutorials/data/documentation/appstoreconnectapi/&lt;/code&gt; followed by the page name and &lt;code&gt;.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0gd85eo8x67fi212kyva.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0gd85eo8x67fi212kyva.webp" alt="One asset in App Store Connect: name, file name, the placement it works with and the image size" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All 14 files were accepted on the first attempt, and Apple recognised each size correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Review is separate from the app version
&lt;/h2&gt;

&lt;p&gt;This is the part that changes how you work. The 14 images went to review as one submission, with no new build and no new app version. The app already had an approved version, and that is enough.&lt;/p&gt;

&lt;p&gt;There is one condition, and we found it by trying. You can attach an asset to a version that is already on sale, but only an approved asset. When we tried with one that was still waiting, the API answered:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The asset must be in the APPROVED state because the parent is already approved&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So the order is fixed: upload, review, then placement.&lt;/p&gt;

&lt;p&gt;We submitted on 6 October at 22:37 Berlin time. The next evening, more than 20 hours later, the status was still Waiting for Review. For comparison, in &lt;a href="https://teroxai.com/blog/app-store-review-time-2026/" rel="noopener noreferrer"&gt;my data on app review times&lt;/a&gt; the median wait for an app version was 20 hours.&lt;/p&gt;

&lt;p&gt;Update, 9 October. The first batch is through, for &lt;a href="https://teroxai.com/apps/fundkeep/" rel="noopener noreferrer"&gt;Fundkeep&lt;/a&gt;: 12 images, six for search and six headers, in six languages. Submitted on 6 October at 20:40 UTC, approved on 9 October at 06:10 UTC. That is about 57.5 hours, almost three times the median for an app version. All 12 were approved in the same second and none was rejected. The Postklar images from the same evening and the six videos are still waiting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Placement, and what the Preview shows
&lt;/h2&gt;

&lt;p&gt;Added on 9 October, after the Fundkeep approval. We placed the approved images through the API. One thing got in the way: a product page optimization test was running for the app, and placement did not work until the test was stopped.&lt;/p&gt;

&lt;p&gt;In App Store Connect the result is on the app version page, in a new tab called Header and Search Results. It has two slots, and each takes one asset per language. The version here is already on sale. No new version was needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foqgkn8e9bpc0va4swoe4.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foqgkn8e9bpc0va4swoe4.webp" alt="The Header slot on the app version page in App Store Connect, with one header asset placed and the Preview button" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcbdvxzp7pamaet0yplgx.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcbdvxzp7pamaet0yplgx.webp" alt="The Search Results slot on the same page, with one search results asset placed" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Preview button opens a device preview. This is the first place where you see the real crop.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5dt514e18dy0t4gzcb9h.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5dt514e18dy0t4gzcb9h.webp" alt="Device Preview in App Store Connect: the product page with the header on the left, the search result with the search image on the right" width="799" height="770"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What I measured on these two screens, iPhone in portrait:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Header.&lt;/strong&gt; The full height is shown. The sides are cut: about 8 percent on the left and 8 percent on the right, so roughly 84 percent of the width stays visible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Header, top corners.&lt;/strong&gt; The back button and the share button sit on top of the image, left and right. The area above the image, under the Dynamic Island, is filled with the colour of the image's top edge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search image.&lt;/strong&gt; The 3:2 image is shown whole, with rounded corners. Nothing is cut.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So for a header: nothing important in the outer 10 percent on each side, and nothing in the top corners. Our own margin was stricter than it had to be.&lt;/p&gt;

&lt;p&gt;These numbers are measured from a screenshot of the Preview, for one device in one orientation. Apple writes next to it that the preview is for reference only. The Preview also has an iPad option, and I have not measured that yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Video: one file that went through
&lt;/h2&gt;

&lt;p&gt;Added on 8 October. For a second app, &lt;a href="https://teroxai.com/apps/fundkeep/" rel="noopener noreferrer"&gt;Fundkeep&lt;/a&gt;, we made a video for the search slot in six languages. This one I uploaded by hand in Asset Library, with the plus button. All six files were processed without an error or a warning.&lt;/p&gt;

&lt;p&gt;The file:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Property&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frame size&lt;/td&gt;
&lt;td&gt;1920 × 1280, ratio 3:2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Length&lt;/td&gt;
&lt;td&gt;8.83 s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frame rate&lt;/td&gt;
&lt;td&gt;30 fps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Container&lt;/td&gt;
&lt;td&gt;MP4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Video codec&lt;/td&gt;
&lt;td&gt;H.264, High profile, yuv420p&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bitrate&lt;/td&gt;
&lt;td&gt;about 5.6 Mbit/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File size&lt;/td&gt;
&lt;td&gt;6.2 MB&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audio&lt;/td&gt;
&lt;td&gt;a silent stereo AAC track, 48 kHz&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I do not know whether the silent audio track matters. We did not try a file without one.&lt;/p&gt;

&lt;p&gt;You do not upload a poster frame. Apple picked one by itself, at the five second mark in all six files. I have not found a way to change it.&lt;/p&gt;

&lt;p&gt;Uploaded and processed is not the same as approved. The six videos have been waiting for review since the evening of 6 October, like the images.&lt;/p&gt;

&lt;p&gt;Video also exists in the API, as &lt;code&gt;appAssetLibraryVideos&lt;/code&gt;. We have only read it there, not uploaded through it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Four API errors from the second app
&lt;/h2&gt;

&lt;p&gt;Postklar went through without a single error. Fundkeep, done by a different session, did not. These are the messages and what fixed them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;The attribute 'specId' can not be included in a 'CREATE' operation&lt;/code&gt;. Do not send the size specification when you reserve an image. Apple works out the placement from the pixel size.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;'sourceFileChecksum' is not an attribute on the resource&lt;/code&gt;. Leave the checksum out. &lt;code&gt;"uploaded": true&lt;/code&gt; is the whole confirmation.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;STATE_ERROR.ASSET_IN_POST_PROCESSING&lt;/code&gt;. You tried to submit too early. We waited about a minute.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;MAX_IN_REVIEW_SUBMISSIONS_PER_PLATFORM_LIMIT_REACHED&lt;/code&gt;. No more than two review submissions per platform at a time. Put everything into one.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where it got hard
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The safe area has no public numbers.&lt;/strong&gt; Apple says the header and the search image are cropped differently on different devices and orientations, and that the important part belongs in the centre. The exact borders are only inside Apple's templates for Figma, Photoshop, Pixelmator and Sketch. We did not open them.&lt;/p&gt;

&lt;p&gt;So we set our own margin: everything important inside the middle 60 percent of the width and 70 percent of the height, no text closer than 8 percent to an edge, background running to the edges with nothing that matters in it. That is our guess, not Apple's rule. The Preview tool in App Store Connect shows the real crop once the images are placed. What it showed for our second app is further down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The crop check was wrong before the images were.&lt;/strong&gt; The script that checks margins measured the browser window, which was 87 pixels shorter than the canvas, and rejected correct images. The first bug we fixed was in the checker.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layout in seven languages.&lt;/strong&gt; The Russian and Polish sender lines broke into three lines. The headline ran into the letter. In the Arabic version the card covered the highlighted amount and date. Each one was fixed separately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The headline itself.&lt;/strong&gt; The first Russian, Ukrainian and Polish lines used a hyphen where a dash belongs. In a large headline it looked like a typo. We rewrote the lines so they need neither. The German one became "Behördenbriefe verstehen", so that it contains a word people search for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A rule I can not read with certainty.&lt;/strong&gt; Prices are banned. Our card says "Pay 85,00 € by 14.10" in large type. That is the amount from the invented letter, not the price of the app, and the same amount is on our approved screenshots. A reviewer who reads the rule literally could still reject it. I will know when the review is done.&lt;/p&gt;

&lt;p&gt;One data point since then: the Fundkeep images show "$590.00" inside the app's interface, a budget balance. All 12 passed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I do not know yet
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How long the review of creative assets takes in general. I have one batch: 57.5 hours.&lt;/li&gt;
&lt;li&gt;What is cropped on an iPad and in landscape. For an iPhone in portrait I have a first measurement.&lt;/li&gt;
&lt;li&gt;Whether the amount on the Postklar card passes the price rule. A dollar amount inside an app screenshot did.&lt;/li&gt;
&lt;li&gt;Whether any of this changes downloads.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This article is updated as the answers come in.&lt;/p&gt;

&lt;h2&gt;
  
  
  A short list for your own app
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Decide between two images and one universal file. Two give you different text for the page and for search.&lt;/li&gt;
&lt;li&gt;Export at the exact size: 3840 × 1646 for the header, 3840 × 2560 for search. No transparency.&lt;/li&gt;
&lt;li&gt;Keep the important part in the centre and let the background run to the edges.&lt;/li&gt;
&lt;li&gt;Check the image against a 4+ rating, even if your app is not 4+.&lt;/li&gt;
&lt;li&gt;Remove prices, web addresses and the copyright sign.&lt;/li&gt;
&lt;li&gt;Localize the text, and mirror the layout for right-to-left languages.&lt;/li&gt;
&lt;li&gt;Submit early. Review runs on its own, and you can not place an asset before it is approved.&lt;/li&gt;
&lt;li&gt;If you have many files, script it. The ten calls above are the whole flow.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Questions people ask
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What size is the App Store product page header?
&lt;/h3&gt;

&lt;p&gt;3840 × 1646 pixels, ratio 21:9, JPG or PNG without transparency. The size is exact, there is no range.&lt;/p&gt;

&lt;h3&gt;
  
  
  What size is the App Store search results asset?
&lt;/h3&gt;

&lt;p&gt;Ratio 3:2, from 1920 × 1280 up to 3840 × 2560 pixels, JPG or PNG without transparency.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is the safe area of the product page header?
&lt;/h3&gt;

&lt;p&gt;Apple publishes no numbers outside its design templates. In the Preview tool, on an iPhone in portrait, our 21:9 header kept its full height and lost about 8 percent on each side. The back and share buttons cover the top corners. The 3:2 search image was shown whole.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can one image be used for both the header and search?
&lt;/h3&gt;

&lt;p&gt;Yes. Apple calls it the universal creative asset: 5244 × 2950 pixels, 16:9, PNG only. The price is that both places show the same picture and the same text.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do creative assets need a new app version?
&lt;/h3&gt;

&lt;p&gt;No. They go into a review submission of their own. The app needs an approved version, and an asset has to be approved before it can be placed.&lt;/p&gt;

&lt;h3&gt;
  
  
  How long does the review of creative assets take?
&lt;/h3&gt;

&lt;p&gt;Our first batch took about 57.5 hours: 12 images submitted on 6 October 2026 and approved on 9 October. That is one data point from the first week of the feature, not a rule.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are creative assets required?
&lt;/h3&gt;

&lt;p&gt;No. Without a search results asset the App Store shows in-app events, app previews and screenshots, as before.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do they work on the Mac App Store?
&lt;/h3&gt;

&lt;p&gt;Apple names iOS 27 and iPadOS 27 and later. For my Mac apps I have uploaded nothing.&lt;/p&gt;

&lt;p&gt;Sources: Apple's &lt;a href="https://developer.apple.com/app-store/asset-best-practices/" rel="noopener noreferrer"&gt;asset best practices&lt;/a&gt; and &lt;a href="https://developer.apple.com/help/app-store-connect/reference/app-information/creative-assets-specifications/" rel="noopener noreferrer"&gt;creative assets specifications&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ios</category>
      <category>appstore</category>
      <category>api</category>
      <category>indiedev</category>
    </item>
  </channel>
</rss>
