eBay PictureURL: first URL is the Gallery image, 3,975-char cap

eBay allows up to 24 picture URLs, uses the first as the Gallery image, and caps all PictureURL values at 3,975 characters. How to order and size a Sume batch.

5 min readSume
All posts

Which picture does eBay use as the Gallery image?

The first one you send. eBay's PictureDetails reference says the Gallery image is the first URL passed in the first PictureURL field, for both new listings and revisions. So the order of your generated images is a decision, not a detail: put the clearest front view first.

The same reference sets the other limits that matter for a generated set, all read 2026-10-03: up to 24 picture URLs on a listing (motor vehicles are the exception), every image at least 500 pixels on its longest side or the listing may be blocked, HTTPS only, spaces encoded as %20, and no semicolons in a URL.

Why the 3,975-character rule matters for long URLs

eBay says the total length of all PictureURL values on a listing must not exceed 3,975 characters. Divide that by the 24-picture maximum and each URL averages 165 characters (3,975 / 24 = 165.6, rounded down). A short CDN path fits easily. A long signed URL may not.

Sume's Image API describes data[].url as Sume-hosted and signed, with an example shaped like https://media.sume.com/img/01J.../0.png. The docs do not state a URL length, so measure the URLs you actually receive instead of assuming. If they are too long for 24 pictures, download the files and host them on a short path you control, or use fewer pictures.

PictureURL limits from eBay's PictureDetailsType reference (read 2026-10-03), with the arithmetic done here.
LimiteBay's valuePlanning consequence
Pictures per listingUp to 24 URLs (vehicles differ)Plan no more than 24 shots per SKU
Smallest image500 px on the longest sideNever request below this; the listing may be blocked
ProtocolHTTPS onlyReject any non-HTTPS host
Characters3,975 across all PictureURL valuesAbout 165 per URL if you use all 24
Gallery imageFirst URL in the first PictureURL fieldSort the hero shot first

How do I check a batch before listing?

Run a length check over the list you plan to send. The script below uses made-up URLs with a 120-character signature to show the failure: 24 URLs of that shape already total more than the cap.

Replace the sample list with your real URLs. Anything over the limit means shorter hosting paths or fewer pictures.

urls = [
    "https://example.com/img/" + str(i) + ".jpg?sig=" + "x" * 120
    for i in range(24)
]
limit = 3975
total = sum(len(u) for u in urls)
print("urls:", len(urls), "total chars:", total, "limit:", limit)
print("fits" if total <= limit else "too long")
print("average budget per URL:", limit // len(urls))

What do I ask Sume for?

Ask for one hero shot you are happy to see as the Gallery thumbnail, then the supporting angles. The Image API accepts up to 10 images per call with n, though per-model ceilings are lower, so read the n range in GET /v1/images/models before batching. Order the results yourself after download, since the first URL you submit to eBay is the one that leads.

For sizing, ask for a resolution tier well above eBay's 500 px floor and check the output's longest side before upload.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume