omni-ugc-ad-factory

Generate a 20-second UGC talking-head video ad from a product and actor reference photo.

14|Updated Jul 17, 2026
One-click install
npx skills add https://github.com/MegaTroll222/OMNI-UGC-AD-FACTORY --skill omni-ugc-ad-factory-megatroll222
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: omni-ugc-ad-factory
Source: https://github.com/MegaTroll222/OMNI-UGC-AD-FACTORY
Command: npx skills add https://github.com/MegaTroll222/OMNI-UGC-AD-FACTORY --skill omni-ugc-ad-factory-megatroll222

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, Pillow, and includes scripts (resource) and references (resource) components.

What problem does it solve? Producing a believable UGC-style talking-head ad requires getting many details right at once: a photoreal actor, a script that sounds like a real person, natural voice delivery, and two generated clips that join without a visible seam. This Skill encodes those requirements as machine-enforced validation gates so every generation prompt is assembled and checked before any paid video or image call is made. ## Core Features & Use Cases - Gated prompt generation: The agent writes structured JSON for casting and each video clip; gate scripts validate it against data glossaries (age-correct skin physiology, a 32-entry micro-behavior glossary, a six-category voice spec, color-grading vocabulary) and assemble the final prompt only on PASS. - End-to-end ad pipeline: Researches the product, tears down 5 competitor Meta ads and 5 organic TikToks on the MaxFusion canvas, writes a pain-driven script, reverse-prompts a rights-clean actor from a user-supplied photo, and generates two chained 10-second Gemini Omni clips. - Seamless stitching: adkit.py measures speech, trims dead air, extracts clip 1's final frame to seed clip 2, verifies the seam (under 5/255 mean pixel difference), and stitches one 9:16 MP4 deliverable. - Use Case: Ask for an ad for your app, supply an actor reference photo and competitor leads, and receive a finished vertical MP4 of a realistic person delivering a natural-sounding testimonial. ## Quick Start Ask the assistant to make a UGC ad for your product and provide an actor reference photo when prompted.

Frequently Asked Questions about omni-ugc-ad-factory

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make a UGC talking-head video ad with AI?

Provide a product, an actor reference photo, and optionally competitor leads. The skill researches the product, tears down competitor Meta and TikTok ads, writes a natural-sounding script, casts a photoreal actor, and generates two chained 10-second Gemini Omni clips stitched into one 9:16 MP4.

How do I join two AI-generated video clips without a visible seam?

Seed the second clip with the trimmed final frame of the first clip. Gemini Omni holds its reference image for the opening frames, so the join becomes invisible; adkit.py verifies the seam stays under 5/255 mean pixel difference before stitching.

What are the requirements to run this video ad skill?

You need Claude Code with the MaxFusion MCP connected, ffmpeg on PATH, and Python 3 with numpy and Pillow for the adkit.py trimming and stitching script. A Claude app fallback exists with documented limitations.

Why does my AI-generated actor look too old or too plastic?

Realism vocabulary like fine lines and dryness is age-loaded and pulls generated faces older. The casting gate enforces age-bracket physiology terms and bans plastic-skin words, and the skill mandates gpt-image-2 because other models produced poreless skin.

Can I pass the actor photo directly as an image reference?

No. Passing the photo as a generation reference clones a real person, which is a rights problem. The skill reverse-prompts the photo into a text description and generates a rights-clean lookalike via text-to-image only.

Why does the skill use gate scripts instead of writing prompts directly?

Hand-written prompts repeatedly caused production failures like device words rendering into frame, robot voices, and ad-copy closers. The gates validate structured JSON against data glossaries and assemble the prompt themselves, so an unvalidated prompt cannot reach a paid generation call.