Plan a Black Friday spot free: billable minutes and cost in micros
Sume timeline-1.0 plan compiles a Black Friday spot without a job or a charge and returns segment_count, billable_minutes, and estimated_cost_usd_micros.

Before you render a Black Friday spot, send the same body to POST /v1/timeline-1.0/plan. It returns object: timeline_plan with duration_seconds, segment_count, billable_minutes, estimated_cost_usd_micros, and a filtergraph_summary, and it creates no job, reserves no credits, and downloads no media. It needs no Idempotency-Key.
This is the plan section of Timeline 1.0 (read 2026-10-06). A 45-second spot is one billable minute, so expect an estimate for one minute at $0.10, which is 100000 in micros.
What does a plan check, and what does it miss?
A plan runs the schema, the Sume-host URL checks, and the compiler. It cannot predict warnings that depend on the media, such as a short source that is padded or looped.
| Field | Meaning |
|---|---|
| duration_seconds | Output length |
| segment_count | Video slots |
| billable_minutes | Rounded up from the spine length |
| estimated_cost_usd_micros | Estimate in millionths of a dollar |
| filtergraph_summary | A summary of the compiled program |
How do I call it?
Use the render body. The example is a 45-second spot with three slots of 15 seconds, so segment_count should be 3.
curl -X POST https://api.sume.com/v1/timeline-1.0/plan \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio": { "url": "https://media.sume.com/artifacts/artf_demo/vo.wav",
"duration_seconds": 45 },
"video": [
{ "source_url": "https://media.sume.com/artifacts/artf_demo/a.mp4", "start": 0, "duration": 15 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/b.mp4", "start": 15, "duration": 15 },
{ "source_url": "https://media.sume.com/artifacts/artf_demo/c.mp4", "start": 30, "duration": 15 }
]
}'When is it worth doing?
Run it on every spot in a batch. A spine of 61 seconds bills two minutes, so a plan catches a script that ran over a minute before you pay for the render.
- Confirm the live rate with
GET /v1/catalog. - The render reserves
ceil(audio.duration_seconds / 60)minutes, and a plan'sbillable_minutesfollows the same rule. - A passing plan is not a guarantee: read the render's
warnings[]as well.
Sources
Related posts
More in Use cases
- Podcast network: transcripts, cover art and stings for 12 episodes
12 episodes of 45 minutes, four Ideogram 4.5 cover options each and three music stings each cost about $14.24 a month on Sume. Unit prices and the sum.
- Podcast trailer clip at 480p: 15 seconds on Wan, H3 or Seedance
A 15-second 480p podcast trailer clip costs $0.94 on Wan 3.0 or MiniMax H3 and $2.11 on Seedance 2.0 Fast on Sume, all with audio.
- Pop-up holiday market video: 3 phone clips for 16 cents
Turn three phone clips from a pop-up holiday market stall into one 24-second video on Sume: three trims at $0.02 and one timeline minute at $0.10, $0.16 in all.
- Price labels on AI product photos: draw the text in code
AI image models can misplace text, per OpenAI's own guide. For exact prices, generate a clean product photo on Sume and add the label with Pillow instead.
Written by Sume