Product ads and UGC: the structures that work and the lines you don't cross
UGC is the ad that looks like a video from an ordinary person: someone holds the product in their hand and talks to a phone camera. With AI you can make it without filming anything, and that is exactly where the risk lives: an invented testimonial passed off as real. This lesson teaches the structures and the rules that keep the ad honest.
1Choose an ad structure: review, confession, routine, first reaction
2Build the 30 s skeleton in five blocks with spoken lines
3Keep the product the same in every shot
4Label it and don't cross the lines: real person, fake testimonial, false promise
Goal: write a 15 to 30 s ad in five blocks, with a spoken line, the product in frame early, and a made-with-AI content label.
01 · The skeleton of a 30-second ad
Five blocks, with the timing of each. Tap each block.
Click each block of the diagram to see what it does.
Skeleton and rules from the INEMA ugc-seedance25 skill (Sep/2026); the label is an addition of this course.
02 · How to write the ad, step by step
The example product is fictional: the sourdough bread from Dona Lia's bakery.
1. Choose the structure
Review: the person uses it and comments. Confession: problem, ritual, result. Routine: the product in everyday life. First reaction: open the box and react. 15 s selfie test: short hook, one benefit, casual ending.
Choose by product: the bread calls for routine (the morning of whoever buys it) or confession ("I gave up on supermarket bread").
2. Spoken line with timing
Write the spoken line for each block in quotes, with the timing next to it. The INEMA skill uses 70 to 80 spoken words in 30 seconds: more than that, and the line gets rushed.
Sound: list what must not appear (loud music under the voice, for example). The look is phone-made: home lighting, no text on screen during generation.
3. Product always the same
Use the same reference photos of the product (one main one and two or three detail shots) in every generation, as course 1 teaches in the consistency lesson. Change one thing at a time and generate one before the batch.
The product's label and text go in during editing, not in the prompt: the generator tends to distort letters. Check every shot: only one product, the right hands, the same face.
4. The lines you don't cross
A generated person is never presented as a real customer. A synthetic testimonial carries a label. The promised result is what the product delivers. A real person's face and voice, only with written permission.
No competitor brands and no famous people. The labeling law and the cases are in lesson 7; the platform where you advertise may have its own rules.
03 · Templates to copy
The script the page checks, and a request for the AI assistant to draft one from your product.
anuncio.txt (template)
Product: <what it is; real or fictional>
Structure: <review, confession, routine, first reaction or selfie test> · <9:16 or 16:9>
Label: <e.g.: video made with AI; the person is fictional>
# n | block | time | what you see | line
1 | hook | <n> s | <the product enters the frame> | line: "<sentence>"
2 | what it is | <n> s | <...> | line: "<sentence>"
Request to the AI assistant (ad draft)
You are a scriptwriter of short UGC-style ads. Write a <duration>-second ad for the product below, in five blocks, one line per block:
n | block (hook, what it is, demonstration, result, ending) | time | what you see | line: "..."
Rules:
- the product appears in the frame within the first three seconds;
- 70 to 80 spoken words in 30 s (proportional if it is shorter);
- only promise what the product delivers: <what it actually delivers>;
- no hard selling, no competitor brands, no famous people;
- the person is fictional and the script ends with the line "Label: video made with AI; fictional person".
Product: <description>
Structure: <chosen structure>
04 · Check your ad
Paste the file (or upload the .txt). Test first with the example that passes and the example with errors.
anuncio.txt
05 · Optional: check in the terminal
Only for people who already use a terminal. In the folder of the course you downloaded from GitHub; for your own file, replace --exemplo with its name (anuncio.txt).
$ python3 conferir.py anuncio --exemplo; echo "saída: $?"
OK: anúncio com 5 blocos, fala e rótulo · 28 s
saída: 0
$ python3 conferir.py anuncio --errado; echo "saída: $?"
Ainda não. O que falta:
- Falta a linha Rótulo: com a descrição (pelo menos 8 letras).
- Plano 3: falta a fala.
- Falta citar o aviso de vídeo feito com IA (no Rótulo).
saída: 1
06 · Practice
A product of yours (real) or Dona Lia's bread (fictional). Generating the video is up to you and the tool you have; the script is what gets checked here.
Ad · five blocks with a label
25 min
Choose a structure and write the Produto, Estrutura and Rótulo lines and the five blocks with time, what is seen and the line. Paste it into "Check your ad" and download the anuncio.txt to the project folder.
Done when: the page answers OK: anúncio com [n] blocos, fala e rótulo · [s] s, with the total between 15 and 30 s, and the anuncio.txt is in the project folder.
Promise · only what the product delivers
10 min
Read the result block and write, next to the anuncio.txt, a "Prova:" line saying where each promised thing comes from (does the product do that? who confirmed it?). Cut from the script whatever has no proof and check again.
Done when: the page keeps answering OK: … and each promise in the result block has its own "Prova:" line in the file.
07 · Quick quiz
Four questions. The explanation appears after each answer.
Question 1 of 4
At what moment should the product appear in the 30 s ad?
Correct
People scrolling decide in seconds. The product in the hook says right away what it is about; long suspense loses the audience before that.
Not this one
People scrolling decide in seconds. The product in the hook says right away what it is about; long suspense loses the audience before that.Review: The skeleton of a 30-second ad
Question 2 of 4
The product label came out with crooked letters in the generated shots. What should you do?
Correct
Generators often warp letters. Text goes in post, on top of the shot; regenerating by luck burns credits.
The person is fictional, so "a customer for ten years" is a fake testimonial, and the health claim has no proof. The other two describe the product without making anything up.
Not this one
The person is fictional, so "a customer for ten years" is a fake testimonial, and the health claim has no proof. The other two describe the product without making anything up.Review: How to write the ad, step by step
Question 4 of 4
Why does this course's script require the Label line?
Correct
Viewers need to know the person and the scene were generated. A label is not a substitute for permission: real faces and voices still require consent (lesson 7).
Not this one
Viewers need to know the person and the scene were generated. A label is not a substitute for permission: real faces and voices still require consent (lesson 7).Review: Check your ad
Quiz complete
You got {a} of {n} right. Get them all right and the lesson is marked as complete.
Choose an answer. The explanation appears after you try.
08 · To keep
Product in the hookFive blocks in 30 s, with the product in the first three seconds.
Same productLocked reference, one change at a time, product text added in the edit.
Label and truthA generated person is not a real customer; only promise what the product delivers.