100 Amazon SKU holiday videos at 20 s: render cost is $10 on Sume

A 20-second Timeline render bills one output minute at $0.10 per the docs. Math for 100 SKU videos with a $0.02 trim each, and the free plan call to check it.

3 min readSume
All posts

Rendering 100 SKU videos of 20 seconds each for Amazon Sponsored Brands costs $10.00 in Sume Timeline fees: each 20-second output bills as one ceil output minute at $0.10 (the docs' public rate). If you also trim each source to a clean window at $0.02 a job, add $2.00 for $12.00 total. That excludes the cost of generating the footage, and the rate should be confirmed against GET /v1/catalog before you commit a budget.

The arithmetic

Timeline bills ceil(output minutes), so anything from 1 to 60 seconds is one minute. Amazon's page lists 6 to 45 seconds and recommends 20 or less, so every Amazon-length video falls in the one-minute bucket.

Cost for a 100-video batch, Sume public rates in the docs vs Amazon length rule (read 2026-10-08)
LineRate100 videos
Timeline render, 20 s each$0.10 per ceil output minute$10.00
Timeline render, 45 s each$0.10 per ceil output minute$10.00
Optional trim per source$0.02 per job$2.00
Total with trim$12.00

Steps

Do the check before the spend.

  • Import all 100 source clips with POST /v1/media-imports.
  • Call POST /v1/timeline-1.0/plan for one representative body. Read billable_minutes; it should be 1.
  • Give every render a distinct Idempotency-Key such as the SKU id, so a retry cannot double-bill.
  • Set output to 1920x1080 and fps to 24, as Amazon's page requires 16:9 only.
  • Poll jobs in a loop with a small pause rather than all at once, and read each video_url.

A 45-second video costs the same render fee as a 20-second one, so length is a creative choice here, not a cost one. Amazon's own recommendation is the shorter length.

Idempotency and retries on a 100-job batch

A 100-job batch is where a retry bug costs real money. The Timeline and trim endpoints require an Idempotency-Key header. Use a key that is stable for a given SKU and a given version of the body, such as the SKU id plus a short version tag. If your script crashes and re-sends, the same key lets Sume treat the request as the same job instead of billing a second one.

Because the default mode is async, the submit returns a job quickly and you poll GET /v1/jobs/:id/status. A loop that submits 100 jobs, stores the 100 job ids in a file, and then polls them in groups is easier to restart than one that waits on each job in turn. Read each result from GET /v1/jobs/:id/result only after the status says it is ready.

Finally, check the account balance against the plan total before you start. If your balance is short, the later jobs will fail while the earlier ones succeed, and you will have half a batch to reconcile.

What Sume does not do

The plan call cannot predict warnings about short sources that get padded or looped, per the Timeline docs. It also does not account for the footage itself if you generate it with a video model, whose prices are separate.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume