TikTok ad caption budgets: 100 in TopView, 150 for Spark Pull, 4 lines

TikTok's TopView page caps ad captions at 100 characters, Spark Pull allows 150, and both display four lines. Limits by placement and short burned-in text.

5 min readSume
All posts

TikTok does not use one caption limit across its ad types. The TopView page says the ad caption has a maximum of 100 characters and shows at most four lines, while the reservation in-feed page lists 150 characters for a Spark Ads Pull caption, and recommends staying within 100 characters (50 for Chinese, Japanese and Korean) for non-Spark ads and Spark Ads Push to avoid truncation (read 2026-10-03). So the safe budget is 100 characters unless you are pulling an organic post.

These caption boxes are filled in Ads Manager, not by Sume. What Sume handles is the text burned into the video, which has to coexist with them.

Limits by ad type

The pages also set rules for names and profile photos, but captions are where most edits happen. A Spark Ads Pull caption is read straight from the organic video, so it cannot be changed in the ad; you change the post. On the TopView page, a Pull caption is described as up to 100 characters or blank, while the reservation in-feed page says 150 or blank. The two pages disagree for the same placement type, which is a reason to check the current page for the placement you buy rather than copy a number from a blog post.

Caption limits from TikTok Ads Help, read 2026-10-03
Placement and typeCaption limitNotes
TopView, non-Spark and Spark Push100 characters, 4 linesAccount name up to 20 characters (10 for CJK)
TopView, Spark Pull100 characters or blankTaken from the organic video
Reservation in-feed, Spark Pull150 characters or blank, 4 lines, then See moreTaken from the organic video
Reservation in-feed, non-Spark and PushKeep within 100 characters (50 for CJK)Longer text can be truncated

Keep burned-in text out of the caption's way

A four-line caption takes space from the bottom of the vertical frame, and text you burn into the video can end up beside or under it. Sume's video captions endpoint places a burned-in line with design.placement.anchor_ratio, the line's centre as a fraction of frame height, using the slam style. A smaller number lifts the line, so a ratio of 0.4 sits well above the bottom caption area. The docs do not say what ratio is right for TikTok, so check the result in TikTok's preview.

Short ad captions also help the video do its work. Write the burned-in text as the hook, and use the Ads Manager caption for a plain description. The script below burns one line at a ratio you choose and prints the output URL. It needs a clip on a public HTTPS URL.

import os, time, requests
BASE = "https://api.sume.com"
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}

def run(path, body, key):
    r = requests.post(BASE + path, headers={**H, "Idempotency-Key": key}, json=body)
    r.raise_for_status()
    job = r.json()["request_id"]
    while True:
        s = requests.get(f"{BASE}/v1/jobs/{job}/status", headers=H).json()["status"]
        if s in ("completed", "failed", "canceled"):
            break
        time.sleep(3)
    return s, (requests.get(f"{BASE}/v1/jobs/{job}/result", headers=H).json() if s == "completed" else None)

status, res = run("/v1/video-captions", {
    "video_url": "https://media.sume.com/artifacts/artf_demo/ad.mp4",
    "style": "slam", "design": {"placement": {"anchor_ratio": 0.4}}}, "caption-budget-001")
print(status, res and res.get("video_url"))

Why two pages can give two numbers

TikTok publishes separate help articles for each buying type, and they are updated on their own schedules. One article covers TopView and another covers reservation in-feed ads with Reach and Frequency. They share most rows, such as the 98 x 98 profile photo and the 500 MB video limit, and still differ on this caption row.

For planning, use the lower number. If your caption fits in 100 characters, it fits both pages, and you will not need to rewrite it when you move the same creative to another placement. Where a long caption really is needed, put it in a Spark Pull post and check the placement's page for the limit that applies to it.

A quick count before you submit

Count characters the way TikTok does: letters, spaces and punctuation each count. Emoji can count as more than one character in some systems, so test a longer line in the Ads Manager box before you rely on it. If the caption is cut at a line break, TikTok shows See more on the Pull type, and the rest is hidden until someone taps.

Keep a small table with the limit for each placement you buy, along with where the number came from,, the date you read it, and the caption you used. When TikTok updates a page, the date shows you which rows to re-check, and a second person can confirm your count in a minute instead of rereading every article from the start.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume