Contents
0%Hey!
This is an AI singing ad we made for a mattress client. It has been live on Meta for over two months and has done a 4.95 ROAS, so here is the whole thing and how it was built.
Watch the ad first
Turn the sound on. The song is the ad, everything else is built around it.
A country ballad about a woman in an RV who wakes up at 3 AM, sweating, blaming herself. No voiceover, no presenter, no stock footage. One animated character singing her own problem, and a mattress with a face on it playing the villain.
The skill file that knows this format, the batching, and the prompt shape is free on the song ads page. It works with Claude or any agent that reads skills.
The numbers after two months on Meta
These are the client's reported numbers for this single creative, pulled at the point we recorded the walkthrough.

Meta performance metrics for the mattress song ad: $2,239 spend, $11,086 purchase value, 4.95 ROAS, 20 purchases
| Metric | This ad | How I read it |
|---|---|---|
| Spend | $2,239 | Enough volume to trust the result, small enough to be one creative |
| Purchase value | $11,086 | 4.95 ROAS |
| Purchases | 20 | At a $554 AOV, a considered purchase, not an impulse one |
| CPM | $17.43 | Cheap reach, which is what an entertaining ad buys you |
| Outbound CTR | 1.40% | The people it keeps are the people who click |
| Thumbstop | 2.05% | Low. This ad filters hard, see the retention section |
| Time live | 2 months plus | For a single creative, the strongest signal in the table |
Read that as one ad in one account, not as a benchmark for the format. What it does prove is that a sung, fully animated ad can carry a $500 plus product to profitability and keep running, which is the part most people do not believe until they see the account.
The CPM line matters more than it looks. Entertaining creative gets served cheaply, so a song ad buys more impressions per dollar than a straight promo, and that discount is a real part of why the ROAS holds. If you want the maths on what return you actually need, I wrote that up in break-even ROAS for Meta ads.
The persona is the entire ad
Before the song, before any visual, the brief was one sentence about one woman.
She is in her 40s, her sleep is broken, and she has quietly decided it is her fault. Maybe it is the heat. Maybe it is the RV. Maybe it is her age. The ad exists to tell her it is none of those things, it is the mattress, and that turn is the whole creative.
That is also why the format suits an expensive product. A mattress is a considered purchase, so the ad has to earn trust before it asks for anything, and a song does that faster than a talking head reading features. The same thing is happening in supplements, in perfume and even in local service businesses right now, which is the pattern I pull apart in how 8-figure brands scale with song-style ads.
Every line in this ad speaks to the same woman with the same doubt. That is why it can be 79 seconds long and still hold the people it is for. A song ad written for everyone has nothing to sing about.
The four shots
The structure is the same one a country song uses: a problem, a turn, a villain, a payoff.

The four shots of the mattress song ad: the problem at 3 AM, the turn on stage, the factory mattress villain, the payoff at sunrise
The problem is literal, an alarm clock reading 3:00 AM and a partner asleep beside her. The turn happens on stage, because the character steps out of her own story to sing the line that reframes it. The villain is a grumpy, lumpy factory mattress with a face, which is the single most memorable frame in the ad and the thing people describe when they talk about it.
The song was written and generated first
This is the part that looks backwards and is not. On a song ad the music gets made before any visual exists.
Sweating through the sheets for goodness sake.
He rolls over and I feel every move.
Told myself it's just the summer groove.
Maybe it's the heat, maybe it's me,
maybe 40-something's how it's gonna be.
But it ain't the RV, it ain't the weather, it ain't my age.
That factory mattress was a disaster.
The song is the source of truth for pacing, and a song cannot be cut. Once it exists, every storyboard timing, every shot length and every cut in the edit is measured against it. I generate the track with Suno inside the same chat, which is why the lyrics and the visuals never drift apart. The full order of operations is in the MiniMax H3 song ad workflow, the song side specifically is in how to make an AI song ad with Suno, and there is a shorter, simpler build of the same idea in AI song ads the easy way.
Then the character, the storyboard and the generations
With the song locked, one character sheet keeps the same face in every shot, and the storyboard gets grouped into batches instead of single scenes.

A hero character sheet: front, side, back and three expression crops on white
The sheet is one image with the character front, side, back and in close up. It goes into every generation as a reference, which is what stops the face from drifting between shots. Then the storyboard: several scenes drawn into one image, so one generation covers a whole run of the song instead of one shot.

