TikTok Spark Ads code: 7, 30, 60 or 365 days, caption locked

TikTok Spark Ads authorization codes last 7, 30, 60 or 365 days and the post caption cannot change once authorized. Prepare an AI video accordingly.

5 min readSume
All posts

A TikTok Spark Ads authorization code can be generated for 7, 30, 60 or 365 days, and you cannot edit the post's caption after it has been authorized as an ad. For an AI-generated video that means the caption, the burned-in text and any AI disclosure have to be final before you ask the creator for a code.

Both facts come from TikTok's help article How to create Spark Ads for Smart+ Campaigns in TikTok Ads Manager, read 2026-10-02. Spec-level limits for Spark video are in TikTok Spark Ads video requirements.

How long does a Spark Ads code last?

The creator chooses the duration when generating the code: 7, 30, 60 or 365 days. The same page supports batch authorization of up to 20 video codes at a time, and says video codes can only be deleted once all ads that use them are removed.

The page does not state what happens at expiry beyond the duration itself, so plan renewals as a fresh authorization rather than assuming an extension.

Spark Ads facts from TikTok's Smart+ Spark Ads help article, read 2026-10-02.
ItemValue on the page
Code duration7, 30, 60 or 365 days
Batch authorizationUp to 20 video codes at a time
Caption after authorizationCannot be edited
Private videosBecome public when used in campaigns
Spark Ads per accountMaximum 10,000

What should be final before the code is issued?

Three things live in the video or caption, and only the caption is locked by TikTok's rule. The burned-in captions and any on-screen AI note are pixels in the file, so they are effectively locked too once the post is live: replacing the video means a new post and a new code.

The post caption is sent as the title field of the Content Posting API's Direct Post, which TikTok's Direct Post reference caps at 2200 UTF-16 runes; is_aigc marks the video as AI-generated content there. Finalise both before you publish the organic post.

  • Cut to the final length and hook: POST /v1/video-trim with start and duration.
  • Burn the captions you want to appear: POST /v1/video-captions, using script_text if the transcript must match your copy.
  • Proof the exported file once, then publish and request the code.

How do I prepare the clip with Sume?

Trim first, then caption the trimmed file, so the caption timings match the final cut. The caption job needs a public HTTPS video_url; use the trimmed artifact URL once the trim job completes.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: spark-final-001" \
  -d '{"video_url":"https://media.sume.com/artifacts/artf_demo/trimmed.mp4","style":"slam","script_text":"Your final line here."}'

What does Sume not handle?

Sume does not request Spark codes, link a TikTok account, or edit a post after publishing. It also cannot change a caption that TikTok has locked. If you need new wording, render a new video, publish a new post and authorize it again.

Private videos become public when used in a campaign, per the same article, so do not use a private test post as a stand-in for an unfinished ad.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume