Problem
Maintaining a consistent brand presence on social media effectively requires a dedicated social media manager — daily posting, on-brand creative, and staying current with what's actually working. Most small and mid-size businesses don't have one, and two failure modes follow directly.
First: businesses often don't know what to post. Second: even when there's a clear idea, execution is slow. A common real pattern — a CEO sees a post they like and wants the same concept with their own name, their own pricing, their own logo and colors — still requires a designer, a round of revisions, and days of turnaround for what is conceptually a small change.
Analysis
Two problems needing two different solutions in one system. The "what to post" gap needs live trend signal about what's currently resonating, not static best practices. The "make it ours" gap needs the brand's actual visual identity encoded somewhere the generation pipeline can enforce automatically — otherwise you get generic output that needs a human to fix, which defeats the purpose.
A third failure mode had to be designed around: a single "describe your ad" prompt burns an entire generation cycle before anyone discovers the output isn't what they wanted. For video generation, that's expensive in both time and API cost.
Solution & Architecture
The pipeline starts by scraping the client's own website with Playwright — visual style, typography, logos, color palette, product imagery — and passes that through a multimodal vision model to infer brand voice, audience, and differentiators. The result is a structured, persistent brand profile that every later stage is checked against, which makes "with our logo and our colors" automatic rather than a manual step.
From there, a small hierarchy of specialist agents each owns one stage rather than one long prompt chain: a creative director proposing a few distinct directions grounded in the brand profile; a script writer turning an approved direction into a shot-by-shot script sized to the video model's per-generation limits; a reference selector mapping specific brand assets to specific scenes; a voice agent choosing and timing a Cartesia TTS voice against the script; a video generator splitting longer scripts into segments generated with Google's Veo model and stitched with FFmpeg — carrying the final frame of each segment forward as the visual anchor for the next, so there's no visible style jump across cuts; and a reviewer agent checking the assembled result against the script before it's presented as finished.
A separate trend tool pulls trending posts and audience sentiment from relevant subreddits, giving the creative director live signal on what's currently landing in a given niche — this is what drives concept suggestions for businesses that don't know what to post.
The interface is deliberately step-by-step rather than single-prompt: text inputs, multiple-choice creative direction picks, keyframe confirmation, generation progress. The user makes several small guided decisions and can course-correct at each one, instead of discovering a mismatch only after a full video render. Every model call — LLM tokens, image generation, video seconds, TTS characters — is metered per session in real time, using Python contextvars to keep accounting correct across concurrent async sessions.
Outcome
A system where a business without a social media manager gets both halves of the problem covered: suggestions for what to post grounded in current trends, and finished on-brand creative from a handful of guided decisions rather than a design brief and a week of turnaround.
Frequently Asked Questions
How do multi-agent systems generate on-brand video ad content?
By extracting brand guidelines using a Playwright web crawler + vision model, orchestrating specialist agents (Creative Director, Script Writer, Voice, Veo Video Generator), and anchoring video segments with FFmpeg frame continuity.