Organizations: Shenzhen International Graduate School, Tsinghua University · AIR, Tsinghua University · The Hong Kong Polytechnic University · Nanjing University · Guangdong Laboratory of Artificial Intelligence and Digital Economy (SZ) · BAAI
Despite rapid progress in video generation, existing models are incapable of producing vector animation, a dominant and highly expressive form of multimedia on the Internet. Vector animations offer resolution-independence, compactness, semantic structure, and editable parametric motion representations, yet current generative models operate exclusively in raster space and thus cannot synthesize them. Meanwhile, recent advances in large multimodal models demonstrate strong capabilities in generating structured data such as slides, 3D meshes, LEGO sequences, and indoor layouts, suggesting that native vector animation generation may be achievable. In this work, we present the first framework for tokenizing and autoregressively generating vector animations. We adopt Lottie, a widely deployed JSON-based animation standard, and design a tailored Lottie Tokenizer that encodes layered geometric primitives, transforms, and keyframe-based motion into a compact and semantically aligned token sequence. To support large-scale training, we also construct LottieAnimation-660K, the largest and most diverse vector animation dataset to date, consisting of 660k real-world Lottie animation and 15M static Lottie image files curated from broad Internet sources. Building upon these components, we finetune Qwen-VL to create LottieGPT, a native multimodal model capable of generating coherent, editable vector animations directly from natural language or visual prompts. Experiments show that our tokenizer dramatically reduces sequence length while preserving structural fidelity, enabling effective autoregressive learning of dynamic vector content. LottieGPT exhibits strong generalization across diverse animation styles and outperforms previous state-of-the-art models on SVG generation (a special case of single-frame vector animation).
Figures & tables
Figure 2: Data curation pipeline. We collected 10M SVG resources and 660K After Effects (AE) animation resources from the internet, then converted them to Lottie Json format, filtered them using simplification algorithms that do not affect rendering results, and used QwenVL to generate text labels for vector graphics and vector animations.
Figure 3: Overview of LottieGPT. LottieGPT is built upon the pre-trained vision-language model Qwen2.5-VL and incorporates a Lottie tokenizer. The model encodes both text and image inputs as prefix tokens, while the Lottie tokenizer encodes vector animation commands into a unified representation space. We first train the model on static Lottie images, followed by training on Lottie animations.
Table 1: Comparison of vector graphics and animation datasets.
Figure 4: Unlike raster pixel-based videos or frame-by-frame saved SVGs, the Lottie Tokenizer only stores keyframes and interpolation methods, which significantly reduces the number of tokens required to represent an animation. In the figure, KF denotes keyframes, while F represents frames obtained through easing-based animation interpolation.
Figure 5: Lottie animations generated by LottieGPT.
Figure 6: Performance of OmniSVG and LottieGPT on the text-to-vector graphics generation task.
Figure 7: Performance of OmniSVG, StarVector, and LottieGPT on the image-to-vector graphics generation task.
Figure 8: For the Text-to-Animation task, all LLM baselines were provided with identical 3-shot examples. ✗ indicates that no renderable Lottie JSON was obtained even after the fifth attempt. More results on vector animation can be found in the supplementary video and on the project website.
Figure 9: Using Text+Image as input to generate animations. Few-shot refers to providing three description-Lottie JSON data pairs. Except for Deepseek which does not support image input, all other methods use a single image and text description as input. pass@x indicates that x attempts were required to generate a renderable Lottie JSON. ✗ indicates that no renderable Lottie JSON was obtained even after the fifth attempt.
Figure 10: LottieGPT results on in-the-wild text-only inputs.
Figure 11: LottieGPT results on in-the-wild text-image inputs.
Tokenizer
Avg. File Size
Tokens
PNG/ MP4
SVG/ JSON
Comp. Ratio
Avg.
Comp. Ratio
MMSVG-icon Dataset
SVG Code
5.46 KB
2.74 KB
50.2%
N/A
N/A
Lottie Json
5.46 KB
2.16 KB
39.6%
N/A
N/A
QwenVL w. SVG
N/A
N/A
N/A
2.6 k
100%
OmniSVG
N/A
N/A
N/A
2.2 k
84.6%
Table 3: Tokenizer comparison on MMSVG-icon and LottieAnimation datasets. Our Lottie tokenizer achieves significantly better compression ratios while maintaining generation quality.
Figure 12: A manually edited Lottie animation where we modified the wing color using LottieLab.
Figure 13: LottieGPT may still generate cases that are renderable but visually inconsistent with expectations, typically manifesting as extraneous or missing shapes relative to the intended design.
Figure 14: Representative examples from the four categories in LottieSVG-10M dataset. From top to bottom: icon-designer, illustrator, motion-designer, and 3d-designer. Each category exhibits distinct visual characteristics and complexity levels.
Figure 15: File size distribution of LottieSVG-10M dataset in the 0-20KB range. The distribution shows a mean of 4.65KB and median of 2.25KB, demonstrating the compact nature of SVG representations.
Figure 16: Word cloud visualization of tag distribution in LottieSVG-10M dataset. The size of each word corresponds to its frequency, with top tags including business, food, money, technology, and finance.
Figure 17: The instruction for SVG data captioning.
Duration Range
Count
Percentage
Total Duration
0-1s (Very short)
10,107
1.51%
1.98 hours
1-2s (Short)
69,075
10.29%
27.35 hours
2-3s (Medium)
228,808
34.09%
135.76 hours
3-5s (Long)
244,724
36.46%
234.14 hours
5-10s (Very long)
108,633
16.19%
176.93 hours
10s+ (Ultra long)
9,774
1.46%
31.90 hours
Table 4: Duration distribution of LottieAnimation-660K dataset.
Figure 18: The instruction for Lottie animation data captioning.
Figure 19: The instruction for text to Lottie image generation.
Figure 20: The instruction for text and image to Lottie image generation.
Figure 21: The instruction for text to Lottie animation generation.
Figure 22: The instruction for text and image to Lottie animation generation.
Figure 23: The instruction for text and video to Lottie animation generation.
Method
Static Graphics
Animation
Pref.
Vivid.
Align.
Pref.
Vivid.
Align.
OmniSVG [ 97 ]
3.6
3.8
3.7
-
-
-
StarVector [ 67 ]
3.4
3.5
3.3
-
-
-
Sora2 [ 62 ]
-
-
-
3.8
3.3
3.6
Veo 3.1 [ 28 ]
-
-
-
3.9
3.5
3.5
Kling [ 43 ]
-
-
-
3.4
3.8
3.5
Table 5: User study results (5-point scale, 20 participants). LottieGPT achieves the highest ratings across all metrics.
Figure 24: Bézier easing curve transforms time progress (x-axis) into animation progress (y-axis). At 25% time, animation has only progressed 16% (slow start); at 75% time, animation has reached 84% (slow end).
Figure 25: Top 8 most common Bézier easing curves in Lottie animations, covering 75.4% of all usage. Each curve is defined by control points P1=(ox,oy) and P2=(ix,iy) , with fixed endpoints at (0,0) and (1,1) . Green dotted line shows linear interpolation for comparison. The legend on the right provides dataset statistics and visual element descriptions. The third most common pattern (15.78%) uses control points (0.167,0.167) and (0.833,0.833) , which lie on the linear diagonal, making it functionally identical to #1 Linear. This redundancy represents a significant compression opportunity.
Figure 26: Bounce easing animation demonstrating extreme undershoot. (a) Bézier curve with P1=(0.3,−2.79) and P2=(0.78,−1.79) reaching minimum y=−1.6583 at tnorm=0.4134 (Y-axis compressed 4:1 for visibility). (b) Normal interpolation between keyframes 16 and 30. (c) Bounce segment between keyframes 30 and 46, showing extreme undershoot at frame 37 where the 3.9° target rotation is amplified to a 6.47° reverse motion (165.8% overshoot, actual minimum at frame 36.61). (d) Settling segment between keyframes 46 and 60. We removed the layer-level animations and shape-level position animations from the original animation, retaining only the shape-level rotation animations.
Frame
tnorm
teased
Rotation
Phase
30
0.0000
0.0000
−113.40°
Initial state
35
0.3125
−1.5663
−119.51°
↶
36
0.3750
−1.6453
−119.82°
↶
36.61
0.4134
−1.6583
−119.87°
↶
37
0.4375
−1.6531
−119.85°
Velocity ≈0
38
0.5000
−1.5925
−119.61°
↷
Table 6: Bounce animation progression with extreme undershoot easing
May 2, 2026·Guotao Liang, Zhangcheng Wang, Chuang Wang +6
School of Software, Beihang University, Beijing, China · College of Computer Science and Technology, Zhejiang University, Hangzhou, China · Paradigm 3 +1