Ideogram API image URLs expire: download, or use Sume URLs

Ideogram's quickstart says image URLs expire, so download what you keep. Sume returns Sume-hosted signed URLs in data[].url. Where each result lives.

4 min readSume
All posts

Yes, Ideogram image URLs expire. The Ideogram quickstart says "image URLs expire, so download anything you want to keep", so a stored URL is not a stored image. Sume's image API returns data[].url as a Sume-hosted, signed URL, but you should still copy any file you need to keep into your own storage.

Ideogram facts are from its API overview page; Sume facts from the Image API docs, both read 2026-10-01.

What does Ideogram say about its image URLs?

The quickstart notes that image endpoints return results directly and that the URLs expire. Its sample code downloads the first returned URL and writes it to a file. The page snapshot does not state a lifetime, so do not plan around a specific number of minutes or hours.

What does Sume return instead?

The Sume image docs list the result payload as data[].url (Sume-hosted, signed) rather than inline base64, and say Sume already mirrors generated media. Slow requests return a job envelope with 202; then you poll GET /v1/jobs/{id}/status and fetch GET /v1/jobs/{id}/result.

Where the result lives, from the vendor and Sume docs, read 2026-10-01.
QuestionIdeogram quickstartSume Image API
Result fieldImage URL in the response datadata[].url, Sume-hosted and signed
Does the URL last?Expires; download what you keepSigned; the docs give no lifetime here
Slow requestsNot covered on this page202 job envelope, then status and result endpoints

Should I still copy the file?

Yes. A signed URL is an access path, and the docs do not promise it is permanent. For anything you ship or archive, fetch the file once after the job completes and store it with your own record of the job_id. The same habit applies to the other models that return short-lived links; see Seedream URLs and the Sume-hosted copy.

How do I fetch a result after the wait budget?

The wait is a budget, not a duration: Sume's jobs docs say "30 seconds is a wait budget, not a job duration". If you get 202, keep the job id and read the standard result endpoint later instead of resubmitting. See Jobs and results.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume