D-ID translation result URL: valid 24 hours, then re-fetch

D-ID's translation result_url is valid for 24 hours, so store the file or re-fetch it. Sume media.sume.com URLs do not expire. What to save and when.

4 min readSume
All posts

D-ID's Video Translate page says the result_url for a finished translation is valid for 24 hours, and tells you to store the video or re-fetch the translation to get a fresh URL. Sume works the other way round: generated media is served from durable media.sume.com URLs that the docs say do not expire.

D-ID facts are from its quickstart; Sume facts from Runs and Jobs and results, read 2026-10-01.

How does the D-ID translation flow end?

You POST /translations with a source_url and a list of languages. Each language becomes its own translation with its own id. You poll each one until status is done; the page says this typically takes 1-5 minutes depending on video length. The done response carries result_url, a direct link to that language's video. That link is the one with the 24-hour limit.

What is the difference in URL lifetime?

Result-link lifetime in the D-ID quickstart and the Sume docs, read 2026-10-01.
QuestionD-ID translationSume
How long is the link good?24 hoursDurable media.sume.com URLs; the docs say they do not expire
What if it lapses?Re-fetch the translation for a fresh URLNothing to refresh; expires_at is null on durable URLs
Who can open the link?Not stated on the pageAnyone holding the URL (public)

How does a Sume job hand you the file?

The default mode is async: you get a 202 with the job envelope and polling URLs, poll status_url until terminal is true, then GET result_url once result_ready is true. A webhook is optional and terminal-only (job.completed, job.failed, job.canceled), so keep polling as a backup. The artifact URL you read back is the durable one, so you can store it against your own record and render it later.

Do I still need to copy the file?

Only for access control. The Runs page notes the URLs are public to anyone holding them, so if your product needs per-customer access, proxy or copy the file into your own storage. For D-ID, plan the copy inside the 24-hour window; see also do Sume video URLs expire for the Sume side.

What should my pipeline do?

If a step downstream is slow or batched, do not carry a time-limited link through it. With D-ID, download at done time. With Sume, save the job id and the media.sume.com URL, and read expires_at anyway: it is only populated when a signed URL is returned, so a non-null value is your cue to copy.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume