Inputs
A rigged asset, an instruction and optional exemplars.
End-to-end framework for LLM-driven animation of rigged 3D models
GenRA animates existing rigged 3D assets from natural-language instructions, without task-specific training. A multimodal LLM predicts sparse keyframes, which are interpolated and written into the source USD file with its geometry, skinning and rig unchanged; follow-up instructions refine the result.
Animated with GenRA Every animation you see on this page was generated by GenRA from a text prompt.
Skeletal animation is authored as joint transformations within a rig hierarchy, which requires considerable time and expertise. Existing generative methods address parts of this task but rarely satisfy all requirements of asset-centric authoring at once.
Auto-rigging methods replace the artist-authored skeleton and skinning with new ones.
Most text-conditioned motion models are trained for canonical human or animal skeletons.
Localized, multi-turn editing has not been demonstrated across diverse asset types.
Approach GenRA conditions a multimodal LLM on the rig hierarchy and bind pose, multiview renders, a motion instruction and optional motion exemplars. The model predicts sparse per-joint keyframes, which are reconstructed into smooth curves and written back into the source asset.
Geometry, rig hierarchy and skinning remain unchanged; motion is written into the supplied USD file.
Generation relies on in-context conditioning only; the LLM is not fine-tuned.
Per-joint translation, rotation and scale, explicit duration, and zero- or few-shot generation.
Follow-up instructions modify specific joints, time intervals or magnitudes while preserving the remaining motion.
The rig, the instruction and optional exemplars are encoded into a compact text and image context. The LLM generates motion as sparse keyframes, which are interpolated and written back into the source file. Stages are either LLM-assisted or algorithmic.
A rigged asset, an instruction and optional exemplars.
The rig and the exemplars become a compact text and image context.
Asset
Exemplars · optional
A multimodal LLM writes the motion as sparse keyframes.
The keyframes become dense curves in the source file.
Hover over a step for details; click to keep it open.Tap a step for details.
Keys are offsets from the bind pose, with rotations as Euler angles, which the LLM interprets more reliably than quaternions. Every joint may carry translation, rotation and scale, which allows non-rigid motion such as squash and stretch.
Dense motion consists largely of nearly constant intervals and a few salient events. Exemplar motions are therefore reduced to sparse keyframes before they enter the context, and the keyframes generated by the LLM are interpolated into per-frame curves afterwards.
Each channel is approximated by cubic Bézier segments. The knot with the lowest removal cost is removed and its neighbors are refitted until any further removal would exceed the tolerance, which is stricter for joints near the root.
The LLM outputs keyframes only. Translation and scale are interpolated with auto-clamped Bézier handles, which are flat at extrema and prevent overshoot; rotations follow the shortest quaternion arc. All frames are then written to the USD file.
Body height, m
Vertical scale, ×
median token compression
at the default decimation tolerance, 95% CI 25-36×
translation error
median RMSE relative to the asset's bounding-box diagonal
rotation error
median quaternion geodesic RMSE after reconstruction
For Eney, MacPaw's character, a library of animator-authored clips is available. In the few-shot setting, GenRA retrieves a few relevant exemplars per request, which convey the character's joint usage, timing and style; in the zero-shot setting, only the rest pose is supplied. The examples range from short gestures to multi-stage sequences; several reach production-usable quality.
In refinement, the current keyframes and a follow-up instruction are passed back to the LLM, which returns a complete revised animation: unaffected keys are retained, others are replaced, removed or added. The revised keys are stored in the asset, which avoids error accumulation from repeated resampling.
1Initial prompt
The blob rolls in frame from the left side (from about 2 meters away), and suddenly bumps into the wall, ending up in the center of the frame standing upright. After the bump, the blob looks to his left and slightly down (on the wall he bumped into), pauses for a pretty long moment, and happily jumps a few times. It then tilts its body to the right and blinks its left eye happily, as if encouraging the viewer to join in.
2Alternative refinement of turn 1
Preserve the animation as is, except, make the blob jump much higher before the blink.
3Alternative refinement of turn 1
Preserve the animation as is, except, make the blob look to his right instead of left after the bump.
GenRA was compared with Puppeteer, the closest open-source method for text-conditioned, rig-based animation of diverse objects. Both methods received the same assets from Articulation-XL-2.0 and the same VLM-generated prompts, without exemplar animations. GenRA is preferred in every asset category and rig-complexity group.
tie-aware preference rate
95% CI 68.5-80.2%; 80.0% excluding ties
36 of 40
assets above 50%
median asset-level rate of 76.9%
27 of 27
raters above 50%
leave-one-out estimates range from 73.8% to 75.5%
Tie-aware rate = (GenRA preferred + ½ ties) / all judgments; 50% is indifference. Bars show the share of ratings in percent.
Margins are largest for tools and mechanisms and for rigs of low or medium complexity, where motion is strongly constrained by the asset's structure. They are smallest for plants and rigs with 25 or more joints, which require coordinated motion of many coupled joints. Puppeteer's video prior can yield more natural motion for some organic actions, but its re-rigging and optimization stages may introduce skinning artifacts and drift.
GenRA generates motion directly on the target rig with a single LLM-based stack, whereas Puppeteer synthesizes a video prior and then optimizes the rig against it. Values are medians over 360 runs per method.
GenRA used GPT-5.4 with medium reasoning and Flex processing; the median request comprised 6,420 input and 10,450 output tokens. Puppeteer's cost comprises a Kling v2.5 Turbo video prior and optimization on an 80 GB NVIDIA A100 SXM4 rented from Vast.ai. Measurements reflect provider pricing as of April 17, 2026.
Preference margins decrease for plants and rigs with 25 or more joints, which need coordination similar to inverse kinematics. Kinematic solvers and stronger structural priors are possible directions.
The LLM neither receives nor generates Bézier handles. Exemplar-specific interpolation is therefore not preserved, and all outputs share one reconstruction procedure. Including handles or tangents could reduce this loss.
The benchmark covers assets with semantically meaningful joint names and a single overall judgment by internal raters. Performance on weakly annotated rigs and with professional animators has not been evaluated.
The paper describes the motion representation, the decimation and interpolation procedures and the complete human evaluation. The source code and all rated animation pairs are publicly available.