Luma API video URL expires after 1 hour: what to do on Sume

Luma Agents API video URLs are presigned and expire after 1 hour. On Sume, a completed job is fetched with your API key from the /content endpoint.

4 min readSume
All posts

Yes. Luma's Agents API delivers generated images and videos as presigned URLs that expire after 1 hour, so you must download promptly or poll GET /v1/generations/{id} for a fresh one. On Sume you do not hold an expiring link: a completed job is downloaded from /v1/videos/{jobId}/content with your API key in the Authorization header.

Luma facts are from its model guide; Sume facts from Video generation, both read 2026-10-01.

What exactly does Luma say about expiry?

The guide's "Presigned URL expiry" section says generated images and videos are delivered as presigned URLs that expire after 1 hour. Its remedy is to download promptly or request a fresh URL by polling the generation again. Anything that stores the URL itself, such as a database row or a CMS field, will hold a dead link after that hour.

How does a Sume completed job hand back the file?

When a Sume video job reports completed, its unsigned_urls array lists URLs for the generated content, and the docs also show the content endpoint directly. The request carries your key, and the optional index query parameter defaults to 0.

curl "https://api.sume.com/v1/videos/{jobId}/content?index=0" \
  -H "Authorization: Bearer $SUME_API_KEY" \
  --output video.mp4

How do the two delivery models compare?

Delivery of a finished video, from the Luma and Sume docs read 2026-10-01.
QuestionLuma Agents APISume
What do you getA presigned URLunsigned_urls plus a /content endpoint
What authorizes the downloadThe signature in the URLAuthorization: Bearer API key
Documented expiry1 hourNot stated on the video page
Getting it againPoll GET /v1/generations/{id}Call /content again with the job id

What should I store?

Store the job id, not a URL. If you must keep the file, copy the bytes into your own storage as soon as the job completes. For the Sume side, see do Sume video URLs expire and download a generated video from the API.

What if the job failed?

Nothing is left to download. The admission docs say failed jobs and failed queue admission release or refund the reservation where applicable, so a failed job is not a charge to chase.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume