Views
No views yet
🔔 Latest: Emu3.5 Web & Mobile Apps and vLLM offline inference are live — see 🔥 News for details.


| 🔹 | Core Concept | Description |
|---|---|---|
| 🧠 | Unified World Modeling | Predicts the next state jointly across vision and language, enabling coherent world modeling and generation. |
| 🧩 | End-to-End Pretraining | Trained with a unified next-token prediction objective over interleaved vision–language sequences. |
| 📚 | Over 10T+ Multimodal Tokens | Pre-trained on over 10 trillion interleaved tokens from video frames and transcripts, capturing spatiotemporal structure. |
| 🔄 | Native Multimodal I/O | Processes and generates interleaved visual–text sequences without modality adapters or task-specific heads. |
| 🎯 | RL Post-Training | Large-scale reinforcement learning enhances reasoning, compositionality, and generation quality. |
| ⚡ | Discrete Diffusion Adaptation (DiDA) | Converts sequential decoding → bidirectional parallel prediction, achieving ≈20× faster inference without performance loss. |
| 🖼️ | Versatile Generation | Excels in long-horizon vision–language generation, any-to-image (X2I) synthesis, and text-rich image creation. |
| 🌐 | Generalizable World Modeling | Enables spatiotemporally consistent world exploration, and open-world embodied manipulation across diverse scenarios. |
| 🏆 | Performance Benchmark | Matches Gemini 2.5 Flash Image (Nano Banana) on image generation/editing, and outperforms on interleaved generation tasks. |
inference_vllm.py with a new cond/uncond batch scheduler, delivering 4–5× faster end-to-end generation on vLLM 0.11.0 across Emu3.5 tasks. Jump to #Run Inference with vLLM for setup guidance and see PR #47 for full details.gradio_demo_image.py and gradio_demo_interleave.py presets for the standard Transformers runtime, providing turnkey T2I/X2I and interleaved generation experiences with streaming output. Try the commands in #Gradio Demo to launch both UIs locally.💡 Usage tip:
For interleaved image-text generation, use Emu3.5.
For single-image generation (T2I and X2I), use Emu3.5-Image for the best quality.
1# Requires Python 3.12 or higher.
2git clone https://github.com/baaivision/Emu3.5
3cd Emu3.5
4pip install -r requirements/transformers.txt
5pip install flash_attn==2.8.3 --no-build-isolationconfigs/config.py to set:model_path, vq_pathtask_type in {t2i, x2i, howto, story, explore, vla}use_image (True to provide reference images, controls <|IMAGE|> token); set reference_image in each prompt to specify the image path. For x2i task, we recommand using reference_image as a list containing single/multiple image paths to be compatible with multi-image input.sampling_params (classifier_free_guidance, temperature, top_k/top_p, etc.)aspect_ratio ("4:3", "21:9", "1:1", "auto" etc..)python inference.py --cfg configs/config.py1# 🖼️ Text-to-Image (T2I) task
2CUDA_VISIBLE_DEVICES=0 python inference.py --cfg configs/example_config_t2i.py
3
4# 🔄 Any-to-Image (X2I) task
5CUDA_VISIBLE_DEVICES=0,1 python inference.py --cfg configs/example_config_x2i.py
6
7# 🎯 Visual Guidance task
8CUDA_VISIBLE_DEVICES=0,1 python inference.py --cfg configs/example_config_visual_guidance.py
9
10# 📖 Visual Narrative task
11CUDA_VISIBLE_DEVICES=0,1 python inference.py --cfg configs/example_config_visual_narrative.py
12
13
14# After running inference, the model will generate results in protobuf format (.pb files) for each input prompt.outputs/<exp_name>/proto/. For better throughput, we recommend ≥2 GPUs.conda create -n Emu3p5 python=3.121# Requires Python 3.12 or higher.
2# Recommended: CUDA 12.8.
3pip install -r requirements/vllm.txt
4pip install flash_attn==2.8.3 --no-build-isolation
5
6cd Emu3.5
7python src/patch/apply.py1# 🖼️ Text-to-Image (T2I) task
2CUDA_VISIBLE_DEVICES=0,1 python inference_vllm.py --cfg configs/example_config_t2i.py
3
4# 🔄 Any-to-Image (X2I) task
5CUDA_VISIBLE_DEVICES=0,1 python inference_vllm.py --cfg configs/example_config_x2i.py
6
7# 🎯 Visual Guidance task
8CUDA_VISIBLE_DEVICES=0,1 python inference_vllm.py --cfg configs/example_config_visual_guidance.py
9
10# 📖 Visual Narrative task
11CUDA_VISIBLE_DEVICES=0,1 python inference_vllm.py --cfg configs/example_config_visual_narrative.pypython src/utils/vis_proto.py --input <input_proto_path> [--output <output_dir>] [--video]--input: supports a single .pb file or a directory; directories are scanned recursively.--output: optional; defaults to <input_dir>/results/<file_stem> for files, or <parent_dir_of_input>/results for directories.1results/<pb_name>/
2├── 000_question.txt
3├── 000_global_cot.txt
4├── 001_text.txt
5├── 001_00_image.png
6├── 001_00_image_cot.txt
7├── 002_text.txt
8├── 002_00_image.png
9├── ...
10└── video.mp4 # only when --video is enabled*_text.txt stores decoded segments, *_image.png stores generated frames, and matching *_image_cot.txt keeps image-level chain-of-thought notes when available.CUDA_VISIBLE_DEVICES=0,1 python gradio_demo_image.py --host 0.0.0.0 --port 7860CUDA_VISIBLE_DEVICES=0,1 python gradio_demo_interleave.py --host 0.0.0.0 --port 7860
![]() Emu3.5 Mobile · Mainland China |
![]() Emu3.5 Mobile · Global |
1@misc{cui2025emu35nativemultimodalmodels,
2 title={Emu3.5: Native Multimodal Models are World Learners},
3 author={Yufeng Cui and Honghao Chen and Haoge Deng and Xu Huang and Xinghang Li and Jirong Liu and Yang Liu and Zhuoyan Luo and Jinsheng Wang and Wenxuan Wang and Yueze Wang and Chengyuan Wang and Fan Zhang and Yingli Zhao and Ting Pan and Xianduo Li and Zecheng Hao and Wenxuan Ma and Zhuo Chen and Yulong Ao and Tiejun Huang and Zhongyuan Wang and Xinlong Wang},
4 year={2025},
5 eprint={2510.26583},
6 archivePrefix={arXiv},
7 primaryClass={cs.CV},
8 url={https://arxiv.org/abs/2510.26583},
9}