Square item images: 2000x2000, 15 MB, 1:1 from AI
Square recommends item images of at least 2000 x 2000 px at 1:1, up to 15 MB. Use the Sume Image API 2K tier with a 1:1 ratio and check the pixel size.

Square accepts JPG, JPEG, PNG and GIF item images up to 15 MB, and recommends at least 2000 x 2000 pixels at a 1:1 ratio. Images added to the item library sync across your point of sale and online store. With Sume, request aspect_ratio 1:1 and resolution 2K, then check the output size before you upload, because the Image API serves resolution tiers, not exact pixels.
The figures are from Square's help article, read on 2026-10-02.
What are Square's item image numbers?
The article is short and concrete.
| Item | Value |
|---|---|
| Formats | JPG, JPEG, PNG, GIF |
| Max file size | 15 MB |
| Recommended size | At least 2000 x 2000 px |
| Recommended ratio | 1:1 |
| Where it appears | Synced across Square POS and Square Online |
How do I request a Square-ready image?
The Image API lists 1:1 among its aspect ratios and 2K as a resolution tier. Pass the real product photo as an input_references image, and ask only for a cleaner background so the item stays true to life. A café menu or shop counter sells on what the item looks like, so keep the product itself unchanged.
import os, requests
r = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json={
"model": "sume/auto",
"prompt": "Place this exact croissant on a clean white plate, plain light background, soft side light, do not change the croissant",
"input_references": [
{"type": "image_url", "image_url": {"url": "https://example.com/menu/croissant.jpg"}}
],
"aspect_ratio": "1:1",
},
timeout=60,
)
body = r.json()
if r.status_code == 200:
print(body["data"][0]["url"])
else: # 202: poll the job
print(body["data"]["status_url"])
Check the pixels before uploading
Do not assume 2000 x 2000. Open the file and compare it with the recommendation. If it is smaller, Square still accepts it, since 2000 x 2000 is a recommendation, but it may look soft on large screens. The 15 MB limit is only likely to bite on PNG output; ask for output_format jpeg if a file is too large.
Sources
Related posts
More in Use cases
- Steam Next Fest October 2026: cut a demo trailer with captions
Steam Next Fest runs 19 to 26 October 2026. Cut a 30-second demo trailer from gameplay captures using trims, Timeline and caption cues, for under a dollar.
- Storyblocks says its library is 100% human-made: what that means
Storyblocks announced on 20 May 2026 that its library is 100% human-made under a zero generative AI policy. What buyers can and cannot read into that.
- Synthesia Sessions alternative: avatar briefing clips by API
Synthesia launched Sessions for live avatar roleplay. Sume renders scripted avatar clips instead: what that covers in sales training, and what it does not.
- SynthID Detector: how to check a video for a watermark today
Google DeepMind's SynthID page says a detector portal exists with an early-tester waitlist, and Gemini can check uploads. What that means for a video team.
Written by Sume