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.

6 min readSume
All posts

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.

Documented per-job rates for the trim then caption order (read 2026-10-06)
StepEndpointDocumented rateInput limit that matters
Cut the rangePOST /v1/video-trim$0.02 per jobDuration 0.2 to 900 s; source up to 1800 s; a media.sume.com video
Caption the cutPOST /v1/video-captions$0.20 per jobPrice quoted for videos up to 60 s; a public HTTPS video URL
Total, one episodeBoth$0.22Each 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

All Pricing posts

Written by Sume