TikTok Shop 'results may vary': adding the disclaimer to an AI clip

TikTok Shop allows disclaimers only for before-and-after and time-based results, worded 'results may vary'. Burn the line into a clip with Sume captions.

5 min readSume
All posts

On TikTok Shop, a disclaimer is allowed only for before-and-after comparisons and for time-based results, and it must say "results may vary" or "individual results may vary". You can burn that line into a finished clip with Sume's POST /v1/video-captions using authored cues, which skips speech-to-text, but the disclaimer cannot rescue an effect the product does not actually deliver.

The rules come from TikTok Shop's How to Avoid Misleading Content page and its AI-generated content policy, both read 2026-10-02.

When is a disclaimer allowed at all?

The misleading-content page limits disclaimers to two cases, and says what the wording must be. Anything else a disclaimer is used for falls outside that allowance.

  • Before-and-after comparisons.
  • Time-based results.
  • The text must include "results may vary" or "individual results may vary".

What can a disclaimer not fix?

The same page lists claims that no disclaimer repairs. Scientifically impossible or unsupported claims can be rejected, with no exemptions. Language such as "100% effective", "guaranteed results", "works for everyone", "instant results" and "permanent effect" is listed as prohibited. Edits that fake a product effect are barred too, and the page says no disclaimer or category makes that acceptable.

The AI policy adds that AI must not be used to demonstrate a core product effect that the actual product does not support. For an AI before-and-after, the safest source is a real before and a real after from a real use, with AI limited to polish such as layout or translation.

Also watch the words around the clip. The same page says attributes in the video description, product name and the video itself must match the product detail page, so the caption copy you add should not promise more than the listing does.

Disclaimer or not (from TikTok Shop's misleading-content page, read 2026-10-02)
SituationDisclaimer helps?Note
Real before and after, shot over 4 weeksYesState the period; add the results-may-vary line
Result shown after a single use, product needs weeksNoInstant results are listed as prohibited
AI-generated after image of the effectNoAI may not demonstrate an unsupported core effect
A claim like guaranteed resultsNoProhibited wording

How do I burn the line into the clip with Sume?

Standalone video captions take a public HTTPS video_url. Authored overlay copy goes in cues (or segments) with text, start and end, and that path does not need audible speech, so a silent product clip works. A silent clip sent without cues fails with caption_no_speech and next_action: use_overlay_captions.

Show the line for the whole before-and-after segment, not for one frame. A cue that flashes for half a second is unlikely to count as a disclosure a viewer can read.

curl -X POST https://api.sume.com/v1/video-captions \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: serum-ba-disclaimer-001" \
  -d '{
    "video_url": "https://example.com/serum-before-after.mp4",
    "cues": [
      {"text": "After 4 weeks of daily use. Individual results may vary.", "start": 6, "end": 13}
    ]
  }'

How do I apply the line to a batch of clips?

One caption job per clip, one idempotency key per clip. The loop below reads a list of finished clips and the real period each one covers, so the cue text never claims a duration the footage does not show. The period comes from your records, not from the model.

import os, requests

clips = [("serum-12", "https://example.com/serum-12-ba.mp4", "4 weeks"),
         ("cream-07", "https://example.com/cream-07-ba.mp4", "6 weeks")]

for sku, url, period in clips:
    r = requests.post(
        "https://api.sume.com/v1/video-captions",
        headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
                 "Idempotency-Key": f"{sku}-disclaimer-v1"},
        json={"video_url": url, "cues": [{
            "text": f"After {period} of daily use. Individual results may vary.",
            "start": 6, "end": 13}]},
        timeout=30,
    )
    print(sku, r.status_code)

Do I also need an AI disclosure on the same clip?

If the clip is fully or significantly AI-generated, yes, separately. The AI-generated content policy says creators must disclose it through on-screen text, a watermark, the video description, or the platform's AI-generated content toggle, and it calls out synthetic faces, voices and digital humans in particular.

The results-may-vary line is not that disclosure. They answer different rules, one about what a viewer can expect from the product and one about how the clip was made. A single caption job can carry both lines as two cues, but the toggle at posting time is still worth setting.

What does Sume not do here?

Sume does not decide whether your claim is supportable, and it does not read the policy for you. It also does not check that the disclaimer is legible on a phone. Render once, open the result on a small screen, and use the design overrides in the captions docs (placement and font size ratio) if the line is cut off.

Related reading: what TikTok Shop does to violating AI videos and how a two-stage before-and-after clip is built.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume