Sample project · AI UGC ad pipeline

One request in chat. Six handoffs. A finished 30 second ad in three hooks.

One job run through a small version of a multi-agent content pipeline, for the Home Kitchen niche and an ad for a fictional client, the glass container brand Brightlid. Below is the run exactly as the operator sees it: each bot, what it handed to the next one, and the files it produced. Click any stage to open it.

> make 3 ad variations for client Brightlid, 5 piece glass container set, niche Home Kitchen
Run #0042Client folder /clients/brightlidStatus waiting for approval
1

Brief done research-bot

Pulled top performing kitchen storage ads and wrote a one page brief.

Product   Brightlid 5 piece glass set (fictional client)
Audience  25 to 40, cooks on Sunday, takes lunch to work
Angle     waste less, lunch that still tastes fresh on Thursday
Proof     4 sided clip lid, fridge to microwave to dishwasher
Format    UGC voiceover, creator on camera, 30 s, 3 hooks
Sources   Meta Ad Library + TikTok Creative Center (top 20 ads)
Handoff   brief.md  >  script-bot
2

Script done script-bot

One 25 second body, three interchangeable hooks, written in the niche's tone.

HOOK A  I used to throw out half my groceries every week.
        Then I changed one thing.
HOOK B  One hour on Sunday. Five lunches. Watch this.
HOOK C  This is my Thursday lunch. And no, I didn't make
        it on Thursday.
BODY    These are Brightlid glass containers. The lid clips
        down on all four sides, so nothing leaks in my bag.
        They go from the fridge, to the microwave, to the
        dishwasher. No stained plastic, no weird smell.
        I prep on Sunday, stack them, and my fridge finally
        looks like I have my life together.
        And Thursday's lunch still tastes like Monday's.
CTA     The Brightlid five piece set. Tap the link and get yours.
Handoff script.md  >  voice-bot, asset-bot
3

Assets done asset-bot + voice-bot

Creator and product locked as reference sheets, then 8 shot stills. Voice with word timings.

Creator reference sheet, three viewsProduct reference, glass containers
Hook A stillHook B stillHook C stillLid clip stillMicrowave still Fridge stillDesk lunch stillProduct set still
Stills  8 x 9:16 from the 2 reference sheets (same face, same lid)
Voice   ElevenLabs, young US female creator voice, 8 takes
Music   generated music bed, 100 bpm, no vocals
4

Video done video-bot + edit-bot

8 clips animated from the stills, cut to the voice, captions from the word timings.

Clips    8 x 6 s, 1080p, animated shot by shot from the stills
Edit     hook + 5 body shots, cut on the voice timings
Captions word by word, 3 words per line, active word highlighted
Formats  9:16 (x3 hooks), 4:5, 1:1, safe zones respected
Handoff  /renders  >  qa-bot
5

QA passed qa-bot

Automatic checks before a human sees anything.

  • Speech transcribed back with Whisper: every word matches the script in all 3 variants
  • Every frame checked for cut off or overlapping text in all 5 files
  • Face, sweater and product checked shot to shot for drift
  • Length 28.8 to 30.0 s, loudness normalised for social
  • Labelled as AI generated on screen
6

Delivered needs approval human review

Five files in the client folder. Ads are handed over as files, nothing is posted.

/clients/brightlid/run-0042/
  brightlid_hookA_916.mp4   brightlid_hookA_45.mp4
  brightlid_hookB_916.mp4   brightlid_hookA_11.mp4
  brightlid_hookC_916.mp4   script.md  brief.md  qa.json
Hook
Format

Hook A opens on the problem: a bag of wilted spinach, straight to camera.

AI generated demo. Brightlid is fictional and the creator is not a real person. 4:5 and 1:1 are cut for hook A.

How the pipeline is built, in 3 steps

One niche working end to end first, then several niches with posting, then the ad workflow. It runs from Claude Code in chat, and every run writes a status page like the one above with links to the script, voice and video as they finish.

Step 1

One niche, end to end

Research, script, voice, video, edit, captions, thumbnail, QA and human approval for one niche, using the brand's character assets and templates. A chat command like "make 3 videos for niche 2 on X" starts a run and shows the handoffs.

Step 2

More niches + posting

A style profile per niche, vertical cuts for Shorts, TikTok and Reels, then publishing to YouTube, TikTok, Instagram, Facebook and X only after each video is approved.

Step 3

Ad workflow

Ad research, 30 second scripts with hook variants, exports in 9:16, 4:5 and 1:1, one folder per client with its own brand assets. Delivered as files, never auto posted. Docs and a recorded walkthrough.

Short FAQ

Which tools run each step?

Claude Code as the orchestrator with one sub agent per step. Research from the YouTube Data API, news search, Meta Ad Library and TikTok Creative Center. ElevenLabs for voice. Grok Imagine or Kling for video, picked per shot. ffmpeg for edit, captions and formats. Whisper for the automatic speech check. All swappable per project.

How are characters kept consistent?

Characters go in as reference sheets (face, outfit, props). Every still is generated from those sheets, never from text alone, and every clip is animated from an approved still. The QA step compares shots for drift and regenerates anything that changes.

Does anything post without approval?

No. Every video stops at the approval step. Ads are never posted, they land as finished files in the client folder.

Who owns the accounts and files?

The client. The pipeline runs on the client's own accounts and API keys, and every file lands in the client's folders.