Embargoed Black Friday reveal: Sume media URLs are public, copy first
Format artifacts sit on durable public media.sume.com URLs with no expiry. For an embargoed drop, copy the file to your own storage and never log the URL.

A finished Format artifact sits at a durable public URL on media.sume.com with expires_at: null. For an embargoed Black Friday reveal that matters: anyone who has the link can fetch the file, so treat the URL as the asset itself.
What the docs promise
- The media URL does not expire.
- Artifacts carry
checksum_sha256,width,heightandduration_msso you can verify what you copied. - The cookbook's advice for products that embed a Format is server-only key custody, and to proxy or copy the durable URLs because they are public.
A copy-then-verify step
Fetch the artifact from result_url on your server, download it, compare the checksum and store it where your own access rules apply. Only then put your URL into the page that goes live at the embargo time.
import hashlib, requests
def copy_artifact(art, dest_path):
data = requests.get(art["url"], timeout=60).content
if hashlib.sha256(data).hexdigest() != art["checksum_sha256"]:
raise ValueError("checksum mismatch")
with open(dest_path, "wb") as f:
f.write(data)Keep it out of logs
Do not print the artifact URL in client-side code, error trackers or webhook logs before the reveal. Webhook bodies over 1 MiB arrive with payload: null and an error.result_url; fetch from your server in that case too. Remember that copying does not delete the public original.
Sources
Related posts
More in Developers
- Emotion tags in the script or an emotion field: Sume's bill
MAI-Voice takes emotion tags. Sume's documented control is generation_config.emotion, and every transcript character is billed, tags included.
- 'end_image_url requires image_url': a last frame needs a first frame
A last frame without a first frame is refused on both Sume video routes. Add a first frame, or drop the end frame and describe the ending in the prompt.
- An es-MX voice with an es-ES request: Sume compares primary language
Sume's TTS language check compares regional tags by primary language, so es-MX against es-ES passes. What that means for accent, and what 409 you get otherwise.
- Estimate a Sume video clip in Python: list x 1.25, rounded up
A runnable Python script that prices a clip for Wan 3.0, MiniMax H3, H3 Max and Gemini Omni 1.1 Flash with integer micros, so the cents match the bill.
Written by Sume