Shorts Factory

Long format → 10-30 shorts, formats variés, bannières-angles. Tes sous-titres restent.
Frank vid 2 · 9min 📱Hormozi test · 21min 🖥
24shorts
8formats distincts
0gardés
7.7QC moyen
6QC ≥ 8
planche
   
Tourists think I'm scamming them (spoiler: I wish)
conceptMontage suspicion + aveu ironiqueQC 8.6/1043s
(original)
Cut of the moments tourists suspect a scam, he defends himself clumsily, final reveal. | payoff: Even trying, I couldn't scam them.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Open cold on 'Daniel. I invented that name.' — kill the Instagram setup line first.
Télécharger
Tourists think I'm scamming them (spoiler: I wish)
variant-self-roastMontage suspicion + aveu ironiqueQC 8.6/1043s
(self-roast)
Cut of the moments tourists suspect a scam, he defends himself clumsily, final reveal. | payoff: Even trying, I couldn't scam them.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Open cold on 'Daniel. I invented that name.' — kill the Instagram setup line first.
Télécharger
Tourists think I'm scamming them (spoiler: I wish)
variant-stakesMontage suspicion + aveu ironiqueQC 8.6/1043s
(stakes)
Cut of the moments tourists suspect a scam, he defends himself clumsily, final reveal. | payoff: Even trying, I couldn't scam them.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Open cold on 'Daniel. I invented that name.' — kill the Instagram setup line first.
Télécharger
I invented a fake name so tourists wouldn't Google me
conceptConfession + montage of the exact momentQC 8.6/1031s
(original)
Being mistaken for a scammer so many times he starts lying about his own identity | payoff: Getting called a scammer so often you rebrand yourself mid-shift.
Juge : hook undefined/5, cadrage undefined/5.
⚠ End on 'REAL NAME: Frank' overlay held in silence — cut the repeated 'invented that name' line at payoff.
Télécharger
I invented a fake name so tourists wouldn't Google me
variant-self-roastConfession + montage of the exact momentQC 8.6/1031s
(self-roast)
Being mistaken for a scammer so many times he starts lying about his own identity | payoff: Getting called a scammer so often you rebrand yourself mid-shift.
Juge : hook undefined/5, cadrage undefined/5.
⚠ End on 'REAL NAME: Frank' overlay held in silence — cut the repeated 'invented that name' line at payoff.
Télécharger
I invented a fake name so tourists wouldn't Google me
variant-stakesConfession + montage of the exact momentQC 8.6/1031s
(stakes)
Being mistaken for a scammer so many times he starts lying about his own identity | payoff: Getting called a scammer so often you rebrand yourself mid-shift.
Juge : hook undefined/5, cadrage undefined/5.
⚠ End on 'REAL NAME: Frank' overlay held in silence — cut the repeated 'invented that name' line at payoff.
Télécharger
The exact moment the tourist heard 'tip'
conceptFreeze-frame supercut on the trigger worQC 7.8/1062s
(original)
Micro-focus on the face turn: interested → suspicious the second the word 'tip' lands. Same word kills it every time. | payoff: The word 'tip' killed every single yes.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Trim VO pivot (17s) to 6s — freeze-frames carry it, the voiceover dilutes.
Télécharger
The exact moment the tourist heard 'tip'
variant-self-roastFreeze-frame supercut on the trigger worQC 7.8/1062s
(self-roast)
Micro-focus on the face turn: interested → suspicious the second the word 'tip' lands. Same word kills it every time. | payoff: The word 'tip' killed every single yes.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Trim VO pivot (17s) to 6s — freeze-frames carry it, the voiceover dilutes.
Télécharger
The exact moment the tourist heard 'tip'
variant-stakesFreeze-frame supercut on the trigger worQC 7.8/1062s
(stakes)
Micro-focus on the face turn: interested → suspicious the second the word 'tip' lands. Same word kills it every time. | payoff: The word 'tip' killed every single yes.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Trim VO pivot (17s) to 6s — freeze-frames carry it, the voiceover dilutes.
Télécharger
I stopped selling, I just gave it away
conceptBascule vente→don, cash sur la vraie réaQC 7.7/1036s
(original)
After a run of no's, he hands over a free bottle — she drops 'I needed it' and it flips. | payoff: She was really thirsty. He just gave.
Juge : hook undefined/5, cadrage undefined/5.
⚠ End on 'I needed it' — cut the 'tip if you want' beat, it dilutes the human moment.
Télécharger
I stopped selling, I just gave it away
variant-self-roastBascule vente→don, cash sur la vraie réaQC 7.7/1036s
(self-roast)
After a run of no's, he hands over a free bottle — she drops 'I needed it' and it flips. | payoff: She was really thirsty. He just gave.
Juge : hook undefined/5, cadrage undefined/5.
⚠ End on 'I needed it' — cut the 'tip if you want' beat, it dilutes the human moment.
Télécharger
I stopped selling, I just gave it away
variant-stakesBascule vente→don, cash sur la vraie réaQC 7.7/1036s
(stakes)
After a run of no's, he hands over a free bottle — she drops 'I needed it' and it flips. | payoff: She was really thirsty. He just gave.
Juge : hook undefined/5, cadrage undefined/5.
⚠ End on 'I needed it' — cut the 'tip if you want' beat, it dilutes the human moment.
Télécharger
Cost per no
conceptRejection ledger — each 'no' stamped witQC 7.5/1029s
(original)
Every rejection has a price tag — the water bottle I already paid for | payoff: Turns out 'no' has a wholesale price and I bought a case of it.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Overlay 'NO #1 · −1,30€' must hit in first 2s — move ledger stamp to hook, not after setup.
Télécharger
Cost per no
variant-self-roastRejection ledger — each 'no' stamped witQC 7.5/1029s
(self-roast)
Every rejection has a price tag — the water bottle I already paid for | payoff: Turns out 'no' has a wholesale price and I bought a case of it.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Overlay 'NO #1 · −1,30€' must hit in first 2s — move ledger stamp to hook, not after setup.
Télécharger
Cost per no
variant-stakesRejection ledger — each 'no' stamped witQC 7.5/1029s
(stakes)
Every rejection has a price tag — the water bottle I already paid for | payoff: Turns out 'no' has a wholesale price and I bought a case of it.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Overlay 'NO #1 · −1,30€' must hit in first 2s — move ledger stamp to hook, not after setup.
Télécharger
I sold water in a heatwave. I made 0€.
conceptThesis → montage of refusals → number reQC 7.3/1048s
(original)
39°C, cold water, tourists — the perfect setup. The offer 'pay what you want' killed the sale before it started. | payoff: Turns out 'free' sounds more expensive than a price.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Cut escalation(4s) chain — go straight from first no to the 'pay what you want' reveal at 14s.
Télécharger
I sold water in a heatwave. I made 0€.
variant-self-roastThesis → montage of refusals → number reQC 7.3/1048s
(self-roast)
39°C, cold water, tourists — the perfect setup. The offer 'pay what you want' killed the sale before it started. | payoff: Turns out 'free' sounds more expensive than a price.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Cut escalation(4s) chain — go straight from first no to the 'pay what you want' reveal at 14s.
Télécharger
I sold water in a heatwave. I made 0€.
variant-stakesThesis → montage of refusals → number reQC 7.3/1048s
(stakes)
39°C, cold water, tourists — the perfect setup. The offer 'pay what you want' killed the sale before it started. | payoff: Turns out 'free' sounds more expensive than a price.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Cut escalation(4s) chain — go straight from first no to the 'pay what you want' reveal at 14s.
Télécharger
They said yes. I still lost.
conceptCountdown budget on-screen pendant qu'unQC 7.3/1029s
(original)
The one group that says yes + free water = promise of a first bill. The budget counter drops despite the 'yes'. | payoff: Spent 13€. Made 0€.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Hook is 23s — way too long. Cold-open on the enthusiastic YES, compress setup to 6s.
Télécharger
They said yes. I still lost.
variant-self-roastCountdown budget on-screen pendant qu'unQC 7.3/1029s
(self-roast)
The one group that says yes + free water = promise of a first bill. The budget counter drops despite the 'yes'. | payoff: Spent 13€. Made 0€.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Hook is 23s — way too long. Cold-open on the enthusiastic YES, compress setup to 6s.
Télécharger
They said yes. I still lost.
variant-stakesCountdown budget on-screen pendant qu'unQC 7.3/1029s
(stakes)
The one group that says yes + free water = promise of a first bill. The budget counter drops despite the 'yes'. | payoff: Spent 13€. Made 0€.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Hook is 23s — way too long. Cold-open on the enthusiastic YES, compress setup to 6s.
Télécharger
I offered a free photo. Nobody wanted one.
conceptSupercut compteur de refusQC 7.1/1028s
(original)
Brutal supercut of tourist refusals in a row, creator keeps smiling, counter climbs. | payoff: Free photo, zero takers, -13€.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Land on 'pardon d'être un weirdo' as final beat, not budget — the self-apology is the punchline.
Télécharger
I offered a free photo. Nobody wanted one.
variant-self-roastSupercut compteur de refusQC 7.1/1028s
(self-roast)
Brutal supercut of tourist refusals in a row, creator keeps smiling, counter climbs. | payoff: Free photo, zero takers, -13€.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Land on 'pardon d'être un weirdo' as final beat, not budget — the self-apology is the punchline.
Télécharger
I offered a free photo. Nobody wanted one.
variant-stakesSupercut compteur de refusQC 7.1/1028s
(stakes)
Brutal supercut of tourist refusals in a row, creator keeps smiling, counter climbs. | payoff: Free photo, zero takers, -13€.
Juge : hook undefined/5, cadrage undefined/5.
⚠ Land on 'pardon d'être un weirdo' as final beat, not budget — the self-apology is the punchline.
Télécharger