Most “AI UGC stacks” are shopping lists.
That is not architecture.
Architecture answers:
- what state each layer owns;
- what it receives;
- what it returns;
- what can fail;
- which decisions must survive a vendor swap.
I think about the stack as three core layers:
- concept;
- identity;
- motion.
Everything else supports or governs those layers.
Layer 1: concept
The concept layer decides what the creative is trying to prove.
Inputs:
- customer evidence;
- product facts;
- audience;
- objective;
- past performance;
- brand and compliance constraints.
Outputs:
Claude, another language model, or a human team can produce this object.
The object is yours.
That distinction matters.
Layer 2: identity
Identity is not only a face.
It includes:
- person or character;
- usage rights;
- voice;
- visual references;
- wardrobe and setting continuity;
- disclosed or fictional biography;
- permitted platforms;
- expiration;
- prohibited claims.
A reusable AI creator roster
An identity record:
The image model is a renderer for this layer. It is not the system of record.
The identity layer in practice: generate drafts, review them, and save only the approved avatar.Layer 3: motion
The motion layer turns an approved identity and shot plan into time-based media.
It owns:
- performance;
- camera movement;
- temporal consistency;
- interaction;
- audio timing;
- output media.
Input:
Output:
The motion layer should be visible, not just described in YAML:
Three motion envelopes on one timeline: restrained re-check, worried-to-composed, and positive recognition.The left performance barely changes. The middle begins with visible concern and resolves. The right moves from neutral attention into a smile. Those are different temporal instructions even if the concept layer gives them the same reveal.
“React naturally” is not enough direction. Define the starting state, trigger, movement amplitude, and resolution. In Ghostfeed, approve the opening frame first; then preserve authorized source motion with clone mode or direct a new performance with prompt mode. The identity stays selected while the motion decision changes.
Seedance 2.0 is one plausible renderer. ByteDance says it supports text, image, audio, and video references, which makes it useful for constrained production. See the official Seedance 2.0 launch.
The stack should still work if another renderer wins your evaluation next month.
The interfaces matter more than the names
At each arrow, validate.
Concept → identity
Check:
- Is this creator credible for the context?
- Do rights cover the platform and usage?
- Does the claim violate a restriction?
- Is the creator overused in the same campaign?
Identity → motion
Check:
- Is the source frame approved?
- Is the voice mapped to the right person?
- Does the shot preserve the agreed look?
- Does the product asset exist?
Motion → approval
Check:
- Is the person consistent?
- Is the motion plausible?
- Is the product correct?
- Is dialogue synchronized?
- Are claims and disclosures present?
Diagnose failures by layer
Suppose a clip performs poorly.
Possible concept failures:
- wrong audience;
- weak problem;
- unsupported promise;
- unclear mechanism;
- bad hook.
Possible identity failures:
- creator-context mismatch;
- inconsistent face or voice;
- no trust;
- rights limitation;
- repeated creator fatigue.
Possible motion failures:
- uncanny movement;
- broken interaction;
- audio mismatch;
- incorrect interface;
- slow opening.
Do not regenerate motion to fix an irrelevant concept.
Do not rewrite the script to fix a malformed hand.
Add a fourth concern: assembly
Concept, identity, and motion are the creative core. Assembly turns outputs into deployable variants:
- captions;
- overlays;
- subtitles;
- aspect ratios;
- safe areas;
- audio mix;
- disclosure labels;
- end cards;
- hashes and metadata.
Keep assembly deterministic where possible.
If a line break changes, you should not have to regenerate a person.
Add a fifth concern: orchestration
Orchestration owns state:
The language model can recommend transitions.
Your application should enforce them.
In Ghostfeed, that orchestration is already exposed to agents through Ghostfeed MCP:
The identity layer is the approved Ghostfeed avatar. The source template supplies the opening composition. The motion layer then takes one of two routes: exact-motion clone for an owned performance, or prompt mode for a newly directed action. Those are not interchangeable provider settings; they encode a rights and creative decision.
Build adapters around vendors
Provider adapter:
Now the rest of the product does not care whether the job ran on Seedance, Kling, or something that did not exist when you wrote the workflow.
Evaluate with a fixed corpus
Before switching a layer, run the same cases.
Concept corpus
- five product categories;
- approved evidence;
- deliberate contradictions;
- claims that must be rejected;
- brand voice samples.
Identity corpus
- multiple angles;
- expressions;
- environments;
- outfits;
- difficult props;
- diverse lighting.
Motion corpus
- quiet talking head;
- hand/product interaction;
- walking;
- two people;
- exact product screen;
- fast cut;
- low-light phone footage.
Score accepted output, retries, repair time, latency, and total cost.
Vendor benchmark claims are inputs. Your workload is the test.
An end-to-end example
Evidence:
Consultants postpone invoicing because the task feels administratively heavy.
Concept:
A reminder that names the client and invoice reduces the cognitive step required to begin.
Identity:
Licensed consultant creator, home-office context, paid social permitted.
Source frame:
Creator at a desk, phone visible, laptop defocused, natural afternoon light.
Motion:
Phone buzzes, creator glances, opens the approved reminder screen, begins invoice.
Assembly:
Evaluation:
- claim traces to product behavior;
- creator rights valid;
- UI composited from approved capture;
- no invented earnings;
- interaction passes human review.
That is one creative object moving through the stack.
Buy or build?
Build the layer when it contains your differentiated knowledge:
- evidence;
- creative state;
- rights;
- evaluation data;
- performance attribution;
- workflow rules.
Buy the commodity capability:
- generation;
- storage;
- transcription;
- encoding;
- delivery.
The counterargument is that an all-in-one product is faster.
Usually true at the beginning.
But if the all-in-one owns your creator identities, prompt history, approval state, and performance links in an opaque format, the switching cost shows up exactly when you have learned enough to care.
The actual stack
Ghostfeed makes the workflow feel like one product: no filming, no editing, no prompting. Underneath, the layers stay explicit enough to inspect and improve.
Tools will change.
Your evidence, identities, decisions, and learning should survive them.