Embodied-R1.5 is a unified
Embodied Foundation Model (EFM), built on
Qwen3-VL-8B-Instruct, that integrates comprehensive embodied reasoning within a single architecture. Building on
Embodied-R1, it leaps from a pointing specialist to a comprehensive EFM unifying
three core capabilities:
Trained on a 15B-token corpus with a multi-task balanced RL recipe, it further drives a Planner-Grounder-Corrector (PGC) closed-loop framework where one model acts as planner, grounder, and corrector to autonomously complete long-horizon real-world tasks.
Embodied-R1.5 follows the Qwen3-VL chat format and outputs structured answers inside <answer>...</answer> tags. The supported task types and their answer formats are:
1from transformers import AutoModelForImageTextToText, AutoProcessor
2from PIL import Image
3
4model_id = "IffYuan/Embodied-R1.5"
5model = AutoModelForImageTextToText.from_pretrained(
6 model_id, torch_dtype="auto", device_map="auto"
7)
8processor = AutoProcessor.from_pretrained(model_id)
9
10image = Image.open("scene.jpg")
11messages = [
12 {
13 "role": "user",
14 "content": [
15 {"type": "image"},
16 {"type": "text", "text": "You are a robot performing manipulation tasks. "
17 "The task instruction is: move the blue cube on top of the yellow cube. "
18 "Use 2D points to mark the target location."},
19 ],
20 }
21]
22
23text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
24inputs = processor(text=[text], images=[image], return_tensors="pt").to(model.device)
25out = model.generate(**inputs, max_new_tokens=512)
26print(processor.batch_decode(out, skip_special_tokens=True)[0])
The model reasons over the visual observation and emits its final decision within an <answer> tag, e.g. <answer>[{"point_2d": [750, 748]}]</answer>.
1vllm serve IffYuan/Embodied-R1.5 \
2 --served-model-name "Embodied-R1.5" \
3 --tensor-parallel-size 1 \
4 --mm-encoder-tp-mode data \
5 --gpu-memory-utilization 0.7 \
6 --async-scheduling \
7 --media-io-kwargs '{"video": {"num_frames": 32}, "image": {"max_num": 32}}' \
8 --max_model_len 20000 \
9 --limit-mm-per-prompt '{"image": 8, "video": 1}' \
10 --host 0.0.0.0 --port 22002
For benchmark evaluation, see
EmbodiedEvalKit, an evaluation framework covering 25+ embodied benchmarks.
Embodied-R1.5 is trained in two stages: SFT (LLaMA-Factory) followed by RFT (EasyR1). Full training scripts are available in the
GitHub repository. Datasets are released in the
Embodied-R1.5 HuggingFace collection.
1@article{yuan2026embodiedr15,
2 title={Embodied-R1.5: Evolving Physical Intelligence via Embodied Foundation Models},
3 author={Yuan, Yifu and Huang, Yaoting and Yao, Xianze and Li, Yutong and Zhang, Shuoheng and Han, Linqi and Li, Pengyi and Sun, Jiangeng and Jia, Wenting and Zhao Zhang and Liu, Yuhao and Liao, Ruihao and Hu, Yucheng and Wu, Qiyu and Li, Yuxiao and Dong, Zibin and Ni, Fei and Zheng, Yan and Gu, Shuyang and Ma, Yi and Tang, Hongyao and Hu, Han and Hao, Jianye},
4 journal={arXiv preprint},
5 year={2026}
6}
7
8@article{yuan2025embodied,
9 title={Embodied-R1: Reinforced Embodied Reasoning for General Robotic Manipulation},
10 author={Yuan, Yifu and Cui, Haiqin and Huang, Yaoting and Chen, Yibin and Ni, Fei and Dong, Zibin and Li, Pengyi and Zheng, Yan and Hao, Jianye},
11 journal={ICLR 2026},
12 year={2025}
13}
Released under the Apache 2.0 license.