Batch trim clips from a spreadsheet of start and end times
Read start and end columns from a CSV and trim a long video into Shorts: one Video trim call per row at $0.02, with idempotency keys.

To cut a long video into Shorts from a spreadsheet, read a CSV with start and end columns and send one Video trim request per row. Each trim costs $0.02 (Sume docs, read 2026-10-03), so 30 rows cost $0.60. Mark the moments yourself or from a transcript, and keep a column for the idempotency key so a rerun never cuts the same row twice.
The sheet
Keep one row per clip.
| Column | Example | Used for |
|---|---|---|
| start | 92.5 | Trim in-point, seconds |
| end | 128.0 | Trim out-point, seconds |
| key | ep12-r03 | Idempotency-Key header |
| result_url | (filled after) | Where the finished clip landed |
Submit, poll, write back
Submit each row, poll the job until it is terminal, and write the result URL back to the sheet. Check GET /v1/jobs/:id/result for the output; do not assume a submit means success. Re-run only rows with an empty result_url. Verify the exact field names in the Video trim doc before you write the loop.
A trimmed clip alone is the same content; add your own commentary before posting, as discussed in the podcast clip post.
Sources
Related posts
More in Media tools
- Black bars on a YouTube Short: YouTube says no, so fill the frame
YouTube says uploads should never include letterbox or pillarbox bars, and Shorts take square or vertical files. Reframe 16:9 clips with Sume Timeline fit.
- Burned-in captions: ALL CAPS or as written? What each Sume style does
Sume slam, punch and tiktok-green upper-case every Latin word at render time; Hangul-identity styles burn text as written. What script_text and cues change.
- Can a 16:9 video be an Instagram Reel? The range says yes
Instagram accepts Reels from 1.91:1 to 9:16, so 16:9 (1.78) is inside the range. How to render a 1920x1080 cut or a vertical one from the same Sume clips.
- Caption a Recast video: burn captions after the person swap
Run h3-max-recast first, then send its output to POST /v1/video-captions. The kept source audio gives the captions speech to transcribe.
Written by Sume