Caption a 10-minute TikTok: ten 60-second jobs, $3.30 with Sume

Sume states the caption price for videos up to 60 seconds. Cut a 10-minute TikTok into ten 60-second parts: $3.30 with inspect, trim, captions and reassembly.

5 min readSume
All posts

Short answer

Plan on $3.30 for a 10-minute video: $0.10 to read the transcript, $0.20 for ten trims, $2.00 for ten caption jobs and $1.00 to put the parts back together. The caption docs state the $0.20 price for videos of at most 60 seconds, so this plan keeps every caption job at 60 seconds. Confirm the live prices in GET /v1/catalog before you rely on the total.

Why 10 minutes

TikTok's media transfer guide for the Content Posting API says video can be up to 10 minutes through the API, while end users may be limited to 3, 5 or 10 minutes (read 2026-10-05). A 10-minute upload is therefore real, and it is the longest case to price.

The cost, line by line

Prices are the public rates in the Sume docs. The inspect line is the transcript fee at $0.01 per audio minute.

Cost to caption a 10-minute video in 60-second parts, read 2026-10-05
StepCountRateCost
Video inspect with transcript, 10 audio minutes1$0.01 per audio minute$0.10
Video trim, 60-second parts10$0.02 per job$0.20
Video captions, up to 60 s each10$0.20 per job$2.00
Timeline render, 600 s output1$0.10 per ceil(minute) x 10$1.00
Total$3.30

Cut on pauses, not on the clock

A hard cut every 60 seconds can split a word or sentence across two caption jobs. Use the transcript from the inspect call, which includes word timings, to find the nearest pause before each 60-second mark, and trim there. Each part must still be 60 seconds or less. Use precision exact so the cut lands on the frame you chose, and keep audio on. Each caption job needs a public HTTPS video_url, and the trim result is a media.sume.com artifact.

def cuts(words, limit=60.0, gap=0.3):
    """words: [(start, end)] in seconds. Cut points on pauses, parts <= limit."""
    out, start, best = [], 0.0, None
    for i in range(len(words) - 1):
        end, nxt = words[i][1], words[i + 1][0]
        if nxt - end >= gap:
            if end - start > limit and best is not None:
                out.append(best)
                start = best
            best = end
    return out

ws = [(i * 1.0, i * 1.0 + 0.6) for i in range(130)]
print(cuts(ws))

Reassemble and check

The caption result returns a captioned video_url. The timeline route only accepts media.sume.com artifacts or assets, so check the host on each captioned URL and import it first if needed. Then place the ten parts as ten slots with start values that increase from 0, with the audio spine's duration_seconds set to 600. A timeline can hold up to 200 slots and 1800 seconds, and with more than 12 segments the default strategy chunks the render for you.

If you only need captions on the first minute as a hook, one trim and one caption job is $0.22, and the rest can be sent unchanged.

Two cautions apply. First, the $0.20 figure is the current fixed estimate for videos up to 60 seconds, and the docs tell you to read the live price from the catalog, so recompute the total from there when you plan a large batch. Second, I did not find a documented way to caption a longer file in one job at a flat price, which is why this plan keeps each job at 60 seconds. If you restyle the parts later, send source_caption_id and not video_url, because Sume reuses the existing word timings and does not transcribe again.

Sources

Related posts

More in Pricing

All Pricing posts

Written by Sume