Lance logo

Lance: Unified Multimodal Modeling by Multi-Task Synergy

Fengyi Fu*, Mengqi Huang*,✉, Shaojin Wu*, Yunsheng Jiang*, Yufei Huo, Jianzhu Guo✉,§
Hao Li, Yinghang Song, Fei Ding, Qian He, Zheren Fu, Zhendong Mao, Yongdong Zhang
ByteDance
* 共同一作    通讯作者    § Project lead

Homepage arXiv Model Demo
English | 简体中文

> **注意:** Lance 是一个研究项目,而不是经过充分产品化打磨的模型。当前开源 checkpoint 使用不超过 128 张 A100 GPU 训练,训练阶段覆盖到 768x768 图像生成和 480p、12 FPS 视频生成。我们希望将 Lance 作为一个研究参考,分享在较小模型规模和相对有限算力下统一图像/视频理解、生成和编辑的建模思路、训练流程和推理代码。模型效果可能会随 prompt、分辨率、时长、运动复杂度和编辑场景而波动,post-training recipe 仍有进一步改进空间。我们欢迎社区提供建设性反馈,帮助项目持续改进。 ## 🔥 更新 - **`2026/06/03`**: 🚀 Lance 现已被 [vLLM-Omni](https://github.com/vllm-project/vllm-omni) 支持。查看 [recipe](https://github.com/vllm-project/vllm-omni/blob/main/recipes/ByteDance/Lance.md)! - **`2026/05/29`**: 🔥 增加 image-to-video generation 代码支持:文本-图像到视频生成(首帧到视频)。[查看示例](assets/docs/changelog/2026-05-29.md)! - **`2026/05/26`**: 🎨 Gradio 界面现已支持图像和视频生成、编辑与理解任务。[欢迎体验](assets/docs/changelog/2026-05-26.md)! - **`2026/05/25`**: ✨ [Hugging Face Space](https://huggingface.co/spaces/bytedance-research/Lance) 已上线,感谢 HF 团队的支持! - **`2026/05/19`**: 🤗 技术报告现已发布于 [arXiv](http://arxiv.org/abs/2605.18678)。 - **`2026/05/18`**: 🔥 我们发布了 [项目主页](https://lance-project.github.io/),并在 [GitHub](https://github.com/bytedance/Lance/) 和 [Hugging Face](https://huggingface.co/bytedance-research/Lance) 上开源了初版推理代码和模型权重。 ## 🌟 亮点 **Lance** 是一个3B参数、原生统一的多模态模型,在单一框架下同时支持 **图像与视频的理解、生成和编辑**。 - **3B 规模高效。** 仅使用 **3B active parameters**,Lance 即可在图像生成、图像编辑和视频生成等基准上取得有竞争力的表现。 - **从零训练。** Lance 采用分阶段多任务训练配方从零训练,并在 **不超过 128 张 A100 GPU** 的预算内完成训练。 我们正在持续更新和改进本仓库。如果你发现任何问题或有改进建议,欢迎提出 issue 或提交 pull request(PR)💖。
Lance benchmark overview across image generation, image editing, video generation, and video understanding
## 📅 路线图 - [ ] 发布 fine-tuning 代码。 ## 🎨 演示
展开查看演示结果
🔥 建议浏览我们的 主页 查看更多效果。🔥

文生视频

视频编辑

多轮一致性编辑

智能视频生成

