Reference image rejected? A public HTTPS URL checklist

Sume rejects localhost, private-network, non-HTTPS, and signed or private URLs for reference images. Six checks, and what image_not_fetchable means.

4 min readSume
All posts

If Sume rejects a reference image, the URL is almost always not a public HTTPS image. The Image API docs say reference URLs must be public HTTPS, and localhost, private-network, and non-HTTPS URLs are rejected before submission. If Sume accepts the URL but cannot fetch it, you get image_not_fetchable or input_media_unreachable.

This matters more for edit workflows like text replacement on an existing ad, where the reference is the file you already have, as with Ideogram 4.5's reference edits on Higgsfield (Higgsfield changelog, read 2026-10-02).

What does Sume reject?

Per the docs, these rejections happen before generation submission. Check each row.

Reference URL checks from Sume's docs, read 2026-10-02
CheckRule
Schemehttps only
HostPublic; not localhost or a private network
AccessNo signed or private URLs
Content typeMust match the image; a mismatch is rejected
Count1-10 on Image 1.0; up to 16 on ChatGPT Image 2.5
Fieldinput_references on /v1/images; image_urls on Image 1.0

What does image_not_fetchable mean?

It is listed with input_media_unreachable and storage errors under provider and worker backpressure: Sume could not fetch or mirror the media safely. The documented next step is to check that the input is a public HTTPS image URL, then retry or contact support with the request id.

How do I test a URL before I send it?

Fetch it yourself from a machine outside your network and read the content type. A short script does the same.

import sys
import requests

url = sys.argv[1]
if not url.startswith("https://"):
    raise SystemExit("not https")
r = requests.head(url, allow_redirects=True, timeout=15)
kind = r.headers.get("content-type", "")
print(r.status_code, kind)
if r.status_code != 200 or not kind.startswith("image/"):
    raise SystemExit("not a publicly fetchable image")

What if the file is private?

Host a copy on a public HTTPS location for the duration of the job, or reuse a Sume-hosted artifact URL from an earlier result. Expiring links, such as a signed URL that lapses in an hour, can fail between your check and Sume's fetch, so use a longer-lived copy. See the Image API docs, the media input rules, and the Errors docs.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume