AI motion generation for Roblox
Text and video in, rig-ready animation out — with the GPU tier scaling independently of the web app.
NPCMotion turns a text prompt or a reference video into an animation that drops straight onto Roblox’s R15 character rig. The whole path is owned in-house: request intake, model inference, retargeting, and rig-ready output.
The hard constraint is economics. Motion-generation models need GPUs; a web app does not. Putting both on the same machine means paying for idle accelerators, so the architecture splits them from the start.
Motion models are expensive to keep warm and bursty in demand. A naive deployment either burns money on idle GPU time or leaves users queueing behind a single worker.
Generated motion also has to land on a specific target — Roblox’s R15 skeleton — which means raw model output is only ever the middle of the pipeline, not the end of it.
The HY-Motion and Kimodo motion-generation models are deployed as serverless GPU inference on Modal. ML compute is separated from the web tier entirely, so GPU capacity scales with demand rather than with traffic to the marketing site.
A Phoenix/Elixir backend brokers generation requests between the web app and the GPU workers — the BEAM’s concurrency model fits a workload that is mostly waiting on long-running jobs.
Model output is processed into animation that targets Roblox’s R15 rig, so what users download is usable in-engine instead of a generic motion file they have to retarget themselves.
A Next.js front end built with shadcn/ui and Tailwind, deployed on Hetzner, with multi-provider OAuth across Discord, Google and Roblox — the three accounts this audience already has.
Reach the studio at [email protected]