← Style engine · Research report · AI UGC & creator formats

Engine decision after this research (2026-09-28): Gemini Omni is the only video model. Where this report routes shots to Veo 3.1, the engine uses Omni with the rules on the main page.

Styles 02 · AI UGC and creator-native ad formats

Research date: 2026-09-27. Scope: user-generated-content (UGC) look and creator-native formats for 9:16, 30-60 s Meta / TikTok ads in Tunisian Derja (solar PV, alarms/cameras, then other SMEs). Research only. No media was generated.

Evidence tags: [official] = Google / Meta / TikTok / FTC docs. [vendor] = a tool maker's own claim. [practitioner] = agency or creator write-ups and tests. [secondary] = blog summaries of policy (check against the official page before relying on them). Most performance numbers in this field come from vendors and agencies. Read them as direction, not as proof.

Related docs: research/01-omni-prompting.md (Omni has no audio input; Derja VO unsupported), research/05-omni-pro-workflows.md, research/07-anti-ai-look.md (sound and finishing), research/08-hybrid-pipeline.md (Remotion RTL captions).


0. TL;DR

  1. The script and the first 1.5-3 s decide most of the result, human or AI. UGC-look ads beat polished ads on hook rate and CTR in most agency data. For solar, agencies report that owner-on-camera and phone-filmed customer creative gives 25-40% lower CPL than stock or branded work [practitioner].
  2. Derja lip-sync is the hard part. Veo 3.1 and Gemini Omni docs both say: "English (EN) is fully supported, but other languages have not been evaluated" [official]. Omni takes no audio input, so it cannot lip-sync to our Gemini TTS track [official]. Veo tends to pull the accent toward how the face "looks" [practitioner]. A native Derja talking head made only on Vertex is not reliable today.
  3. There are two ways to get a talking head that speaks our Derja track. (a) Make the clip on Vertex (NB2 frame → Omni/Veo, "person speaking naturally"), mute it, then re-sync the lips to our TTS audio with a language-agnostic lip-sync model (sync. labs lipsync-2-pro / sync-3; sync-3 lists Arabic). (b) Use an audio-driven avatar (image + our audio): Kling Avatar 2.0, OmniHuman 1.5, Creatify Aurora, HeyGen Avatar IV/V, Captions Mirage. None of these runs on Vertex. Open models (LatentSync, InfiniteTalk, Wan2.2-S2V) can be self-hosted on a GPU. Google's new Gemini 3.8 Live Avatar (GA 2026-09-25, 97 languages) is conversational and uses its own voice. Custom avatars need allowlisting. It is not a fit for scripted ads yet.
  4. Half of the formats need no on-screen lip-sync. Hands-only demo, POV, day-in-the-life with VO, green-screen with a STEG bill, review montage, split-screen and chat screens all work with our current engine. Ship these first. Add talking heads once a lip-sync A/B on Derja passes a native listener.
  5. Policy decides how to frame it, not whether to use AI. A photorealistic AI person on Meta puts the "AI info" label next to "Sponsored" [official]. TikTok requires the AIGC label or a burned-in disclaimer. Undisclosed AIGC is rejected [official]. Fake customer testimonials are out on every platform and under Tunisian consumer law. Use an AI actor as spokesperson, a clearly labelled dramatization ("تمثيل / Mise en scène"), the owner's own avatar with written consent, or real customers filmed on a phone. For solar trust, the last option is still the strongest.

1. Why UGC and creator-native formats convert (data)

Signal Number Source type
Meta hook-rate benchmark (3 s views / impressions) ~28% avg; top 10% ~45%. TikTok ~33% avg, top 10% ~55% practitioner (Benly/Digital Applied 2026)
UGC vs polished +31% hook rate, +33% CTR; TikTok/Reels UGC CTR +50-80%, FB Feed +15-25% practitioner (Finsi, Benly)
AI UGC vs real UGC Avatar UGC lands within 10-20% of real creators on hook rate and CTR; 85-110% of good UGC CTR; up to 28-31% lower CPA in some tests vendor/practitioner (Creatify case via inBeat, Digital Applied)
Where AI UGC wins / loses Wins: hook testing, top-of-funnel, explainers, demos. Loses: bottom-funnel trust, categories that need lived experience practitioner (inBeat, Pose)
Fatigue UGC peaks 10-14 days, then CTR/CVR drop 25-40% (studio: 18-25 days). Solar: 14-21 days, CTR -40-60% practitioner (Finsi, Web Tonic)
Meta format hit rates (Motion, $1.29B spend, 578k ads, Sep 2025-Jan 2026) Unboxing 9.8%, Offer-first banner 8.6%, Demo 8.1%, Testimonial 6.5%; Split Screen, Us-vs-Them, Before/After, POV, Founder, Behind-the-scenes all in the ~5-9% band practitioner (Motion)
Hook tactics for $1M+/month advertisers Confession, Bold claim, Relatability, Contrast, Curiosity practitioner (Motion)
Podcast-style ads 40%+ hook rate across 12+ campaigns vendor (Influee)
TikTok Spark Ads (creator-native posts boosted) Completion +30%, engagement +142%, CVR +43%, CPM -4% vs standard official-ish (TikTok data via Adsmurai/RE:UGC)
Solar video vs static Video 2-3x more leads; phone-filmed homeowner testimonials beat TV-style; owner-on-camera 25-40% lower CPL practitioner (Web Tonic citing Daly, Uprise)
Solar winning hooks Bill-shock reversal with a real number; subsidy deadline; "anti-cowboy" trust ("named director, real showroom, 100 local homes") practitioner (LeadSync)

TikTok's own guidance [official]: 9:16, ≥720p, sound on, hook in the first 6 s and value in the first 3 s, feature people (creators, employees, customers), a DIY / not-too-polished style, text at 5-10 words per second, 3-5 creatives per ad group, and refresh when delivery declines.

What this means for Lead Up: the Tunisian audience is big and mobile-first. Facebook reaches 7.8M, TikTok 6.0M adults and Instagram 4.05M (DataReportal 2026). A cheap engine that makes many hook variants of the same proven body is the right fit, because UGC-style ads tire in about 2 weeks.


2. The core technical question: talking heads in Derja

2.1 What Vertex models can and cannot do (Sept 2026)

Model Speech in video Our own audio in? Arabic / Derja status Notes
Gemini Omni Flash (gemini-omni-1.1-flash[-preview]) Yes, co-generated, "millisecond" lip-sync on clean English takes No. "Uploading audio references is unsupported in the current version" [official] "English fully supported, other languages not evaluated" [official]. No Arabic test found. Mandarin test: "slightly foreign accent" [practitioner] 3-40 s, 360p-4K, 9:16 OK, SynthID. Dialogue edits are unreliable (it can add subtitles instead) [practitioner]. ~15% stutter rate on talking takes [practitioner, Maxfusion]
Veo 3.1 / Fast / Lite Yes, quotes = dialogue No audio input Same "EN only evaluated" line [official]. Accent drifts toward the face/setting [practitioner]. Single-speaker sync about 80% OK, multi-speaker under 40% [practitioner] 4/6/8 s; 9:16; ref images ×3; first/last frame; extend +7 s. MENA: personGeneration=allow_adult only for image-to-video [official]. Maxfusion rates Veo mouths "rubbery" and better for B-roll
Veo 3.1 inside Google Vids Avatars + Gemini 3.1 Flash TTS Script only Arabic added June 2026 (24 languages) [official] Proves Google can pair Veo avatars with Gemini TTS in Arabic, but it is a Workspace product, not an API. Almost surely MSA, not Derja. Worth one manual test to see the mouth quality on Arabic
Gemini 3.8 Live + Live Avatar Real-time lip-synced talking head Speaks its own voice (speech-to-speech) 97 languages, auto-detect [official] GA 2026-09-25, US/EU. Prebuilt avatars; custom avatar (1 photo + voice sample) by allowlist only. Built for agents, not scripted ads. Voice ≠ our TTS voice

Conclusion: a Derja talking head made fully on Vertex is a gamble. It fails in the details natives catch: the voice drifts to MSA, Egyptian or Levantine, and it does not match our brand TTS voice. Keep our Gemini 3.1 TTS Derja track as the single source of truth and make the face follow it.

2.2 Lip-sync layers that take our audio (all off-Vertex)

Tool Type Language Price / limits Notes
sync. labs lipsync-2-pro video + audio → re-synced video language-agnostic ~$0.067-0.083/s Needs a face that is already moving as if talking (still frames fail). Prompt source video with "person is speaking naturally". Good on beards and teeth
sync. labs sync-3 same, 4K, handles occlusion and profile 95+ languages incl. Arabic [vendor] ~$0.107-0.133/s Maxfusion: "best lip sync model available" [practitioner]
Kling Lipsync / Kling Avatar 2.0 redub or image + audio EN/ZH/JA/KO listed; audio upload works in any language Avatar up to 5 min GSB score beats OmniHuman 1.5 and HeyGen in Kling's own test [vendor]. Kling 3.0 drifts after about 8 s [practitioner]
OmniHuman 1.5 (ByteDance) image + audio audio-driven ~30 s cap Quality drops after 10-11 s [practitioner]
Creatify Aurora image + audio (DiT) 75+ languages long-form Breathing, blinks, gestures; keep speech moderate with pauses [vendor]
HeyGen Avatar IV / V photo or twin + uploaded audio 175+ languages API ~$0.05/s Strong for owner "digital twin" with consent
Captions Mirage generated actor + audio/video/script 29+ languages app/API UGC-first foundation model; full face and upper-body motion [vendor]
RIZZ audio-driven - ≤60 s "Most realistic audio-driven" per Maxfusion; vowel-dependent issues [practitioner]
Open source: LatentSync, MuseTalk, InfiniteTalk, Wan2.2-S2V (480/720p) redub / image + audio audio-agnostic GPU time only Self-host (Runpod, or a Vertex custom container). Data stays with us. Quality below sync-3 / Kling

Rules that hold across tools: audio first (expressive TTS gives expressive faces). Keep each take ≤8-10 s and cut, because drift and gesture loops show after that. Mid-shot, not extreme close-up. Use a face already in motion for redub models.

2.3 Test plan before we commit (no spend until the owner approves)

One 10 s Derja line with French code-switching, one NB2 first frame (Tunisian man, 35, car interior, phone selfie). Candidates: 1. Omni i2v "speaking naturally, no dialogue audio" → mute → sync-3. 2. Same → lipsync-2-pro. 3. Kling Avatar 2.0 (image + our WAV). 4. Veo 3.1 native, Derja in Arabic script inside quotes (control). Check the dialect by ear. 5. HeyGen Avatar IV (image + WAV).

Blind-rate with 3 Tunisians on: mouth match on emphatic consonants (ق ع ح ط), teeth and tongue, blink rate, "would you scroll past this as an ad or as a real video". The winner becomes the talking-head node in the pipeline.


3. Universal realism kit (applies to every format)

3.1 Realism killers → fixes

