Walmart image URLs: ports 80/443/8080/8443, no Dropbox or queries
Walmart accepts image URLs on ports 8080, 80, 443 or 8443 and rejects query strings, non-public links, HTML pages and Dropbox. Check Sume media URLs first.

Walmart's image guide says image URLs must be on port 8080, 80, 443 or 8443, and it lists URLs with query strings, non-public URLs, HTML pages and Dropbox links as unsupported (read 2026-10-02). A Sume image result comes back as a Sume-hosted HTTPS media URL, so the port is not the risk; the risk is what you do to the URL afterwards. Run a URL check on every generated image before it goes into a Walmart item feed.
What Walmart's page lists
The rules sit under the URL requirements of Walmart's image guidelines (read 2026-10-02). They apply to the link you give Walmart, not to the file itself.
| Rule | What the page says |
|---|---|
| Ports | 8080, 80, 443 or 8443 |
| Query strings | Not supported |
| Public access | Non-public URLs are not supported |
| Page type | HTML pages are not supported; the URL must point at the image |
| File sharing | Dropbox links are not supported |
What a Sume result URL looks like
Sume's Image API returns generated images as Sume-hosted URLs. The docs example is https://media.sume.com/img/01J.../0.png with a media_type, which is HTTPS on the default port and has no query string. Sume also mirrors outputs into Sume-owned media URLs and tells integrations to store that URL, not a provider URL (Media inputs).
That is the docs example, not a promise for every URL shape. Signed or private links are a different thing, so test the URLs you actually receive.
Check the URL before you put it in a feed
This small check mirrors the rules in the table. It prints an empty list for a clean URL.
from urllib.parse import urlparse
OK_PORTS = {80, 443, 8080, 8443}
def walmart_url_problems(url: str) -> list[str]:
u = urlparse(url)
port = u.port or (443 if u.scheme == "https" else 80)
problems = []
if u.scheme not in ("http", "https"):
problems.append("scheme")
if port not in OK_PORTS:
problems.append(f"port {port}")
if u.query:
problems.append("query string")
if "dropbox" in (u.hostname or ""):
problems.append("dropbox link")
return problems
print(walmart_url_problems("https://media.sume.com/img/abc/0.png"))Common ways a good URL goes bad
Most failures come from the pipeline around the image, not from the generator. Typical causes are a CDN that appends a tracking or resize query string, a link copied from a shared folder instead of the file itself, and a sheet cell that holds a preview page rather than the image address.
Fix those at the source: store the bare URL as returned, never rewrite it, and test it by fetching it once and confirming the response is an image, not HTML. That one fetch also proves the link is publicly reachable, which Walmart requires.
Where this fits in a batch
For a catalogue, submit one image job per SKU with an Idempotency-Key, put your own SKU in the job metadata, and read each URL from the finished job result (Jobs and results). Run the check as the last step, then write the passing URLs into your feed.
Sume does not upload to Walmart for you. The docs describe no Walmart integration, so the feed or Seller Center step stays yours. Size and background rules are covered in the 2200 x 2200 main image post.
Sources
Related posts
More in Use cases
- Walmart Media Library video: 100 MB limit and 200-character title
Walmart's Media Library takes videos of 100 MB or less with a title up to 200 characters, and restricts alcohol, tobacco and firearms. Check a Sume clip first.
- Walmart minimum four images per listing: a four-shot batch per SKU
Walmart's image guide asks for at least four images per listing. A four-shot plan per SKU on Sume: main on white, angle, detail, in-use, plus the checks to run.
- Walmart Sponsored Videos run 5 to 45 seconds: cut yours to length
Walmart Connect says Sponsored Videos run between five and 45 seconds. How to trim a finished product video to that window with Sume's video-trim endpoint.
- Wan 3.0 30-second drafts at 480p, then the 1080p final: cost on Sume
Alibaba lists Wan 3.0 at $0.05, $0.10 and $0.20 a second. A 30-second shot is $1.50, $3.00 or $6.00 at list; Sume's list x 1.25 makes it $1.875, $3.75 or $7.50.
Written by Sume