Akool talking photo links expire in 7 days: what to archive

Akool says talking photo image, video and voice resources are valid for 7 days, so save them early. Sume media URLs do not expire; archive by need.

4 min readSume
All posts

Akool's Talking Photo overview says the resources (image, video, voice) generated by its API are valid for 7 days and should be saved promptly. On Sume the generated media URLs are durable media.sume.com links that the docs say do not expire, so the archive step becomes a product choice, not a deadline.

Akool facts are from its overview page; Sume facts from Runs, read 2026-10-01.

What does the Akool page say about retention?

Two lines matter: the 7-day validity, and a best-practice note under result cleanup to save generated videos promptly. The same page lists video_status values 1 (in queue), 2 (processing), 3 (success) and 4 (failed), says to download the result URL at status 3, and offers a webhookUrl parameter plus a 720 or 1080 resolution choice.

How do the two compare?

Retention and completion signals, from the Akool overview and the Sume docs, read 2026-10-01.
TopicAkool Talking PhotoSume
Resource lifetime7 daysDurable media.sume.com URLs, documented as non-expiring
CompletionPoll until video_status is 3Poll status_url until terminal, then read result_url
CallbackwebhookUrlPublic HTTPS webhook_url; terminal events only
Photo inputtalking_photo_url plus audio_urlAvatar creation from a photo (input.type: "photo" with a public HTTPS image_url); a different step from Akool's one-call talking photo

What should I archive?

With a 7-day window, anything you will need after day 7 must be copied: the final video, and the source image and audio if you may regenerate. With Sume the docs note the URLs are public to anyone holding them, so copy the file only if you need per-customer access control or your own retention rules. Store the job id and the URL together either way.

How do callbacks differ?

Sume's webhook_url must be public HTTPS; localhost, private-network and non-HTTPS URLs are rejected. Delivery is terminal-only (job.completed, job.failed, job.canceled), with no progress callbacks, so keep status polling as a backup. Debugging steps are in debug Sume webhook delivery.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume