Trim first, then caption: the 60-second note on the caption price
Sume quotes the $0.20 video-captions price for videos up to 60 seconds. Cut the episode with video trim at $0.02 first, then caption only the part you keep.

The short answer
If the Short you plan to publish is shorter than the file you have, cut it first and caption the cut. The Sume video captions page prices a standalone caption job at $0.20 and says the price is for videos of at most 60 seconds, under the current fixed estimate. The page tells you to read GET /v1/catalog for the live price. Video trim is a flat $0.02 per job. Spending two cents to hand the caption step a clip inside the quoted length is the cheaper and more predictable order.
YouTube's help page says Shorts can be up to three minutes long, so a 60-second quote leaves room to go over it with a full-length episode. This post is about staying inside the stated range and not about guessing what a longer clip would cost.
What each step costs
Rates below are the ones the Sume docs state for these endpoints. They are not a quote; confirm them in the catalog before a large batch.
| Step | Endpoint | Documented rate | Input limit that matters |
|---|---|---|---|
| Cut the range | POST /v1/video-trim | $0.02 per job | Duration 0.2 to 900 s; source up to 1800 s; a media.sume.com video |
| Caption the cut | POST /v1/video-captions | $0.20 per job | Price quoted for videos up to 60 s; a public HTTPS video URL |
| Total, one episode | Both | $0.22 | Each job has its own Idempotency-Key |
The two calls
Both are jobs: the submit returns a request id and you poll GET /v1/jobs/:id/status until it is terminal, then read GET /v1/jobs/:id/result. The trim result carries a new video_url for the cut (never the source), and that new URL is what step two takes. Give each call its own key; a shared key between two different bodies is a mistake.
# 1. trim the episode to the 45 s you want captioned (job; poll it, then read video_url)
curl -X POST https://api.sume.com/v1/video-trim \
-H "Authorization: Bearer $SUME_API_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: s1-ep04-trim-v1" \
-d '{"video_url": "https://media.sume.com/artifacts/artf_demo/long-take.mp4",
"start": 12, "duration": 45}'
# 2. caption the trimmed file, not the long one
curl -X POST https://api.sume.com/v1/video-captions \
-H "Authorization: Bearer $SUME_API_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: s1-ep04-captions-v1" \
-d '{"video_url": "https://media.sume.com/artifacts/artf_demo/trimmed.mp4",
"style": "punch"}'Why not caption the long file and trim after
Order matters because captions are burned in. Trim a captioned file afterwards and you must use a range whose edges you cannot move without losing a word, and the caption job may have spent its price on 90 seconds of speech you were going to discard. Cut first, and the words that survive are the only words that get timed.
There is one case for the other order: a long recording where you do not yet know which 45 seconds you want. Use video inspect with transcription ($0.01 per audio minute on top of the inspect's compute charge) to read the transcript, pick the range from the text, and then trim. That is three small jobs instead of one expensive one, and each of them can be re-run on its own.
When the cut changes the clip
A keyframe-precision trim can start earlier than you asked and reports the real start in actual_start_seconds. The default exact precision lands on the requested time. For captioned Shorts, use exact, so the first spoken word is not clipped or preceded by a stray half second of the previous sentence. An end past the end of the source clamps and returns the trim_clamped_to_source warning. Read warnings before you caption.
Finally, a clip under the limit is not a free pass: video_url for captions must be a public HTTPS URL Sume can fetch, and a media.sume.com artifact is. If the caption job returns caption_no_speech, the clip had no speech to time, and that is the end of the matter for that clip.
A practical rule for a series: decide the published length before you shoot or generate. If every episode is 45 to 59 seconds, you can skip the trim for clips that already fit, and the caption job is the only per-episode cost besides the render. Use the trim only for the longer recordings, where it earns its two cents by keeping you inside the quoted range.
Keep the idempotency keys readable. A key like s1-ep04-trim-v1 tells you at a glance which season, which episode, which step and which version it belongs to, and it makes a replay after a network error safe. When you change the range on purpose, bump the version so Sume treats it as a new request.
Last, watch the clock on the captioned file you publish. Captions are burned into the pixels, so changing a word later means a new caption job, and the caption job is the larger of the two prices. Proofread the transcript before you start the batch, not after.
Sources
Related posts
More in Pricing
- 52 weekly newsletter header images: Ideogram 4.5 cost by tier on Sume
A year of weekly newsletter headers on Ideogram 4.5: $1.95 on low, $3.90 on medium, $14.30 on high, plus a three-drafts-then-one-final plan at $20.15.
- What one captioned Shorts episode costs on Sume, itemized
Add the documented Sume rates for one Shorts episode: render, trim, captions, transcript. A Python estimator refuses captions past the 60-second quote.
- What one Ideogram 4.5 image costs in voice minutes and video seconds
One medium Ideogram 4.5 image costs as much as 1.75 minutes of Sume speech or 7.5 transcript minutes. An exchange-rate table from images to audio and video.
- How Sume pricing works: plans, one wallet, published model rates
Sume plans set access and concurrency. Usage draws from one prepaid wallet at each model's published USD rate, for generation, the Agent, Formats, and the API.
Written by Sume