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.

5 min readSume
All posts

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:

Meta's sizes from its Ads Guide image specs for each placement; request sizes checked against Image API, read 2026-09-27.
PlacementRatioMeta recommendsAsk ChatGPT Image 2.5 for
Facebook Feed4:51440 × 18001440 × 1808, then crop 8 px of height
Instagram Feed4:51440 × 18001440 × 1808, then crop 8 px of height
Facebook Stories9:161440 × 25601440 × 2560, as is
Instagram Stories9:161440 × 25601440 × 2560, as is
Facebook Reels9:161440 × 25601440 × 2560, as is
Instagram Reels9:161440 × 25601440 × 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 large n are the slow configurations most likely to return 202 with 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

Related posts

More in Use cases

All Use cases posts

Written by Sume