Order-by dates: four 15 s avatar clips cost the same as one 60 s

Four 15 s Sume Avatar 1.0 order-by clips cost 969.6 credits at plus, the same as one 60 s job (16.16 per second), and each posts on its own date.

5 min readSume
All posts

Four 15-second Avatar 1.0 clips cost 969.6 credits at the default plus quality, exactly what one 60-second job costs, since the rate card is 16.16 credits per second with no product image (4 x 15 x 16.16 = 969.6). So four separate order-by announcements are priced like one long video, and each one can be posted on its own date.

The dates themselves are yours: they come from your carrier and your own packing schedule, not from Sume. Put each in the script once, and re-record only the clip whose date changes.

Cost by tier

Totals are credits per second from the Sume pricing contract multiplied by 60 seconds in all.

Four 15-second avatar clips, no product image (Sume pricing contract, read 2026-10-13)
QualityCredits/sOne 15 s clipFour clips
standard12.14182.1728.4
plus (default)16.16242.4969.6
max36.27544.052,176.2

Four jobs, four keys

Four accepted jobs fit in any plan, since a Free workspace accepts 6 at once. Use the same avatar and aspect ratio in each so they look like a set; only the script differs.

import asyncio, os
import httpx

SCRIPTS = {
    "a": "Order by the first date on our shipping page for ground delivery before Christmas.",
    "b": "Order by the second date on our shipping page for expedited delivery.",
    "c": "Order by the third date on our shipping page for overnight delivery.",
    "d": "Too late to ship? Gift cards are delivered by email the same day.",
}

async def main():
    headers = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
    async with httpx.AsyncClient(headers=headers, timeout=60) as c:
        for k, script in SCRIPTS.items():
            r = await c.post("https://api.sume.com/v1/avatar-1.0/talking-video",
                headers={"Idempotency-Key": f"orderby-2026-{k}"},
                json={"avatar_handle": "store_host", "aspect_ratio": "9:16",
                      "quality": "plus", "script": script})
            r.raise_for_status()
            print(k, r.json().get("id"))

asyncio.run(main())

Check each date before posting

Replace the placeholder lines with the real dates from your shipping page before you submit. A date spoken by an avatar cannot be fixed by a caption, so a wrong date means a re-render. To keep the cost of changes down, keep the date in its own short clip, as here.

Add burned-in captions with the inline captions setting, so the date is also on screen.

  • Each clip must be 4 to 60 seconds by Sume's estimate.
  • Use a stable Idempotency-Key per clip.
  • Delete expired clips from your feed after the date.

Related posts

More in Sume Avatar 1.0

All Sume Avatar 1.0 posts

Written by Sume