Case study · Symphony Clip Gen
Clip generation, rebuilt.
How a sprawl of AI generation tools became one creative platform — by refusing to design one more isolated app.
Symphony is TikTok's generative-AI creative studio for advertisers. I led design for Clip Gen — the layer that turns a product photo, a prompt, or a reference clip into a finished video ad. I inherited it as a growing pile of separate mini-apps, one per capability. That fragmentation was the real design problem.
Adding motion took four steps.
Image-to-video, July 2025. Animating one still took four steps — and you lost every generation along the way.
Users wanted something more dynamic.
A flat product shot was never the point — people wanted it in a scene, in motion, in a dozen variations. Every new ask bolted on another capability.




Every capability became its own app.
Text-to-video, then image generation — each shipped as its own standalone app. Customers didn't work in a straight line; they wanted to generate, iterate, and loop back. The tool assumed a funnel; the work was a loop.

A young woman is unboxing a navy gift box. Natural lighting. Cozy interior.

Underneath, the same six inputs.
Side by side, the three apps weren't different products — they were one input, configured six different ways.
Not a screen problem. An architecture problem.
The fix wasn't a cleaner layout. It was refusing to build the fourth tool — and designing the substrate every capability could sit on instead.
Everything runs on one card.
I designed a single input card that every capability renders. What changes between them isn't the structure — it's configuration: the guidance, the controls, the default model. Capability became a setting, not an app.




Outputs become inputs.
Any output can feed straight back in as the next input — the loop customers had asked for, built for production volume, not a demo.


One box, from one input to many.
The same card composes a couple of references or a dozen — new models slot into the same framework, so the surface never has to change.



One photo in. A finished ad out.
One real run: a single product photo and one line of direction become a set of images, then a video — without ever leaving the card.


Designing for uncertainty.
Generation takes time, and sometimes it fails. The wait had to feel handled — honest progress, a clear reason when something breaks, and an output you can act on the moment it lands.
Clip Gen, at scale.
The unified card shipped across every capability. A year on, it's the engine behind most of Symphony's video output — and the next model is a config change, not a rebuild.
video generations a quarter — Q2 2026.
The next model just plugs in.
Because capability is configuration, the next one — dubbing, avatars, whatever's next — is a setting change, not a new app. The system was built to absorb models it hadn't met yet.