## 🚀 安装 ### 推荐环境 - **软件环境:** Python 3.10+,CUDA 12.4+(必需) - **硬件环境:** 推理至少需要一张显存不低于 40GB 的 GPU 我们在 NVIDIA A100 上测试通过了以下依赖组合: - PyTorch 2.8.0 + cu126 + flash-attn 2.8.3 - PyTorch 2.5.1 + cu124 + flash-attn 2.6.3 默认安装命令使用 PyTorch 2.8.0 + cu126 环境。对于其他 GPU 型号,请根据驱动版本、CUDA runtime、Python 版本和 GPU 架构自行选择并验证匹配的 PyTorch 与 `flash-attn` 版本组合。 ### 安装步骤 首先,克隆代码仓库: ```bash git clone https://github.com/bytedance/Lance.git cd Lance ``` 然后,配置环境: ```bash conda create -n Lance python=3.11 -y conda activate Lance pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126 pip install -r requirements.txt pip install flash-attn==2.8.3 --no-build-isolation ``` > **注意:** 如果从源码安装 `flash-attn` 失败,可以改为安装预编译 wheel。下面的 wheelhouse 来自第三方仓库,仅作为**参考提供**;请在安装前确认 wheel 与当前 Python、PyTorch 和 CUDA 版本匹配: > > ```bash > pip install --no-cache-dir --no-deps --force-reinstall \ > "https://huggingface.co/strangertoolshf/flash_attention_2_wheelhouse/resolve/main/wheelhouse-flash_attn-2.8.3/linux_x86_64/torch2.8/cu12/abiTRUE/cp311/flash_attn-2.8.3+cu12torch2.8cxx11abiTRUE-cp311-cp311-linux_x86_64.whl" > ``` 然后,从 [Hugging Face 上的 Lance-3B](https://huggingface.co/bytedance-research/Lance) 下载所需的全部模型权重,并放置到 `downloads/` 目录下: ```bash from huggingface_hub import snapshot_download save_dir = "./downloads/" repo_id = "bytedance-research/Lance" cache_dir = save_dir + "/cache" snapshot_download(cache_dir=cache_dir, local_dir=save_dir, repo_id=repo_id, local_dir_use_symlinks=False, resume_download=True, allow_patterns=["*.json", "*.safetensors", "*.bin", "*.py", "*.md", "*.txt","*.pth",], ) ``` ## 📚 使用方法 ### 推理 #### 基本用法 ```bash bash inference_lance.sh ``` - 运行前,请先在 `inference_lance.sh` 顶部配置推理参数。 - **支持任务:** `t2i`、`t2v`、`i2v`、`image_edit`、`video_edit`、`x2t_image` 和 `x2t_video`。你也可以在 `inference_lance.py` 中修改 `TASK_DEFAULT_CONFIGS`,自定义每个任务默认使用的数据样例。 - **注意:** 对于所有任务,建议在编写输入 prompt 时参考提供示例中的 `prompt` 格式,这通常有助于获得更好的生成效果。 #### 任务示例 ##### 文生视频 ```bash bash inference_lance.sh \ --TASK_NAME t2v \ --MODEL_PATH downloads/Lance_3B_Video \ --RESOLUTION video_480p \ --NUM_FRAMES 121 \ --VIDEO_HEIGHT 480 \ --VIDEO_WIDTH 848 \ --SAVE_PATH_GEN results/t2v ``` ##### 文本-图像到视频生成(首帧到视频) ```bash bash inference_lance.sh \ --TASK_NAME i2v \ --MODEL_PATH downloads/Lance_3B_Video \ --RESOLUTION video_480p \ --NUM_FRAMES 61 \ --VIDEO_HEIGHT 480 \ --VIDEO_WIDTH 848 \ --SAVE_PATH_GEN results/i2v ``` 生成任务可选参数: - `--ENHANCE_PROMPT true`:启用 T2V/I2V prompt rewrite。prompt enhance rewrite 通常能提升生成效果。启用前请先在 `common/utils/caption_rewrite.py` 中配置 `API_KEY`、`MODEL_NAME` 和 `client`;如果没有配置有效 key,会自动跳过 prompt rewrite,此时建议尽量参考提供示例中的 prompt 风格手写输入。 ##### 文生图 ```bash bash inference_lance.sh \ --TASK_NAME t2i \ --MODEL_PATH downloads/Lance_3B \ --RESOLUTION image_768res \ --VIDEO_HEIGHT 768 \ --VIDEO_WIDTH 768 \ --SAVE_PATH_GEN results/t2i ``` ##### 视频编辑 ```bash bash inference_lance.sh \ --TASK_NAME video_edit \ --MODEL_PATH downloads/Lance_3B_Video \ --RESOLUTION video_480p \ --SAVE_PATH_GEN results/video_edit ``` ##### 图像编辑 ```bash bash inference_lance.sh \ --TASK_NAME image_edit \ --MODEL_PATH downloads/Lance_3B \ --RESOLUTION image_768res \ --SAVE_PATH_GEN results/image_edit ``` ##### 视频理解 ```bash bash inference_lance.sh \ --TASK_NAME x2t_video \ --MODEL_PATH downloads/Lance_3B_Video \ --RESOLUTION video_480p \ --NUM_FRAMES 50 \ --SAVE_PATH_GEN results/x2t_video ``` ##### 图像理解 ```bash bash inference_lance.sh \ --TASK_NAME x2t_image \ --MODEL_PATH downloads/Lance_3B \ --RESOLUTION image_768res \ --SAVE_PATH_GEN results/x2t_image ``` 所有任务示例可选参数: - `--CONFIG_PATH path/to/config.json`:使用自定义验证 JSON/JSONL 文件,而不是任务默认示例配置。
展开任务和参数参考 #### 可用任务 | 任务名 | 说明 | 示例 JSON | |------------------------|--------------------------------------------------|----------------------------------------------| | `t2v` | 文生视频 | `config/examples/t2v_example.json` | | `t2i` | 文生图 | `config/examples/t2i_example.json` | | `i2v` | 首帧到视频生成 | `config/examples/i2v_example.json` | | `image_edit` | 图像编辑 | `config/examples/image_edit_example.json` | | `video_edit` | 视频编辑 | `config/examples/video_edit_example.json` | | `x2t_image` | 图像理解 | `config/examples/x2t_image_example.json` | | `x2t_video` | 视频理解 | `config/examples/x2t_video_example.json` | 关于理解任务的示例文件: - `config/examples/x2t_image_example.json`:用于图像理解示例,包括视觉问答、基于图像的推理和图像描述。 - `config/examples/x2t_video_example.json`:用于视频理解示例,包括视频问答和视频描述。 #### 参数说明 你可以在 `inference_lance.sh` 顶部配置以下超参数: | 参数 | 默认值 | 说明 | | --- | --- | --- | | `MODEL_PATH` | `"downloads/Lance_3B"` | 下载后的 Lance 模型权重路径(如 `Lance_3B` 或 `Lance_3B_Video`)。 | | `NUM_GPUS` | `1` | 用于推理的 GPU 数量。 | | `VALIDATION_NUM_TIMESTEPS` | `30` | 去噪步数(例如 30 或 50)。 | | `VALIDATION_TIMESTEP_SHIFT` | `3.5` | Flow matching 调度中的 timestep shift 参数。 | | `CFG_TEXT_SCALE` | `4.0` | 文本条件的 CFG(Classifier-Free Guidance)系数。 | | `VALIDATION_DATA_SEED` | `42` | 用于复现实验的随机种子。 | | `NUM_FRAMES` | `50` | 视频生成帧数(最大 121)。*图像任务不使用该参数。* | | `VIDEO_HEIGHT` / `VIDEO_WIDTH`| `768` | 空间分辨率。*编辑任务不使用该参数(由输入图像/视频决定)。* | | `RESOLUTION` | `"video_480p"` | 基础分辨率预设(如 `image_768res` 或 `video_480p`)。 | | `CONFIG_PATH` | `""` | 可选的自定义验证 JSON/JSONL 文件路径。为空时使用任务默认示例配置。 | | `ENHANCE_PROMPT` | `false` | 可选的 T2V/I2V prompt rewrite 开关。T2V 使用纯文本 rewrite,I2V 使用文本加输入图像 rewrite。prompt enhance rewrite 通常能提升生成效果。启用前请先在 `common/utils/caption_rewrite.py` 中配置 API key 和 client;如果没有 key,建议尽量参考提供示例中的 prompt 风格手写输入。 |
### 🖥️ Gradio 你可以启动本地 Gradio demo,体验视频/图像生成、编辑和理解: ```bash python lance_gradio.py --server-name 0.0.0.0 --server-port 7860 ``` ### 基准评测
DPG-Bench 评测
模型 # Params. Global Entity Attribute Relation Other Overall
仅生成模型
SDXL3.5B83.2782.4380.9186.7680.4174.65
DALL-E 3-90.9789.6188.3990.5889.8383.50
SD3-Medium2B87.9091.0188.8380.7088.6884.08
FLUX.1-dev12B74.3590.0088.9690.8788.3383.84
Qwen-Image20B91.3291.5692.0294.3192.7388.32
统一模型
Janus-Pro-7B7B86.9088.9089.4089.3289.4884.19
OmniGen24B88.8188.8390.1889.3790.2783.57
Show-o27B89.0091.7889.9691.8191.6486.14
BAGEL7B88.9490.3791.2990.8288.6785.07
InternVL-U1.7B90.3990.7890.6890.2988.7785.18
TUNA7B90.4291.6890.9491.8790.7386.76
TUNA-27B89.5091.4092.0791.9188.8186.54
🌟 Lance (Ours)3B83.8991.0789.3693.3880.8084.67

表示该方法在生成前使用 LLM rewriter 进行提示词改写。

GenEval 评测
模型 # Params. 1-Obj. 2-Obj. Count Colors Position Attr. Overall
仅生成模型
SDXL3.5B0.980.740.390.850.150.230.55
DALL-E 3-0.960.870.470.830.430.450.67
SD3-Medium2B0.990.940.720.890.330.600.74
FLUX.1-dev12B0.980.930.750.930.680.650.82
Qwen-Image20B0.990.920.890.880.760.770.87
统一模型
Janus-Pro-7B7B0.990.890.590.900.790.660.80
OmniGen24B1.000.950.640.880.550.760.80
Show-o27B1.000.870.580.920.520.620.76
BAGEL7B0.980.950.840.950.780.770.88
Mogao7B1.000.970.830.930.840.800.89
InternVL-U1.7B0.990.940.740.910.770.740.85
TUNA7B1.000.970.810.910.880.830.90
TUNA-27B0.990.960.800.910.840.760.87
🌟 Lance (Ours)3B1.000.940.840.970.870.810.90

表示该方法在生成前使用 LLM rewriter 进行提示词改写。

GEdit-Bench 评测
模型 # Params. BC CA MM MC PB ST SA SR SRp TM TT Avg/G_O
仅生成模型
Gemini 2.0------------6.32
GPT Image 1-6.966.857.105.416.747.447.518.738.558.458.697.49
Qwen-Image-Edit20B8.238.307.338.057.496.748.578.098.298.488.508.01
统一模型
Lumina-DiMOO8B3.434.273.082.774.745.194.443.804.382.684.203.91
Ovis-U11.2B7.496.886.214.795.986.467.497.257.274.486.316.42
BAGEL7B7.326.916.384.754.576.157.907.167.027.326.226.52
InternVL-U1.7B7.087.056.387.026.036.277.136.556.336.596.856.66
InternVL-U (w/ CoT)1.7B7.057.876.506.995.776.107.337.167.127.366.466.88
🌟 Lance (Ours)3B7.737.747.287.837.507.037.647.857.714.467.577.30
VBench 评测(视频生成)
类型 Model # Params. Total Score ↑
Gen. Only ModelScope1.7B75.75
LaVie3B77.08
Show-16B78.93
AnimateDiff-V2-80.27
VideoCrafter-2.0-80.44
CogVideoX5B81.61
Kling-81.85
Open-Sora-2.0-81.71
Gen-3-82.32
Step-Video-T2V30B81.83
Hunyuan Video-83.43
Wan2.1-T2V14B83.69
Unified HaproOmni7B78.10
Emu38B80.96
VILA-U7B74.01
Show-o22B81.34
TUNA1.5B84.06
🌟 Lance (Ours)3B85.11
#### 运行基准评测 `benchmarks/` 目录下提供了可直接运行的基准评测脚本: | 基准 | 模态 | 脚本 | |------------------------|----------|---------------------------------------------------------------| | GenEVAL(图像生成) | 图像 | `benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh` | | DPG(图像生成) | 图像 | `benchmarks/image_gen/DPG/sample_DPG.sh` | | GEdit(图像编辑) | 图像 | `benchmarks/image_gen/GEdit/sample_GEdit.sh` | | VBench(视频生成) | 视频 | `benchmarks/video_gen/Vbench/sample_vbench.sh` | ## 📄 许可证 Copyright 2025 ByteDance Ltd. and/or its affiliates. ## 🙏 致谢 我们感谢 [BAGEL](https://github.com/ByteDance-Seed/bagel)、[Qwen2.5-VL-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct) 和 [Wan2.2](https://github.com/Wan-Video/Wan2.2) 的贡献者,感谢他们开放的研究与社区贡献。 ## 💖 引用 如果 **Lance** 对您的项目或研究有帮助,欢迎 🌟 本仓库,并使用以下 BibTeX 引用我们的工作: ```bibtex @misc{fu2026lanceunifiedmultimodalmodeling, title = {Lance: Unified Multimodal Modeling by Multi-Task Synergy}, author = {Fengyi Fu and Mengqi Huang and Shaojin Wu and Yunsheng Jiang and Yufei Huo and Hao Li and Yinghang Song and Fei Ding and Jianzhu Guo and Qian He and Zheren Fu and Zhendong Mao and Yongdong Zhang}, year = {2026}, eprint = {2605.18678}, archivePrefix = {arXiv}, primaryClass = {cs.CV}, url = {https://arxiv.org/abs/2605.18678}, } ``` ## 📞 联系方式 如有问题、反馈或合作需求,请联系 [Mengqi Huang](https://corleone-huang.github.io/) 和 [Jianzhu Guo](https://guojianzhu.com/)。