Work/
Generative Tribute Video

GENERATIVE TRIBUTE VIDEO

Category

Generative AI

Client

Global FMCG Brand

Delivered via

Media.Monks

Role

Pipeline & HITL console

A WhatsApp campaign that generates a whole tribute video from scratch. A person nominates someone they want to honour; the system writes a bespoke poem about them, animates their own photos into motion, voices it, and assembles a finished film - and a human approves every stage before it ships.

Project Overview

The brand wanted emotion, not novelty - a tribute to everyday homemakers, personalised to each participant at national scale. Every video is unique: a unique poem, unique faces, a unique voice read. You cannot pre-produce this. It has to be manufactured on demand, and it has to be good enough to carry a brand's emotional message without embarrassing anyone.

The Challenge

  • 01 AI writing brand copy is a liability - free generation produces off-brand, unsafe, or just weird output
  • 02 Animating real faces is uncanny by default - photo-to-video models over-move and distort
  • 03 Generation is slow - minutes of work per user, which cannot block a chat
  • 04 Someone has to be accountable - no brand ships fully autonomous generative video, but review cannot become a bottleneck

The Approach

A template the model fills, not a blank page

The poem is a fixed creative skeleton with one personalised stanza slot. Claude only fills the personalised part, under hard guardrails - no religious, fate, political, or regional-stereotype references, and no clichéd tropes. The creative stays consistent; the personalisation is real; brand safety is enforced in the prompt, not hoped for.

Constrained motion, on purpose

Photo-to-video runs on a Kling model via fal.ai. The quality trick is almost entirely in the negative prompt - banning walking, large positional shifts, looping motion, and creepy or sad expressions, asking only for subtle, one-directional movement. The result feels like a photo gently coming alive, not a hallucination.

A voice that sounds human

The poem is rewritten into a voiceover script with SSML - timed pauses and phoneme hints - then voiced with ElevenLabs. That shaping is the difference between a robotic read and a broadcast-usable voiceover.

Technical Architecture

Backend & Infrastructure

  • FastAPI (async), MongoDB
  • ReArq + Redis workers - every heavy step runs off the webhook
  • QikChat WhatsApp Business API
  • Next.js approval console (React Query)

AI Services

  • Anthropic Claude - guardrailed script
  • fal.ai Kling - photo-to-video
  • ElevenLabs - multilingual voiceover
  • Background face verification

The Human Approval Console

Generation never auto-sends. A reviewer works each session through a staged approval funnel in a Next.js console - approve or regenerate the script, approve the images, approve the AI clips, then approve and send the final video, or reject the workflow. Every approve action has a regenerate twin, so the reviewer is a curator, not a bottleneck. That turns "AI made a video" into "a human approved a video the AI drafted."

Key Results

Video Per User

Unique

Brand Safety

Gated

Lessons Learned

At brand scale, the bottleneck for generative AI is trust, not capability. The model can do the creative in minutes; the business needs a way to be accountable for the output.

The winning pattern was the same everywhere: constrain the model, then put a human on the approve button - and make regeneration one click so the human stays a curator. That is how generative AI becomes something you can put a brand's name on.