Refresh a fatigued TikTok ad: new hook, new music, Sume recipe

TikTok's Symphony Refresh Ads adds a hook or swaps the music on a finished ad. Build a similar variant with Sume Timeline, Video trim and Music Router.

4 min readSume
All posts

A refresh is a new first few seconds, a new music bed, or both, applied to an ad that already ran. TikTok's Symphony Creative Studio page describes exactly that as Refresh Ads: upload a polished ad, choose to add a video hook, swap the background music, or do both, then export to Ads Manager or download. You can build the same kind of variant with Sume by trimming the original, putting a new hook clip in front, and laying a new soundtrack in Timeline. What Sume does not do is supply TikTok's own hooks or its Commercial Music Library.

What does TikTok's Refresh Ads do?

The page (dated June 3, 2025) says Refresh Ads turns polished ads into refreshed variations without new production. You upload an ad from a PC or a synced Ads Manager account, pick the elements to refresh, and, if you add a hook, choose a seasonal theme such as Back to School. The output includes TikTok-style video hooks and royalty-free background music from the TikTok Commercial Music Library.

TikTok Ads blog, Symphony Creative Studio (Refresh Ads), page dated June 3, 2025, read 2026-10-03
Choice in Refresh AdsWhat you get
Add a video hookTikTok-style hook, with an optional seasonal theme
Swap background musicRoyalty-free track from the TikTok Commercial Music Library
BothA hook and a new track
ExportTo TikTok Ads Manager, or download to a PC

Why refresh at all?

The same page cites a study by NCSolutions that creative is the biggest driver of ad effectiveness, at nearly half (49%) of incremental sales, and gives guidance for refresh cadence: performance campaigns use 5 to 7 creative assets refreshed at least weekly (cited as a 1.5x ROAS increase), and brand campaigns use more than three assets refreshed twice a week (cited as a 2.7x brand association increase). Those figures are TikTok's, with footnotes on its page.

How do you build the same refresh with Sume?

Take the winning ad as the body. Video trim cuts it from the point the old hook ends ($0.02 per job; start plus one of end or duration). Audio detach pulls the voice and sound track into a wav for $0.01 per job, only if you plan to keep it as the spine. A new hook can come from your own footage or from a generated clip (Video Router).

Then assemble in Timeline: two video[] slots, the hook first and the body second with a short fade, and a soundtrack bed. The soundtrack takes url, gain_db, loop, fade_out_seconds up to 10, and duck_db from 0 to 20, which needs a real audio spine, not silence. The render is $0.10 per output minute, rounded up, and /plan previews it unbilled.

curl -X POST https://api.sume.com/v1/timeline-1.0/render \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: refresh-001" \
  -d '{
    "audio": {"url": "https://media.sume.com/artifacts/artf_demo/voice.wav", "duration_seconds": 18},
    "video": [
      {"source_url": "https://media.sume.com/artifacts/artf_demo/hook.mp4", "start": 0, "duration": 3},
      {"source_url": "https://media.sume.com/artifacts/artf_demo/body.mp4", "start": 3, "duration": 15,
       "transition": {"type": "fade", "duration": 0.25}}
    ],
    "soundtrack": {"url": "https://media.sume.com/artifacts/artf_demo/bed.wav", "gain_db": -12, "duck_db": 8}
  }'

What should a new hook do?

The hook is the first seconds of the ad, the part a viewer decides on. Refreshing it is the cheapest change that alters the whole ad, because the body, the offer and the call to action stay as they were. Keep the hook short enough that the old body still follows naturally, and match its look to the body's: same aspect ratio, same frame rate, same loudness.

With Timeline you can also keep the original audio spine under the new hook if the voice-over starts at second zero, or move the voice to start after the hook. Either way, set video[0].start to 0 and give each later slot a start that increases, as the doc requires, and check the plan output for warnings before you render.

Where does the new music come from?

Music Router generates a track with Lyria 3.5 for a fixed $0.125 per generation. The prompt is up to 5000 characters, and there is no duration parameter, so steer length in the prompt (the doc's examples are "a 2-minute track" or timed sections) and set soundtrack.loop and fade_out_seconds in Timeline to fit the cut. A generated track is not TikTok's Commercial Music Library; if the ad is a paid placement, confirm that the track's terms cover your use before you ship it.

Name each variant after what changed, such as hook-b or music-c, so you can read the results by element. Refreshing one thing at a time tells you whether the hook or the track moved the numbers.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume