
Paper: 2604.11792 Authors: Junhao Chen, Kejun Gao, Yuehan Cui, Mingze Sun, Mingjin Chen, Shaohui Wang, Xiaoxiao Long, Fei Ma, Qi Tian, Ruqi Huang Categories: cs.CV
The Gap
Video generation models (Sora, Runway, Pika) have made impressive strides, but they all output raster pixels. Meanwhile, a huge chunk of the internet’s animations—loading spinners, UI transitions, explainer videos, stickers—are vector-based (SVG, Lottie). These formats are resolution-independent, tiny in file size, semantically structured, and editable by designers. Current generative models can’t produce them at all. They’re stuck in pixel land.
The prior work on vector graphics generation (SVG-VAE, DeepSVG, IconShop) handles only static images or simple shapes. They don’t model temporal dynamics, layered composition, or keyframe-based motion. Large multimodal models have shown they can generate structured outputs (3D meshes, code, layouts), but nobody has tackled vector animation.
Problem: Video models output pixels, not editable vectors
|
v
Assumption: Vector animation can be treated as structured sequence
|
v
Method: Tokenize Lottie format + finetune multimodal LLM
|
v
Evidence: 660K dataset + autoregressive generation works
|
v
Conclusion: First native vector animation generation from prompts
The Increment
One sentence: Before this paper, generative models could only output raster video; after it, they can generate resolution-independent, editable vector animations directly from text or images.
Core Mechanism
LottieGPT has three components. First, a Lottie Tokenizer that converts JSON animation files into discrete tokens. Lottie files describe animations as layers of shapes (rectangles, ellipses, paths) with transforms (position, rotation, scale) and keyframe-based motion curves. The tokenizer flattens this hierarchical structure into a linear sequence, using special tokens to mark layer boundaries, shape types, and temporal keyframes. It quantizes continuous values (coordinates, colors, timing) into discrete bins to make them tokenizable.
Second, a massive dataset: LottieAnimation-660K, scraped from design platforms and animation libraries. It contains 660K animated Lottie files and 15M static ones. This is orders of magnitude larger than prior vector graphics datasets, which had at most a few thousand samples.
Third, the model itself: they finetune Qwen-VL, a large vision-language model, on sequences of (prompt, tokenized Lottie) pairs. The model learns to autoregressively predict the next token in the Lottie sequence, conditioned on text descriptions or reference images. At inference, you give it a prompt like “a bouncing ball” or an image of a logo, and it generates a complete Lottie animation token by token, which you then decode back into a playable JSON file.
Input (text/image)
|
v
[Qwen-VL Encoder] --> Context embedding
|
v
[Autoregressive Decoder] --> Token_1, Token_2, ..., Token_N
|
v
[Lottie Detokenizer] --> JSON animation file
|
v
Output: Editable vector animation
Think of it like teaching a language model to write music notation instead of audio waveforms. Music notation (vector animation) is symbolic, editable, and resolution-independent—you can transpose it, change instruments, or stretch tempo without quality loss. Audio waveforms (raster video) are just raw samples—you can’t easily edit the melody or change the key. The tokenizer is like converting sheet music into a sequence of words (“quarter note C4, half note E4, rest…”). The dataset is a massive library of sheet music in a standardized format. The model learns the grammar of music notation by predicting the next symbol. When you ask it to “compose a cheerful melody,” it writes out notation, not audio samples. You can then render that notation with any instrument or at any tempo.
Key Concepts
-
Lottie Format: A JSON-based animation standard used widely on the web (Airbnb created it). Instead of storing pixel frames, it stores geometric primitives (shapes), their properties (color, stroke width), and keyframe animations (position at time 0, position at time 1). Think of it as SVG with a timeline. A loading spinner might be defined as “a circle that rotates 360 degrees over 1 second, looping forever.” The file is tiny (a few KB) and renders crisply at any resolution. Designers export animations from After Effects to Lottie, and developers embed them in apps or websites.
-
Autoregressive Tokenization: Breaking structured data into a sequence of discrete tokens that a language model can predict one-by-one. For Lottie, this means converting nested JSON objects into a flat token stream. A rectangle might become:
[LAYER_START] [SHAPE_RECT] [WIDTH_100] [HEIGHT_50] [COLOR_RED] [KEYFRAME_0] [POS_X_10] [POS_Y_20] [KEYFRAME_1] [POS_X_100] [POS_Y_20] [LAYER_END]. The model learns that after[SHAPE_RECT], you usually see dimension tokens, then color, then keyframes. It’s like teaching a model to write HTML by predicting tags and attributes in order. -
Semantic Alignment: Ensuring that token sequences preserve the logical structure of the original data. A naive tokenizer might just split the JSON string character-by-character, but then the model has to learn JSON syntax from scratch. LottieGPT’s tokenizer respects the semantic boundaries—it groups related properties together, uses special tokens for hierarchy, and quantizes values in a way that similar animations have similar token sequences. This makes the learning problem tractable. It’s the difference between teaching someone to write code by showing them raw bytes versus showing them functions, variables, and control flow.
Framework Shift
Before (mainstream approach): After (this paper):
Text/Image Prompt Text/Image Prompt
| |
v v
[Diffusion Model] [Multimodal LLM]
| |
v v
Pixel Grid (H x W x T) Token Sequence
| |
v v
Raster Video File [Detokenizer]
(MP4, WebM) |
v
- Fixed resolution Lottie JSON File
- Large file size |
- Not editable v
- Lossy compression Vector Animation
|
- Resolution-independent
- Tiny file size
- Fully editable
- Lossless
From pixel prediction to structured sequence generation, the core shift is treating animation as a symbolic language rather than a visual signal.
Expert Assessment
Problem choice: This is a real gap with practical impact. Vector animations dominate UI/UX design, motion graphics, and web content, yet generative models ignore them entirely. The problem sits at the intersection of computer graphics and generative AI—a natural next step after static SVG generation, but nobody took it seriously because Lottie files are complex and datasets didn’t exist. The authors manufactured the dataset themselves, which is both a strength (they solved the data problem) and a weakness (it raises questions about data quality and diversity).
Method maturity: The approach is straightforward: tokenize, scale up data, finetune a big model. There’s no novel architecture or training trick—it’s mostly engineering and data curation. That’s fine; sometimes the insight is “this problem is solvable with existing tools if you set it up right.” The tokenizer design is thoughtful (semantic alignment, quantization schemes), but it’s not groundbreaking. The real contribution is showing that autoregressive generation works for this modality at all.
Experimental integrity: Baselines are weak. They compare against SVG generation models (which don’t handle animation) and raster video models (which they convert to vector, introducing artifacts). There’s no prior work on vector animation generation, so they’re mostly comparing against themselves. The human evaluation is small-scale (50 samples). Quantitative metrics (FID, token efficiency) are reasonable but don’t capture editability or semantic coherence. The paper would be stronger with ablations on tokenizer design choices and failure case analysis.
Writing quality: The paper is well-structured and clear, but the evaluation section feels rushed. They spend pages on dataset construction (good) but gloss over failure modes and limitations. The qualitative results look impressive, but we don’t see how often the model produces broken JSON or semantically nonsensical animations. The related work section is thorough, but the discussion of why Lottie over other vector formats (SVG, Flash) is superficial.
Verdict: Weak accept — it’s the first work on an underexplored problem with a solid dataset contribution, but the method is incremental and the evaluation could be more rigorous.
Takeaways
The tokenizer design is the transferable idea here. If you’re working with any structured, hierarchical data (CAD files, music notation, game levels, UI layouts), the principles apply: (1) respect semantic boundaries when tokenizing, (2) use special tokens to mark hierarchy and object types, (3) quantize continuous values in a way that preserves similarity, (4) flatten the structure but keep it recoverable. The paper also demonstrates that you don’t need a custom architecture—finetuning a large multimodal model works if you frame the problem as sequence prediction. Finally, the dataset construction pipeline (scraping, filtering, deduplication, quality checks) is reusable for anyone building a new modality dataset from scratch.
论文: 2604.11792 作者: Junhao Chen, Kejun Gao, Yuehan Cui, Mingze Sun, Mingjin Chen, Shaohui Wang, Xiaoxiao Long, Fei Ma, Qi Tian, Ruqi Huang 分类: cs.CV
缺口
视频生成模型(Sora、Runway、Pika)进展迅猛,但它们输出的都是光栅像素。
与此同时,互联网上大量动画——加载图标、UI过渡、解说视频、贴纸——都是矢量格式(SVG、Lottie)。
这些格式分辨率无关、文件极小、语义结构化、设计师可编辑。
现有生成模型完全无法产出它们。
它们困在像素世界里。
此前关于矢量图形生成的工作(SVG-VAE、DeepSVG、IconShop)只处理静态图像或简单形状。
它们不建模时间动态、分层组合或基于关键帧的运动。
大型多模态模型已展示出生成结构化输出的能力(3D网格、代码、布局),但没人攻克矢量动画。
问题:视频模型输出像素,不是可编辑矢量
|
v
假设:矢量动画可视为结构化序列
|
v
方法:标记化Lottie格式 + 微调多模态LLM
|
v
证据:660K数据集 + 自回归生成有效
|
v
结论:首个从提示原生生成矢量动画
增量
一句话:这篇论文之前,生成模型只能输出光栅视频;
之后,它们能直接从文本或图像生成分辨率无关、可编辑的矢量动画。
核心机制
LottieGPT有三个组件。
首先是Lottie标记器,将JSON动画文件转换为离散标记。
Lottie文件将动画描述为形状层(矩形、椭圆、路径)加变换(位置、旋转、缩放)和基于关键帧的运动曲线。
标记器将这种层级结构展平为线性序列,用特殊标记标注层边界、形状类型和时间关键帧。
它将连续值(坐标、颜色、时间)量化为离散区间,使其可标记化。
其次是海量数据集:LottieAnimation-660K,从设计平台和动画库爬取。
包含66万个动画Lottie文件和1500万个静态文件。
这比此前的矢量图形数据集大几个数量级,那些数据集最多几千样本。
第三是模型本身:他们在(提示,标记化Lottie)序列对上微调Qwen-VL,一个大型视觉-语言模型。
模型学习在文本描述或参考图像条件下自回归预测Lottie序列中的下一个标记。
推理时,你给它一个提示如”弹跳的球”或一个logo图像,它逐标记生成完整的Lottie动画,然后解码回可播放的JSON文件。
输入(文本/图像)
|
v
[Qwen-VL编码器] --> 上下文嵌入
|
v
[自回归解码器] --> 标记_1, 标记_2, ..., 标记_N
|
v
[Lottie反标记器] --> JSON动画文件
|
v
输出:可编辑矢量动画
把它想象成教语言模型写乐谱而非音频波形。
乐谱(矢量动画)是符号化的、可编辑的、分辨率无关的——你可以移调、换乐器、拉伸节奏而不损失质量。
音频波形(光栅视频)只是原始采样——你无法轻易编辑旋律或改变调性。
标记器就像把五线谱转换为词序列(“四分音符C4,二分音符E4,休止符…”)。
数据集是标准化格式的海量乐谱库。
模型通过预测下一个符号学习乐谱语法。
当你让它”作一段欢快旋律”,它写出乐谱,不是音频采样。
然后你可以用任何乐器或任何速度渲染那份乐谱。
关键概念
- Lottie格式:一种网络上广泛使用的基于JSON的动画标准(Airbnb创建)。
它不存储像素帧,而是存储几何图元(形状)、它们的属性(颜色、描边宽度)和关键帧动画(时间0的位置,时间1的位置)。
把它想成带时间轴的SVG。
一个加载图标可能定义为”一个圆在1秒内旋转360度,无限循环”。
文件极小(几KB)且在任何分辨率下都清晰渲染。
设计师从After Effects导出动画为Lottie,开发者将其嵌入应用或网站。
- 自回归标记化:将结构化数据分解为语言模型可逐个预测的离散标记序列。
对Lottie而言,这意味着将嵌套JSON对象转换为扁平标记流。
一个矩形可能变成:[层开始] [形状矩形] [宽100] [高50] [颜色红] [关键帧0] [位置X_10] [位置Y_20] [关键帧1] [位置X_100] [位置Y_20] [层结束]。
模型学到在[形状矩形]之后,通常会看到尺寸标记,然后是颜色,然后是关键帧。
这就像教模型通过按顺序预测标签和属性来写HTML。
- 语义对齐:确保标记序列保留原始数据的逻辑结构。
朴素的标记器可能只是逐字符分割JSON字符串,但那样模型必须从零学习JSON语法。
LottieGPT的标记器尊重语义边界——它将相关属性分组,用特殊标记表示层级,以使相似动画具有相似标记序列的方式量化值。
这使学习问题变得可解。
这是通过展示原始字节教人写代码与展示函数、变量和控制流之间的区别。
框架转变
之前(主流方法): 之后(本文方法):
文本/图像提示 文本/图像提示
| |
v v
[扩散模型] [多模态LLM]
| |
v v
像素网格(H x W x T) 标记序列
| |
v v
光栅视频文件 [反标记器]
(MP4、WebM) |
v
- 固定分辨率 Lottie JSON文件
- 文件大 |
- 不可编辑 v
- 有损压缩 矢量动画
|
- 分辨率无关
- 文件极小
- 完全可编辑
- 无损
从像素预测到结构化序列生成,核心转变是将动画视为符号语言而非视觉信号。
专家评审
选题眼光:这是个有实际影响的真缺口。
矢量动画主导UI/UX设计、动态图形和网页内容,但生成模型完全忽视它们。
问题位于计算机图形学和生成式AI的交叉点——静态SVG生成之后的自然下一步,但没人认真对待,因为Lottie文件复杂且数据集不存在。
作者自己制造了数据集,这既是优势(他们解决了数据问题)也是劣势(引发数据质量和多样性的疑问)。
方法成熟度:方法直截了当:标记化、扩大数据、微调大模型。
没有新颖架构或训练技巧——主要是工程和数据整理。
这没问题;
有时洞见就是”如果设置得当,这个问题用现有工具可解”。
标记器设计周到(语义对齐、量化方案),但不算突破。
真正的贡献是展示自回归生成对这种模态根本可行。
实验诚意:基线弱。
他们与SVG生成模型(不处理动画)和光栅视频模型(他们转换为矢量,引入伪影)比较。
没有矢量动画生成的先前工作,所以他们主要在和自己比。
人类评估规模小(50个样本)。
定量指标(FID、标记效率)合理但无法捕捉可编辑性或语义连贯性。
如果有标记器设计选择的消融实验和失败案例分析,论文会更强。
写作功力:论文结构清晰,但评估部分感觉仓促。
他们花数页讲数据集构建(好),但对失败模式和局限一笔带过。
定性结果看起来令人印象深刻,但我们看不到模型多久产生一次损坏的JSON或语义荒谬的动画。
相关工作部分详尽,但关于为何选Lottie而非其他矢量格式(SVG、Flash)的讨论肤浅。
判决:弱接收——这是对未充分探索问题的首个工作,有扎实的数据集贡献,但方法渐进且评估可以更严格。
要点总结
标记器设计是这里可迁移的想法。
如果你在处理任何结构化、层级化数据(CAD文件、乐谱、游戏关卡、UI布局),这些原则适用:(1)标记化时尊重语义边界,(2)用特殊标记标注层级和对象类型,(3)以保留相似性的方式量化连续值,(4)展平结构但保持可恢复。
论文还展示你不需要定制架构——如果你将问题框定为序列预测,微调大型多模态模型就有效。
最后,数据集构建流程(爬取、过滤、去重、质量检查)对任何从零构建新模态数据集的人都可复用。