Awatar AI z produktem w ręku - reklama UGC z polską kwestią
Reklama UGC z AI w praktyce: kadr postaci z produktem, klip z polską kwestią w MiniMax H3, pięć wariantów hooka w 9:16, budżet i oznaczanie treści AI.
UGC to reklama, która udaje nagranie zwykłego użytkownika: pion, ktoś trzyma produkt i mówi do telefonu. Z AI składam ją z trzech elementów. Pierwszy to zdjęcie postaci z produktem w Nano Banana Pro, z prawdziwym opakowaniem jako referencją. Drugi to 8-10 sekund wideo z polską kwestią w MiniMax H3, gdzie dźwięk jest wliczony w stawkę. Trzeci to kilka wersji pierwszego zdania (hooka) i napisy dodane w montażu. Niżej znajdziesz prompty, wybór modelu zależnie od języka kwestii, rachunek za pięć wariantów i zasady oznaczania AI z AI Act, Mety i TikToka.
Brief jednej reklamy
Przed generowaniem spisuję:
- format - 9:16, bo UGC krąży w rolkach, na TikToku i w Shorts,
- postać - osoba wymyślona (wiek, styl, miejsce), a nie podobizna kogoś prawdziwego bez jego zgody,
- produkt - 1-3 fotki prawdziwego opakowania, każda z innej strony,
- kwestia - około 20 słów, czyli tyle, ile zmieści się w 8-10 sekundach,
- hook - pierwsze dwie sekundy, które sprawdzam w kilku wersjach,
- oznaczenie - dopisek, że osoba w klipie jest wygenerowana (szczegóły na końcu).
Napisy, logo i dźwięk na zamknięcie dodaję w montażu. Reklamę produktu bez mówiącej postaci (packshot, ruch, muzyka) opisałem osobno w poradniku rolka reklamowa produktu z AI. Tutaj chodzi o wersję z kimś, kto mówi do kamery.
Zdjęcie postaci z produktem
Klatkę startową robię w Nano Banana Pro. Ma 9:16 na liście proporcji i przyjmuje do 14 referencji. W Studio wgrywam do pola "Obrazy referencyjne" (w API image_urls) zdjęcia produktu, a gdy ta sama osoba ma wystąpić w serii, także jej wcześniejszy kadr. W prompcie opisuję postać, gest i miejsce, a produkt nazywam "tym z referencji":
Vertical smartphone selfie photo, 9:16. A woman in her early thirties with shoulder-length
dark hair, natural makeup, oversized beige sweater, sitting on a sofa in a bright living room.
She holds the skincare jar from the reference images at chest height, label facing the camera,
fingers not covering the label. Natural window light, slightly casual framing, looking into
the lens with a friendly half-smile. Keep the product shape, colors and label exactly as in the
reference. No other text, no logos, no watermarks.Na tym etapie pilnuję czterech rzeczy:
- Etykieta widoczna, palce z boku. Model wideo najczęściej psuje dłonie i napisy, więc ustawiam je porządnie już na zdjęciu.
- Kadr z telefonu, nie ze studia. Trochę krzywe ujęcie i światło z okna wyglądają wiarygodniej niż dopieszczony packshot.
- 2k. To zdjęcie będzie pierwszą klatką wideo, więc rozdzielczość się opłaca.
- Kilka prób. Zwykle 3-4. Wybieram kadr z czytelną etykietą i dłońmi, które mają pięć palców.
Gdy seria ma mieć jedną bohaterkę, zajrzyj do tekstu o tym, jak zrobić spójną postać AI.
Który model powie kwestię
Zdjęcie staje się pierwszą klatką, a prompt wideo opisuje ruch, głos i kwestię. O wyborze modelu decyduje język. 28 września 2026 zrobiłem test polskiej mowy: każdy model dostał identyczny łamaniec językowy liczący 12 słów.
| Model | Długość | Błędy w teście (PL) | Stawka |
|---|---|---|---|
| MiniMax H3 | 4-15 s | 1 / 3 z 12 | od 0,929 zł za sekundę |
| Veo 3.1 (Quality) | stałe 8 s | 0 / 2 | od 14,61 zł za film 8 s |
| Gemini Omni 1.1 | 4, 6, 8 lub 10 s | 0 / 0 | od 5,87 zł za film (klip 6 s) |
| Kling 3.0 | 3-15 s | 10 z 12 | od 0,546 zł za sekundę |
Liczby oznaczają słowa, które faster-whisper (large-v3 / medium) zapisał inaczej niż w tekście, po jednej próbie na model. Test robiłem przez API, poza Studio. Co do dźwięku w Kadrarisie: MiniMax H3 ma stereo zawsze i w stawce, Kling 3.0 ma przełącznik generate_audio z dopłatą, w formularzu Veo 3.1 przełącznika dźwięku nie znajdziesz, a opis Gemini Omni 1.1 w katalogu dźwięku nie wymienia.
Wnioski dla reklam UGC:
- Po polsku zaczynam od MiniMax H3. Pomylił się raz na cały łamaniec i ma ścieżkę dźwiękowa w każdym klipie bez dopłaty. 8-10 sekund mieści się w jego zakresie.
- Veo 3.1 i Gemini Omni 1.1 mówiły w teście najczyściej, ale w Studio nie ma przy nich przełącznika dźwięku. Zanim zlecisz całą serię, wygeneruj pojedynczy klip testowy i posłuchaj, czy w ogóle ma głos.
- Po angielsku: Kling 3.0 z włączonym
generate_audio. Producent wymienia angielski wśród obsługiwanych języków, a polskiego na tej liście nie ma, co test potwierdził. - Gemini Omni 1.1 w wersji 8 i 10 s kosztuje więcej niż 6 s. Kwotę dla konkretnej długości pokaże Studio i kalkulator kosztów.
Reguła dla polskiej kwestii jest stała: scena opisana po angielsku, wypowiedź po polsku w cudzysłowie, liczebniki słowami i wyraźny zakaz napisów:
The woman from the first frame looks into the phone camera and talks naturally, slight handheld
movement, she lifts the jar a little when she mentions it. She says clearly in Polish, warm
friendly female voice, normal pace: "Mam suchą skórę i szukałam kremu, który nie klei się po
nałożeniu. Ten wchłania się w minutę." Quiet room ambience, no music, no subtitles,
no on-screen text.Przez API wystarczy pojedynczy POST, w którym image_url wskazuje kadr. H3 bierze wtedy proporcje z obrazu, więc z pionowego zdjęcia wychodzi pionowy klip:
curl https://kadraris.com/v1/generate \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"input": {
"prompt": "The woman from the first frame looks into the phone camera and talks naturally, slight handheld movement. She says clearly in Polish, warm friendly female voice: \"Mam suchą skórę i szukałam kremu, który nie klei się po nałożeniu. Ten wchłania się w minutę.\" Quiet room ambience, no music, no subtitles, no on-screen text.",
"image_url": "https://twoj-sklep.pl/ugc/kadr-krem.png",
"resolution": "768P",
"duration": 8
}
}'Próby puszczam w 768P, wersję ostateczną w 2K. Plik odbierasz przez GET /v1/tasks/{id}. Wypowiedź sprawdzam, puszczając plik przez faster-whisper lub automatyczne napisy CapCuta, a wynik zestawiam ze scenariuszem. Samym słuchem łatwo przegapić zjedzoną końcówkę.
Pięć otwarć do testu
Pierwsze zdanie decyduje, czy ktoś obejrzy dalej. Biorę ten sam kadr i produkt, zmieniam tylko otwarcie, a resztę kwestii zostawiam:
- problem - sucha skóra i krem, który się klei,
- pytanie - zwrot do widza o tłusty film na twarzy,
- liczba - jedna warstwa rano wystarcza na cały dzień,
- zaskoczenie - niedowierzanie, że krem wchłania się w minutę,
- polecenie - prośba o dziesięć sekund uwagi przed kolejnym zakupem.
Pełne brzmienie każdego zdania znajdziesz na liście HOOKS w skrypcie.
Każde otwarcie dotyczy cechy produktu, a nie wymyślonego doświadczenia klienta. Dlaczego to ważne, wyjaśniam w części o oznaczaniu. W API pięć wersji to pętla po liście:
import os, time, requests
API = "https://kadraris.com/v1"
KEY = os.environ["KADRARIS_API_KEY"]
HEADERS = {"Authorization": f"Bearer {KEY}"}
FRAME = "https://twoj-sklep.pl/ugc/kadr-krem.png"
REST = ("Ten krem wchłania się w minutę "
"i nie klei się pod makijażem.")
HOOKS = [
"Mam suchą skórę i każdy krem się na mnie kleił.",
"Czy Twój krem też zostawia tłusty film na twarzy?",
"Jedna warstwa rano i do wieczora mam spokój.",
"Nie wierzyłam, że krem może się wchłonąć w minutę.",
"Zanim kupisz kolejny krem, posłuchaj "
"przez dziesięć sekund.",
]
tasks = []
for hook in HOOKS:
prompt = (
"The woman from the first frame looks into the "
"phone camera and talks naturally, slight handheld "
"movement. She says clearly in Polish, warm "
f'friendly female voice: "{hook} {REST}" Quiet '
"room ambience, no music, no subtitles, "
"no on-screen text."
)
task = requests.post(f"{API}/generate", headers=HEADERS,
timeout=30, json={
"model": "minimax-h3",
"input": {"prompt": prompt, "image_url": FRAME,
"resolution": "768P", "duration": 9},
}).json()
# id i szacunek kosztu każdej wersji
print(task["id"], task["estimated_cost"])
tasks.append(task)
for task in tasks:
while task["status"] not in ("succeeded", "failed"):
time.sleep(10)
task = requests.get(f"{API}/tasks/{task['id']}",
headers=HEADERS, timeout=30).json()
out = task["output"]
print(task["status"],
out[0]["url"] if out else task["error"])Adresy w output wygasają, więc pobieram pliki od razu. Przy dużych seriach zamiast pętli korzystam z webhooków.
Montaż w pionie
O pionie decyduje kadr startowy, więc ustalam go na samym początku. W montażu:
- obcinam po pół sekundy z początku i końca, jeśli postać zastyga albo ucina słowo,
- napisy dodaję dopiero na osi montażowej (dlatego w prompcie jest
no subtitles), - trzymam je w środku kadru, bo dół i prawy brzeg zasłania interfejs aplikacji,
- dodaję oznaczenie AI oraz "#reklama" w opisie i na ekranie,
- eksport sprawdzam na telefonie z wyciszonym głośnikiem, bo większość widzów przewija rolki bez dźwięku.
Rachunek za pięć wersji
Przykład: jeden kadr postaci i pięć otwarć po 8-9 sekund, każde w dwóch podejściach. Veo 3.1 liczę w klipach po 8 s, bo innej długości nie ma.
| Pozycja | MiniMax H3, 768P | Veo 3.1 |
|---|---|---|
| Kadr postaci, 4 próby | 4 × od 0,411 zł za obraz | 4 × od 0,411 zł za obraz |
| Klipy: 5 otwarć × 2 podejścia | 90 s × od 0,929 zł za sekundę | 10 × od 14,61 zł za film |
| Montaż, napisy, logo | 0 z salda | 0 z salda |
Kwoty pochodzą z cennika z dnia, w którym czytasz tekst. Stawka H3 dotyczy 768P, wersja 2K jest droższa. Veo 3.1 ma wspólną stawkę dla 720p i 1080p. Zadania ze statusem failed kosztują 0 zł. Inne zestawy, choćby dłuższe klipy Gemini Omni czy Kling z włączoną ścieżką audio, przeliczysz w kalkulatorze kosztów AI. Doładowanie zaczyna się od 40 zł (BLIK albo karta), a środki na koncie zostają bez terminu i bez opłaty miesięcznej.
Szablon do kopiowania
Ten szablon wklejam przy każdej nowej reklamie i wymieniam pola w nawiasach. Górna część idzie do modelu obrazu, dolna do modelu wideo:
[KADR - model obrazu, referencje: zdjęcia produktu]
Vertical smartphone selfie photo, 9:16. [WIEK I WYGLĄD POSTACI], [UBRANIE],
[MIEJSCE: kitchen / car / bathroom / living room]. [Holds / points at] the [PRODUKT]
from the reference images, label facing the camera, fingers not covering the label.
Natural [window / daylight / evening lamp] light, casual framing, looking into the lens.
Keep the product exactly as in the reference. No other text, no logos, no watermarks.
[KLIP - model wideo, pierwsza klatka: kadr powyżej]
The [person] from the first frame looks into the phone camera and talks naturally,
slight handheld movement, [GEST PRZY PRODUKCIE]. She/He says clearly in [Polish / English],
[OPIS GŁOSU: warm female / low calm male], normal pace: "[HOOK] [CECHA PRODUKTU]."
[DŹWIĘK OTOCZENIA], no music, no subtitles, no on-screen text.Przy kwestii pamiętaj: liczby słowami, najwyżej dwa zdania na 8-10 sekund i żadnych trudnych nazw własnych. Markę wolę pokazać w napisie albo nagrać lektorem w montażu.
Oznaczanie AI i uczciwość wobec widza
Sztuczna osoba gadająca do telefonu jest nie do odróżnienia od nagrania z prawdziwym człowiekiem, więc mam trzy stałe reguły. Każdą taką reklamę opisuję jako stworzoną w AI. Awatar nie podaje się za prawdziwego klienta. W kwestii nie ma zmyślonych opinii w stylu "kupiłam i polecam" od kogoś, kto nie istnieje, tylko cechy produktu, które da się sprawdzić. Stan przepisów i regulaminów na 4 października 2026:
- AI Act, art. 50. Od 2 sierpnia 2026 publikujący deepfake (realistyczny obraz, dźwięk lub wideo, który można wziąć za prawdziwy) ma obowiązek poinformować, że materiał jest sztucznie wytworzony albo przerobiony. Kary dochodzą do 15 mln euro lub 3% światowego obrotu. Realistyczny "klient" przed kamerą łatwo się w tym mieści, dlatego oznaczam każdą taką reklamę. Źródła: omówienie Komisji Europejskiej oraz rozporządzenie 2024/1689.
- Meta (Facebook, Instagram). Reklamy stworzone lub mocno zmienione narzędziami AI, również zewnętrznymi rozpoznawanymi po metadanych, dostają etykietę "AI info" w menu "O tej reklamie". Samodzielne ujawnienie jest obowiązkowe przy reklamach politycznych i społecznych. Źródła: pomoc Mety o etykietach AI w reklamach oraz zasady Mety dla reklam o tematyce społecznej.
- TikTok. W Ads Managerze jest pole "This ad contains AI-generated content" - zaznaczasz je, jeśli AI wytworzyła lub mocno przerobiła obraz, wideo albo dźwięk. Raz wysłanego zaznaczenia nie cofniesz, dopóki nie podmienisz materiału. Spark Ads oceniane są według reguł społeczności dla treści AI. Źródło: pomoc TikTok Ads o zastrzeżeniach w reklamach.
- Fałszywe opinie. Po dyrektywie Omnibus zmyślone recenzje konsumenckie (pisane samemu albo zamawiane) trafiły na czarną listę praktyk zakazanych. Polska ustawa o nieuczciwych praktykach rynkowych zawiera ten zakaz od 1 stycznia 2023. Sztuczny "zachwycony kupujący" to raczej podrobiona recenzja niż klasyczna reklama. Źródło: dyrektywa 2019/2161.
Nie traktuj tego jako porady prawnej. Przy kampanii dla klienta i przy suplementach, produktach finansowych czy medycznych daj scenariusz do przejrzenia prawnikowi.
Pytania
Czy mogę użyć twarzy prawdziwej osoby, np. influencera, z którym współpracuję?
Tylko za jej wyraźną zgodą, najlepiej na piśmie i z opisem, gdzie reklama się pojawi. Bez zgody zostań przy postaci wymyślonej. Oznaczenie AI obowiązuje w obu przypadkach.
Co zrobić, gdy model przekręca nazwę mojej marki?
Usuń ją z kwestii. Nazwę pokaż napisem w montażu albo nagraj lektorem i podłóż pod końcówkę klipu. Postać może mówić "ten krem" i wtedy nic się nie psuje.
Dlaczego hooki testuję na tym samym kadrze?
Bo wtedy różni się tylko pierwsze zdanie i wiesz, co wpłynęło na wynik kampanii. Jeśli zmienisz jednocześnie postać, miejsce i otwarcie, nie dowiesz się, co zadziałało.
Jak zrobić reklamę UGC dłuższą niż 15 sekund?
Złóż ją z kilku klipów, każdy z jedną lub dwiema krótkimi kwestiami, wychodząc od tego samego kadru postaci. MiniMax H3 robi do 15 s, Gemini Omni 1.1 do 10 s, Veo 3.1 zawsze 8 s, więc dłuższa reklama i tak powstaje w montażu.


























