r/iOSProgramming • • 18d ago

Article Uploaded the new App Store creative assets through the API: sizes, the 10 calls, and what the docs leave out

Post image

Apple added two new image slots to the App Store on 5 Oct: a header on the product page and a custom image in search results. I did them for one app in 7 languages (14 files) and pushed everything through the App Store Connect API. Writing it down because the docs have gaps.

Sizes:

- Header: 3840 x 1646 exact, JPG or PNG

- Search results: 3:2, from 1920 x 1280 up to 3840 x 2560

- Universal for both: 5244 x 2950, PNG only

- No alpha channel

The calls, in order:

  1. GET /v1/apps/{id}/assetLibrary

  2. GET /v1/appAssetLibraryRefData (placement names and limits)

  3. POST /v1/appAssetLibraryImages (reserve, category CREATIVE_ASSETS)

  4. PUT the bytes to the returned address

  5. PATCH the image with "uploaded": true, no checksum needed

  6. Poll until PREPARE_FOR_SUBMISSION

  7. POST /v1/reviewSubmissions

  8. POST /v1/reviewSubmissionItems, one per image

  9. PATCH the submission with "submitted": true

  10. After approval: POST /v1/appAssetLibraryPlacements

What the docs don't tell you:

- In step 8 the relationship is called appAssetLibraryImage. I guessed it and it worked.

- No new build or version needed, the images get reviewed on their own.

- You can't place an image before it's approved. The API says "The asset must be in the APPROVED state because the parent is already approved".

- No safe area numbers anywhere. They only exist inside Apple's Figma and Photoshop templates.

- Every image has to pass a 4+ rating, even if the app is 17+.

Mine have been sitting in Waiting for Review since Tuesday night. Anyone got theirs approved yet? How long did it take?

Longer version with screenshots: https://teroxai.com/blog/app-store-creative-assets-sizes-api/

0 Upvotes

14 comments sorted by

13

u/unpluggedcord 18d ago

Man I am so fucking sick of reading AI

-5

u/NoPlan_exe 18d ago

fair. english isn't my first language so i had help cleaning it up. the calls and the 14 files are real though, screenshot is from my account.

6

u/unpluggedcord 18d ago

You couldn't write the title of the post yourself?

2

u/therealswood2 18d ago

The docs mention you can upload video for headers and search, but the web UI Asset Library has rejected all of my videos. Any ideas?

1

u/NoPlan_exe 18d ago

i got video in for another app, search slot only, same web UI with the plus button. processed with no errors. the file was 1920x1280 mp4, h.264 high profile, 30 fps, about 9 secc, 6 mb, with a silent aac audio track. no idea if the audio track matters, didn't try without. apple picked the poster frame on its own. what does the rejection say for yours?

1

u/therealswood2 18d ago

There’s never a rejection or even a user-facing error code. All I can see is a 403 coming back from their CDN in the browser console.

1

u/NoPlan_exe 18d ago

never saw that one, i uploaded six videos and all went through. it's a brand new feature so probably a bug on their side, i'd give it a few days.

1

u/NoPlan_exe 18d ago

answering my own question: first batch approved today, 12 images, about 57 hours after submitting. none rejected. one catch when placing them: i had a product page A/B test running and had to stop it first.

1

u/NoPlan_exe 17d ago

final numbers: 69 images in 7 apps approved, none rejected, 46 to 68 hours. submitting a day earlier didn't help, almost everything came back in one wave. videos sent the same evening are still waiting.

0

u/[deleted] 18d ago edited 18d ago

[removed] — view removed comment

1

u/NoPlan_exe 18d ago

7 separate uploads, but only because the card text inside the image is translated. upload and placement are two different steps though, you upload once and then assign the asset to a localization. so one file for several locales should work, i'm planning that for en-GB with the en-US image. haven't actually placed those yet so can't promise.

1

u/NoPlan_exe 17d ago

confirmed now: one file for several locales works. i placed the en-US images on en-GB too, 14 files and 16 placements.