Skip to content

OMNI UGC AD FACTORY

Turn a product + an actor reference photo into a seamless ~20s UGC talking-head ad — Claude Code skill with machine-enforced prompt gates, on the MaxFusion MCP.

Install

$git clone https://github.com/MegaTroll222/OMNI-UGC-AD-FACTORY

Install command taken from the project's README or registry entry. Always review code before running it.

Omni UGC Ad Factory

A Claude Code skill that turns a product and an actor reference photo into a finished ~20-second UGC talking-head ad: two chained 10-second Gemini Omni clips that play as one unbroken take, shipped as a single seamless 9:16 MP4. Built on the MaxFusion MCP.

Real outputs of this pipeline (click a preview for the full MP4 with sound):

gym room room alt

Why it exists

Anyone can prompt a talking head. The hard parts are everything that makes viewers believe it: an actor that looks captured rather than rendered, a script that sounds like a person and not an ad, a voice that isn't monotone, micro-behaviors (uneven pauses, a gaze drop, a nose exhale) that land on the right beats, and two clips that join without a visible seam.

This skill encodes all of that as machine-enforced gates, not prose advice:

casting.json  ->  gate_casting.py  ->  approved_casting.txt  ->  gpt-image-2
clip1.json    ->  gate_omni.py     ->  approved_clip1.txt    ->  gemini-omni-flash
clip2.json    ->  gate_omni.py     ->  approved_clip2.txt    ->  gemini-omni-flash

The agent never hand-writes a generation prompt. It writes structured JSON; the gate validates it against data-file glossaries (age-correct skin physiology, a 32-entry micro-behavior glossary keyed to internal states, a six-category voice spec, a camera color-grading vocabulary) and assembles the prompt itself on PASS. A prompt that skipped its gate does not exist.

The chaining trick

Omni holds its reference image for the first frames of a clip before dissolving into the generated scene. Seed clip 2 with clip 1's trimmed final frame and that quirk becomes an invisible join — measured seams of ~3/255 against a hard gate of 5/255. scripts/adkit.py measures speech, trims dead air in the right order, verifies the seam, and stitches the deliverable.

Install

Drop the omni-ugc-ad-factory/ folder into your Claude Code skills directory (~/.claude/skills/ or a project's .claude/skills/). Requirements:

  • Claude Code with the MaxFusion MCP connected
  • ffmpeg on PATH, Python 3 with numpy and Pillow (for adkit.py)

Then ask for an ad: "make me a UGC ad for ". The skill asks five things once (actor age bracket, delivery tone, visual lane, research leads, an actor reference photo) and runs the whole pipeline: competitor teardown, gated script, gated casting, two chained clips, seam check, stitched 9:16.

Layout

  • SKILL.md — the pipeline, step by step, with every production failure baked in
  • data/ — the four glossaries the gates enforce (edit these to improve the system)
  • scripts/ — gate_casting.py, gate_omni.py, adkit.py
  • references/ — deep references: pitfalls, Omni beat-prompting, casting realism + age-texture decoupling, delivery (how a real person talks), humanizer
  • examples/ — finished 9:16 ads produced by this pipeline

Credits

  • references/humanizer.md is blader/humanizer (MIT, by Siqi Chen), applied here to ad scripts.
  • Video generation, image generation, ad research, and canvas analysis run on the MaxFusion platform via MCP.

MIT licensed.

Similar plugs

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local…

Why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.

The 1st Collaborative AI Design Agent Workspace. Local-first and open source. Create prototypes, websites, apps, dashboards, presentations, images, and videos with your team…

Explore related