Killer Fix
Stare-lock eye contact, no glances Prompt "glances down at phone screen, then back to lens; eyes drift off to the side while thinking". In real selfies the eyes look at the screen, slightly below the lens
Metronome blinking or no blinks Keep takes <10 s. Cut on blinks. Choose models with blink modelling (Aurora, sync-3)
Waxy teeth, one merged tooth-bar, tongue missing Mid-shot framing, lipsync-2-pro/sync-3 (teeth detail), avoid wide-open laughing close-ups
Hands: extra fingers, product warping Hands-only shots from NB2 frames with the real product photo as reference. Short takes. Hide hand-object contact on cuts
Over-clean studio audio (AI tell #1) Phone-mic chain on the TTS: HPF ~120 Hz, LPF ~9-11 kHz, light room reverb (car/kitchen IR), -30 dB room tone bed, a few handling bumps. Street: wind and traffic. See doc 07 §3
TTS "announcer" tone Script in spoken Derja with fillers ("يعني", "شوف", "franchement", "إيه وبعد"), false starts, breaths. Style prompt: "casual, tired after work, talking to a friend". Speed ~1.05x with real pauses
Too-perfect light, shallow cinematic bokeh Prompt "front-camera phone video, flat mixed lighting, window blown out, slight HDR halo, no color grade, deep focus". Add grain and a mild over-sharpen in post
Locked-off camera "Handheld at arm's length, micro-shake, small reframes". Add a 1-2 px shake in Remotion if the model is too steady
Continuity drift between clips NB2 character sheet (3 refs), same outfit and set description word for word; Omni previous_interaction_id chains
Model-drawn text (fake Arabic) Never let the model draw text. All captions and labels come from Remotion (doc 08)
One long unbroken AI take Jump-cuts every 1.5-3 s, which is also how natives edit. Punch-ins (110-120% scale) hide seams

3.2 Caption style natives use

3.3 Tunisian authenticity cues (settings, people, phone look)

All Derja lines below are drafts and must pass the InfoLab Derja lint (reference/infolab/) and owner approval.


4. The formats

Difficulty is for our stack: ★ = current engine as is, ★★ = needs the lip-sync node, ★★★ = multi-speaker lip-sync or hard continuity.

4.1 Talking-head testimonial selfie ★★

4.2 POV / storytime ★

4.3 Street interview / vox pop (micro-trottoir) ★★★

4.4 Podcast clip / two-person conversation ★★★ (★★ if one speaker)

4.5 Green-screen reaction ★ (★★ with face)

4.6 Unboxing / hands-only demo ★

4.7 "Day in the life" of a tradesman ★ (★★ with speaking)

4.8 Customer review montage ★

4.9 Founder / owner-to-camera ★★

4.10 Duet / stitch / reply-to-comment ★ (★★ with face)

4.11 "Us vs them" / split-screen ★

4.12 Other UGC-native formats that perform in 2026

Format Why Build Stars
Car testimonial Car setting reads non-commercial and credible [practitioner, Foreplay] selfie in car + lip-sync ★★
Bill reveal / "what I paid vs what I pay" before/after on a real bill, the number is the hook Remotion bill + VO + hand shots ★
Chat-screen story (WhatsApp / Messenger quote thread) Tunisians buy via Messenger (8.1M users); "Prix?" flood already in our v2 pure Remotion + VO ★
3 reasons why / listicle Simple, clear, under 30 s VO + B-roll + numbered cards ★
Silent proof / ASMR install Visual proof removes doubt; sound-first Omni macro + foley, no VO ★
Solo skit (one actor plays customer and "cowboy installer") High watch time, humour travels well in Derja 2 looks of the same AI actor, single-speaker shots + lip-sync ★★
Expert explains (whiteboard/phone calc: kWc, payback) Education for high-ticket buys faceless hand + Remotion calc ★
Offer-first banner video Top spend share on Meta (29%) Remotion headline + short B-roll ★

5. Ethics and platform policy

5.1 What the rules say

5.2 Compliant variants (use these names in scripts and briefs)

Instead of Use
AI "customer" saying "I installed it and my bill dropped" AI spokesperson explaining how it works ("الـ panneaux يخدمو هكّا…"), no first-person purchase claim, AI label on
Fake vox pop Sketch with an on-screen label "تمثيل · Mise en scène", exaggerated, clearly fiction
Invented reviews Real reviews (screenshot, consent), first name + city
AI "engineer from STEG" The real installer's consented avatar, named, with his real credentials
Real client's story told by an AI face "Reconstitution based on [first name]'s real bill (consent on file)" with the real numbers, and the real bill photo
Real person cloned without paperwork Signed release: name, use, duration, channels, revocation; stored with the project

House rules: 1. Always toggle the platform AI disclosure (Meta and TikTok) when a synthetic person appears. Also add a small burned-in "AI" or "تمثيل" corner tag for dramatizations. 2. Numbers (savings, prices, subsidy) must come from the installer's real jobs and be documented. 3. Owner approves every script before any paid generation (existing rule). 4. Never depict minors, public figures or identifiable private people. 5. Keep a per-ad compliance note (format, disclosure, consent file, claim sources).


Brief + real proof (bill numbers, install photos, reviews, owner clips)
  → Derja script (InfoLab lint, owner approval)            [gate]
  → Gemini 3.1 TTS: casual Derja VO, fillers + breaths      (source of truth)
  → Timing spine (word timings → shot list, cuts every 1.5-3 s)
  → NB2 first frames: character sheet (3 refs), Tunisian set, phone-selfie look, real product refs
  → Omni 720p i2v, 4 s takes (always 720p), prompts: "front-camera phone video, handheld, flat light,
       [speaking naturally | no dialogue]"; B-roll/hands/POV with no faces talking
  → TALKING SHOTS ONLY: mute → lip-sync node (winner of §2.3 test: sync-3 / lipsync-2-pro / Kling Avatar)
       fed with the exact TTS slice; ≤8 s per take
  → Remotion: native captions (Arabic script or Arabizi A/B), hook box, comment bubbles, bill/review cards,
       split screens, AI/تمثيل tag, CTA end card
  → Sound: phone-mic EQ on VO, room tone per set, foley, light music bed (doc 07 §3)
  → Finish: grain, slight over-sharpen, 30 fps, -14 LUFS
  → ffmpeg export 1080x1920 → platform upload with AI disclosure toggled

Rollout order: - Wave 1 (current engine, no lip-sync): POV/storytime, hands-only unboxing/demo, day-in-the-life with VO, faceless green-screen bill, review montage (real reviews), split-screen, chat-screen, bill reveal. - Wave 2 (after the §2.3 lip-sync test): owner-to-camera avatar (with consent), AI spokesperson selfie, car "spokesperson", reply-to-comment with face. - Wave 3 (hard, low priority): podcast two-shot, solo skit. Street interview stays a real-shoot service only.

Variant economics: one body (20-30 s) × 5 hooks (bill number, POV, real comment, confession, contrast) × 2 caption scripts = 10 ads per concept. Refresh every 10-14 days.


7. Open questions

  1. Does Veo 3.1 speak recognisable Tunisian Derja from an Arabic-script quote, and does the accent survive on a Tunisian-looking face? (One LinkedIn practitioner claims Veo 3 does "local dialects"; not verified.)
  2. Is a lip-sync API allowed under our data rules (upload of VO and owner face to a US/Chinese vendor), or do we self-host LatentSync/InfiniteTalk (the Runpod plugin is present but needs authentication)?
  3. Can we get Live Avatar custom-avatar allowlisting for the owner, and can it read a fixed script with an external voice?
  4. Arabizi vs Arabic-script captions: which gets better hook rate on Tunisian TikTok vs Facebook?
  5. Local legal check of 92-117 / 98-40 / 2004-63 for AI dramatizations and owner avatars.

Sources

Official - Gemini API, Omni Flash: https://ai.google.dev/gemini-api/docs/omni - Gemini API, Veo 3.1: https://ai.google.dev/gemini-api/docs/veo - Vertex Veo 3.1 model page: https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/veo/3-1-generate - Gemini 3.8 Live + Live Avatar GA: https://cloud.google.com/blog/products/ai-machine-learning/gemini-3-8-live-with-live-avatar-is-now-generally-available - Live avatars docs: https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/live-api/configure-live-avatars - Google Vids avatars, 24 languages incl. Arabic (June 2026): https://workspaceupdates.googleblog.com/2026/06/enhanced-ai-avatars-vids.html - Google Vids languages (Feb 2026): https://workspaceupdates.googleblog.com/2026/02/vids-avatars-voiceovers-new-languages.html - Google Vids avatar directing (Apr 2026): https://workspaceupdates.googleblog.com/2026/04/direct-avatar-to-speak-and-act-anywhere-with-a-consistent-face-and-voice.html - Veo prompt guide: https://deepmind.google/models/veo/prompt-guide/ - Meta, GenAI transparency in ads: https://about.fb.com/news/2025/02/gen-ai-transparency-metas-ads-products/ - Meta help, AI labels in ads: https://www.meta.com/help/artificial-intelligence/355108217670024/ - Meta business help, third-party AI info: https://www.facebook.com/business/help/1009525374368348 - Meta AI disclosures: https://transparency.meta.com/policies/other-policies/meta-AI-disclosures - TikTok ad policy, misleading and false content: https://ads.tiktok.com/help/article/tiktok-ads-policy-misleading-and-false-content - TikTok creative best practices: https://ads.tiktok.com/help/article/creative-best-practices - TikTok disclaimers in Ads Manager: https://ads.tiktok.com/help/article/add-disclaimers-to-ads - TikTok Spark Ads creative playbook: https://ads.tiktok.com/business/creativecenter/quicktok/online/Spark-Ads-Creative-Playbook/pc/en - FTC final rule on fake reviews: https://www.ftc.gov/news-events/news/press-releases/2024/08/federal-trade-commission-announces-final-rule-banning-fake-reviews-testimonials - FTC rule Q&A: https://www.ftc.gov/business-guidance/resources/consumer-reviews-testimonials-rule-questions-answers - eCFR 16 CFR 465: https://www.ecfr.gov/current/title-16/chapter-I/subchapter-D/part-465 - Tunisia Law 92-117 (Juridoc): https://www.juridoc.tn/document/loi-n--1992-117-du-7-decembre-1992-relative-a-la-protection-du-consommateur/26006?_locale=en

Tools / vendors - sync. labs lipsync models: https://sync.so/docs/models/lipsync ; pricing https://sync.so/pricing - Sync LipSync 3: https://wavespeed.ai/blog/posts/introducing-sync-lipsync-3-on-wavespeedai/ - Creatify Aurora: https://creatify.ai/introducing-aurora ; best practices https://creatify.ai/blog/aurora-best-practices - Captions Mirage: https://captions.ai/blog/mirage-worlds-first-foundation-model-for-ugc-video - HeyGen Avatar IV: https://www.heygen.com/avatars/avatar-iv ; review https://diyai.io/ai-tools/video-generation/reviews/heygen-review/ - Arcads languages: https://intercom.help/arcads/en/articles/13250377-what-languages-are-supported-by-arcads - Kling Avatar 2.0: https://www.therundown.ai/tools/kling-avatar-2-0 - OmniHuman 1.5: https://wavespeed.ai/models/bytedance/avatar-omni-human-1.5 - Wan2.2-S2V: https://huggingface.co/Wan-AI/Wan2.2-S2V-14B - Higgsfield lipsync guide: https://higgsfield.ai/blog/make-ai-lipsync-videos - Invideo lipsync model comparison (Aug 2026): https://invideo.io/blog/ai-lipsync-models/

Practitioner / analytics - Maxfusion, lip-sync test of models for AI UGC (2026): https://maxfusion.ai/blog/ai-video-models-lip-sync-2026 - Prompt Architects, dialogue and lip-sync by model: https://prompt-architects.com/blog/310-dialogue-and-lip-sync-in-ai-video - Veo non-English accent issue (Romanian) and redub workaround: https://github.com/ulmeanuadrian/kie-mcp/issues/1 - Veo 3 prompting guide (selfie, dialogue colon trick): https://github.com/snubroot/Veo-3-Prompting-Guide - Atlas Cloud, Gemini Omni hands-on: https://www.atlascloud.ai/blog/tips/google-gemini-omni-testing-results - VentureBeat, Gemini Omni launch: https://venturebeat.com/technology/google-unveils-gemini-omni-any-to-any-ai-model-what-enterprises-should-know - Motion Creative Benchmarks 2026, formats: https://motionapp.com/library/research/creative-benchmarks-2026/top-visual-formats - Motion benchmarks overview: https://motionapp.com/library/research/creative-benchmarks-2026/ - Foxwell on Motion benchmarks: https://www.foxwelldigital.com/blog/motion-creative-benchmarks-2026-8-key-takeaways - inBeat, AI UGC vs real UGC: https://inbeat.agency/blog/ai-ugc-ads-vs-real-ugc - Finsi, UGC benchmarks 2026: https://www.finsi.ai/blog/ugc-ads-performance-benchmarks/ - Benly, creative benchmarks 2026: https://benly.ai/learn/ad-creative/ad-creative-benchmarks-2026 - Digital Applied, AI creative benchmarks: https://www.digitalapplied.com/blog/ai-ad-creative-benchmark-2026-ctr-roas-data - Pose, AI UGC vs creators: https://pose.ai/blog/ai-ugc-vs-real-creator-performance - Z2A Digital, making AI UGC human: https://www.z2adigital.com/blog-content/make-ai-ugc-human - Foreplay, 10 ad formats: https://www.foreplay.co/post/savanah-sanchez-ad-formats - The Performers, founder ad playbook: https://www.blog.theperformers.io/p/the-founder-ad-examples-formats-that-convert - Influee, podcast-style ads: https://influee.co/landing/podcast-style-ads - NoGood, man-on-the-street interviews: https://nogood.io/blog/man-on-the-street-interviews/ - Veo 3 local-business ads: https://www.joeyoungblood.com/artificial-intelligence/local-businesses-are-creating-viral-videos-ads-with-googles-veo-3/ - TikTok hooks / POV: https://zeely.ai/blog/hooks-for-tiktok-video-ads/ ; https://influee.co/blog/tiktok-ad-examples - Spark Ads data: https://www.adsmurai.com/en/articles/tiktok-spark-ads ; https://reugc.com/blog/tiktok-spark-ads - Solar ads: https://leadsync.me/blog/solar-facebook-ads/ ; https://www.webtonic.io/blog/solar-energy-ad-creative-statistics

Secondary policy summaries (verify against official pages) - https://www.cinerads.com/blog/ai-ugc-facebook-ad-policy - https://www.cinerads.com/blog/tiktok-ai-content-policy - https://ugcvids.ai/blog/tiktok-ai-content-disclosure-rules-2026 - https://coinis.com/blog/meta-ai-content-labeling-facebook-instagram-ads-2026

Tunisia context - DataReportal Digital 2026 Tunisia: https://datareportal.com/reports/digital-2026-tunisia - NapoleonCat Tunisia (Jul 2026): https://stats.napoleoncat.com/social-media-users-in-tunisia/ - PROSOL Elec subsidies: https://www.stes.tn/subventions-photovoltaique-tunisie-prosol-anme/ ; https://tunisie-electricite.com/steg/solaire - Tunisian influencer marketing (Derja/French): https://dergipark.org.tr/en/pub/tujomr/article/1731207