One storyboard batch: several scenes in a single image
Storyboard batch
Storyboard batchThree inputs go into every generation: the storyboard image, the hero character, and the slice of the song for that section. The song being an input is what makes the character actually sing on beat, because the model hears the audio instead of guessing from timestamps in a prompt. One image holding several panels then gets you one clip that moves between those scenes, which is far cheaper than generating each scene separately and, in my testing, looks better.
Keep every second of the song, including the instrumental parts, and make the slices continuous. Cut a shot out and the pacing of the whole ad breaks, which is the single hardest thing about producing this format.
The product only enters after the turn
Half the ad is story. The product education starts only once the song has told her the problem is not her.

The product education verse: cooling airflow over the new mattress while the couple sleeps
From there the lyrics do what a landing page does, one mechanism at a time, over shots of the thing working. Airflow, support, the unboxing, the morning after. The viewer who is still watching at that point has already agreed with the premise, so the claims land as relief rather than as a pitch.
Two production notes on this half of the ad. The shots where she sings are the ones that carry the story, and everything else is silent B-roll cut to the music, which keeps the generation count down. And the whole thing is a mix on purpose: a song ad made entirely of lip sync shots gets boring around the second verse.
The edit is the easy part
Once the generations exist, assembling a song ad is a short session. The song never gets touched.

A CapCut timeline for a song ad: the full uncut song at the bottom, muted generated clips layered above it, auto lyrics open
The full song sits on the bottom track, uncut. Every generated clip goes above it muted, because the model returns its own audio and you do not want it. Captions come from CapCut auto lyrics for English, or from the free song caption generator when the song is in another language. You can see the small speed nudges on this timeline, which is what you have to do when the slices were not perfectly continuous. The step by step version of this is in how to edit an AI song ad in CapCut.
The retention curve, read honestly
This is the chart I would want to see if I were reading someone else's case study, so here it is.

Audience retention for the mattress song ad: 25.7% at 2 seconds, 4.4% at 11 seconds, 2.1% at 23 seconds, 1% at 45 seconds
The drop is steep. About a quarter of viewers are still there at two seconds, 4.4% at eleven seconds, and roughly 1% reach 45 seconds. Nobody should sell you a song ad on a promise of mass retention.
What the numbers say together is more interesting. A 2.05% thumbstop with a 4.95 ROAS means this creative is not trying to hold everyone, it is filtering hard for one woman with one problem and converting her at a $554 order value. That is a very different job from a broad awareness ad, and it is why the CPM stayed low while the ad kept spending. If those terms are new, hook rate, hold rate and CTR explained covers what each one is actually measuring.
What I would change
Three things, in the order I would fix them.
A harder first frame
The ad opens on a dark bedroom, which is true to the story and quiet as a thumbnail. A 2.05% thumbstop is the cost of that. The fix is a first frame that states the persona instantly rather than setting a scene.
An end screen on the outro
The song finishes on a few seconds of instrumental. That is the natural place for a hypermotion product shot with a headline, and this ad does not have one yet.
Slices with zero gaps
On this build the edit needed small speed nudges to get back on beat. Slice the song continuously and the clips drop straight onto the track with no correction at all.
Everything else I would keep. The persona, the country ballad, the mattress with a face on it.
Same skill file, same link: the song ads page. It carries the batching rule, the slicing rule and the prompt shape, so your agent does not have to learn them the way I did.
FAQ
What ROAS do AI song ads get?
This one did 4.95 over more than two months on $2,239 of spend. That is one ad for one brand and it is not a promise about the format. Judge it against your own break-even ROAS, not against someone else's screenshot.
Which AI model makes the character sing?
MiniMax H3 Max, with the song passed in as an audio input alongside the storyboard image and the character. Lip sync from an audio input is far more reliable than describing timing in a prompt.
How long does an ad like this take to make?
The whole build happens in one chat: research, script, song, character, storyboard batches, generations. The edit afterwards is a short CapCut pass, covered in how to edit an AI song ad in CapCut.
Do song ads only work for supplements?
No. This one sells mattresses, and the format is scaling for scent-led skincare, supplements and local service businesses too. The pattern across accounts is in how 8-figure brands scale with song-style ads.
Can I use a song ad for a high ticket product?
This ad converted at a $554 average order value, so yes. The story does the trust building that a high ticket product normally needs a much longer funnel to get.
Next Steps
- Get the free song-ad skill for Claude. The format, the batching and the slicing rules in one file. Grab it on the song ads page.
- See the format working elsewhere. Four singing ads currently running on Meta, broken down one by one, in AI song ad examples.
- See the Disney/Pixar style version. Another song ad for the same mattress, with the whole workflow behind it, is in how to make Disney/Pixar style AI ads.
- Make a song ad for your own product. Research, script, song, characters, storyboards and generations in one chat. Open Starpop.
- Join the Discord. I drop new skills and ad breakdowns there first. Come hang out.
The full walkthrough of this workflow is in the video on the right. Pick your one persona, write the song first, and let the rest of the ad follow it.






