TikTok in-feed ad caption rules: no hashtags, @ or clickable links

TikTok non-Spark in-feed ad captions are white in a fixed font, cannot hold links, @ symbols or hashtags. Where a burned-in caption fits instead.

5 min readSume
All posts

A non-Spark TikTok in-feed ad caption is shown in white in a uniform font you cannot customise, and it cannot include clickable links, @ symbols or hashtags. Anything you want styled, coloured or timed has to be part of the video itself, which is what burned-in captions are for.

The rules are from TikTok's Auction In-Feed Ads specifications, read 2026-10-02. The Sume part is Video captions.

What does the ad caption field allow?

The page lists three constraints for Non-Spark captions. Display is white in a uniform font. There is no customising it. No links, no @ mentions and no hashtags.

For Spark Ads the page says the caption is extracted from the organic video's caption, up to four lines. Hashtags and mentions are supported in the Content Posting API title field per TikTok's Direct Post reference, so a Spark Ad's caption comes from a field that accepts them, though the in-feed page does not say how they render in the ad.

Caption rules from TikTok's Auction In-Feed Ads page, read 2026-10-02.
Ad typeCaption sourceRules listed
Non-SparkTyped in Ads ManagerWhite, uniform font, no links, @ or hashtags
SparkOrganic post captionMax 4 lines

Can a burned-in caption carry what the field cannot?

Burned-in text is pixels, so it is not the ad caption field and TikTok's caption rules do not govern its font. It is still subject to TikTok's ad review like any creative, and the page does not say otherwise, so keep claims accurate and avoid link-like text you cannot make clickable.

Sume's POST /v1/video-captions burns styled speech captions (slam, punch, tiktok-green, black-outline and others) or authored cues. It costs $0.20 per job for videos up to 60 seconds. The design field overrides colours and placement for one request, except on punch and tiktok-green.

How do I add a hook line without a hashtag?

Use authored cues for the first seconds, then let speech captions take over in a second pass if needed. Fields script_text, words, cues and segments are mutually exclusive in one request, so run two jobs rather than mixing them.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: hook-cue-001" \
  -d '{"video_url":"https://media.sume.com/artifacts/artf_demo/ad.mp4","style":"black-outline","cues":[{"text":"Free shipping this week","start":0,"end":2.5}]}'

What does Sume not do?

Sume does not fill the Ads Manager caption field and does not enforce TikTok's caption rules; a hashtag you burn into pixels is not blocked by the API. Check the final video against the ad policy, and see AI disclaimers on TikTok ads if the clip is AI-generated.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume