AI images for Facebook ads: sizes for Feed, Stories, Reels
Meta recommends 4:5 at 1440×1800 for Feed image ads and 9:16 at 1440×2560 for Stories and Reels. Make each size from one brief and one product photo.

To make AI images for Facebook ads, generate one version per placement shape from the same brief: Meta recommends 4:5 at 1440 × 1800 pixels for Facebook and Instagram Feed image ads, and 9:16 at 1440 × 2560 for Stories and Reels on both apps. On Sume, ChatGPT Image 2.5 takes 1440 × 2560 exactly as a custom size; for Feed, ask for 1440 × 1808 and crop 8 pixels of height, and send the same product photo as a reference in every call.
Meta's numbers are quoted from its Ads Guide image pages, linked in the table below, which can change; Sume facts come from the Image API docs and the Sume API reference. All were read on 2026-09-27. Video ads have their own specs, covered in Meta video ad specs.
What image size do Facebook ads use?
Meta's Ads Guide gives a recommended ratio and resolution for image ads in each placement, and every page lists JPG or PNG files up to 30 MB. Facebook Feed and Facebook Reels set a minimum width of 600 pixels; the other four placements list 500.
ChatGPT Image 2.5 custom sizes need both edges in multiples of 16, a long edge of at most 3840, and 655,360 to 8,294,400 pixels. The 9:16 size passes as is; 1800 is not a multiple of 16, so the 4:5 size needs a small crop:
| Placement | Ratio | Meta recommends | Ask ChatGPT Image 2.5 for |
|---|---|---|---|
| Facebook Feed | 4:5 | 1440 × 1800 | 1440 × 1808, then crop 8 px of height |
| Instagram Feed | 4:5 | 1440 × 1800 | 1440 × 1808, then crop 8 px of height |
| Facebook Stories | 9:16 | 1440 × 2560 | 1440 × 2560, as is |
| Instagram Stories | 9:16 | 1440 × 2560 | 1440 × 2560, as is |
| Facebook Reels | 9:16 | 1440 × 2560 | 1440 × 2560, as is |
| Instagram Reels | 9:16 | 1440 × 2560 | 1440 × 2560, as is |
How do I make each size with Sume?
Send POST /v1/images to ChatGPT Image 2.5 (openai/gpt-image-2.5) with the product photo in input_references and the placement's size in image_size. This request asks for four 1440 × 2560 versions for Stories and Reels; run it again at 1440 × 1808 for Feed.
- High
quality, the default on this model, and a largenare the slow configurations most likely to return202with a job to poll instead of the images. - Results are Sume-hosted, signed URLs in
data[].url. Download them, crop the Feed version, and upload the files in Ads Manager.
curl -X POST "https://api.sume.com/v1/images" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-image-2.5",
"prompt": "Ad image: the sneaker from the reference photo on a sunlit concrete step, bold shadows, product in the middle, plain space at the top and bottom, no text",
"input_references": [
{ "type": "image_url", "image_url": { "url": "https://example.com/sneaker.jpg" } }
],
"image_size": { "width": 1440, "height": 2560 },
"n": 4
}'How do I keep the product the same in every version?
Send the same product photo in input_references, as a public HTTPS URL, in every call; ChatGPT Image 2.5 takes up to 16 references, so you can add other angles. Keep the brief the same and change only image_size.
The model draws a new image each time, so labels, logos, and small print can come out different. Compare every version with the real product before the ad runs.
How many variations can I make per call?
Up to 4 with n on ChatGPT Image 2.5, its ceiling today. The request schema allows 10, but each model's ceiling is lower. Every image is billed: the price is estimated from size and quality, and usage.cost in the response is the USD amount billed. A failed generation is not billed.
Where should text and the product go in Stories and Reels?
Meta suggests leaving roughly 14% of the top, 35% of the bottom, and 6% on each side free of text, logos, and other key elements, so the profile icon and call-to-action don't cover them. On a 1440 × 2560 image that is about the top 358 pixels, the bottom 896, and 86 on each side.
Ask for plain space there in the prompt and keep the product in the middle. Put the words in the ad's text fields or add them in an editor: generated lettering can be misspelled, and for Facebook Reels Meta recommends no text on the image at all because of the small image size. All ads must comply with Meta's Advertising Policies.
Sources
- Meta Ads Guide: Facebook Feed image specs (read 2026-09-27)
- Meta Ads Guide: Instagram Feed image specs (read 2026-09-27)
- Meta Ads Guide: Facebook Stories image specs (read 2026-09-27)
- Meta Ads Guide: Instagram Stories image specs (read 2026-09-27)
- Meta Ads Guide: Facebook Reels image specs (read 2026-09-27)
- Meta Ads Guide: Instagram Reels image specs (read 2026-09-27)
- Image API
- Sume API reference
- API reference
Related posts
More in Use cases
- AI Instagram carousel post generator: same size, same style
Generate every carousel slide at one aspect ratio, 4:5 or 1:1, and reuse an approved slide as a style reference. Instagram's rules and an API recipe.
- AI jingle generator from text: make a podcast intro sting
Generate a jingle or podcast intro from a text brief: ask for the length in the prompt, then cut the track to the exact second with an audio split.
- AI lifestyle product photography from one packshot
Turn one packshot into lifestyle scenes: send it as a reference to an image model, describe one scene per request, and keep the shots that match.
- AI magazine cover generator API: covers with room for type
Generate a magazine-cover-style image with Sume: run the sume-magazine-cover-campaign Format with your photos, then set the masthead yourself.
Written by Sume