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.

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?
| Topic | Akool Talking Photo | Sume |
|---|---|---|
| Resource lifetime | 7 days | Durable media.sume.com URLs, documented as non-expiring |
| Completion | Poll until video_status is 3 | Poll status_url until terminal, then read result_url |
| Callback | webhookUrl | Public HTTPS webhook_url; terminal events only |
| Photo input | talking_photo_url plus audio_url | Avatar 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
- Alibaba's Sora 2, Veo 3.1, Kling 3.0 migration table vs Sume ids
Alibaba Model Studio maps Sora 2, Veo 3.1 and Kling 3.0 to happyhorse-1.1 models. Which of its targets are Sume catalog ids, and how model: sume/auto fits in.
- Amazon A+ createMedia 201, 200, 409: retry-safe uploads on Sume
Amazon's createMedia answers 201, 200 or 409 on retry. Pair it with one Sume Idempotency-Key per asset so a retried submit never bills twice.
- Amazon A+ media status NOT_APPROVED: poll Sume, then upload
Amazon A+ video media moves through PENDING_PROCESSING, PENDING_REVIEW and AVAILABLE. Two clocks run: finish the Sume job first, then poll Amazon.
- Amazon A+ Content API: mediaUrl is not permanent, keep your own copy
Amazon says A+ getMedia's mediaUrl is non-permanent. Re-fetch it, and keep your own copy of finished Sume clips by downloading from the content URL.
Written by Sume