Ai2 ManiFlow-TB: An Open 322M Robot Action Model for Block Stacking, With 54 to 59% Sim Success Ai2 released ManiFlow-TB, a 322.5-million-parameter open robot action model for the ToyBlocks block-stacking project, published on Hugging Face under an Apache 2.0 license with a model card reporting 54 to 59% simulation success across four runs of 128 episodes using an oracle high-level plan. The model builds on the ManiFlow policy introduced at CoRL 2025 by researchers from the University of Washington, UC San Diego, Nvidia and the Allen Institute for AI, and was trained for 200,000 steps on 8 GPUs on three ToyBlocks-generated LeRobot datasets of simulated Franka arm data. ManiFlow-TB uses flow matching with consistency training at 12 integration steps and outputs 25-action chunks from a 50-step prediction horizon, with no real-robot results reported on the model card. Ai2 has put a small, fully open robot action model on Hugging Face. ManiFlow-TB is the low-level action model for ToyBlocks, a block-stacking robot project, with 322.5 million parameters, an Apache 2.0 license, and simulation results the model card reports with unusual candor: 54 to 59% success across four runs model card https://huggingface.co/allenai/maniflow-tb?ref=explainx . It builds on the ManiFlow policy introduced at CoRL 2025 by researchers from the University of Washington, UC San Diego, Nvidia and the Allen Institute for AI ManiFlow project page https://maniflow-policy.github.io/?ref=explainx . This is a research release, not a product. Here is what it is, how to run it, and how to read the numbers. TL;DR: the questions people ask first | Question | Answer from the model card | |---|---| | What does it do? | Low-level actions for tabletop block pick-and-place and in-place rotation of three blocks | | Size? | 322.5M parameters, bf16 safetensors | | Method? | Flow matching with consistency training, 12 integration steps at inference | | Trained on? | Simulated Franka arm data, three ToyBlocks-generated LeRobot datasets | | License? | Apache 2.0 for weights and training code | | Result? | 54 to 59% success over four runs of 128 episodes, with an oracle high-level plan | | Real robot results? | None reported on the model card | Where it fits: a two-level system ToyBlocks splits the job in two. A high-level policy decides what to do next, such as which block goes where, and passes a target heatmap token. The low-level action model, ManiFlow-TB, turns images, state and that target into motor commands. The model card says the evaluation uses an oracle high-level policy, taking the plan from the recorded task, so the numbers measure the low-level action model alone. That split matters when you compare it with end-to-end robot foundation models. See our coverage of RoboColosseum https://explainx.ai/blog/robocolosseum-physical-intelligence-eval-124-sites-5699-comparisons-gr00t-n1-7-pi0-5-g1-humanoid-2026 and Physical Intelligence's API beta https://explainx.ai/blog/physical-intelligence-pi-api-beta-robot-fine-tuning-2026 for models trained to do both levels at once. Architecture in plain language Inputs. - Front and gripper RGB images at 224 by 224, encoded with CLIP ViT-B/16. - A 9-dimensional robot state. - The task name, encoded with T5-small. - A target heatmap token from the high-level policy, encoded by the shared RGB encoder. Model. A ManiFlowMultiModal model with a DiTX action head: 12 layers, 8 heads, width 768. The ManiFlow paper describes DiT-X as a diffusion transformer with adaptive cross-attention and AdaLN-Zero conditioning, which lets action tokens interact with visual, language and state features. Outputs. A chunk of 25 executed actions from a prediction horizon of 50, as 9-dimensional absolute actions. The last dimension is a play mode: 1 for play, 0 for pause, -1 for skill done. Because the model was trained with pause-on-attempt, the play mode must be fed back into the model when it is 1 or 0. Why flow matching with consistency? Standard diffusion or flow policies need 10 to 100 steps per action. The ManiFlow paper says consistency training can generate high-quality actions in 1 to 2 steps. This checkpoint uses 12 integration steps, so it is a more conservative setting than the paper's headline claim. Training details - Data: three ToyBlocks-generated LeRobot datasets of tabletop block manipulation. - Compute: 200,000 steps on 8 GPUs, per-device batch 128. - Optimizer: AdamW, learning rate 1e-4, betas 0.9 and 0.95, weight decay 1e-3, cosine schedule with 500 warmup steps, bf16 mixed precision. - Weights: the online, non-EMA weights from the final step. The repository mirrors a training run directory, with checkpoints/steps 200000 model.safetensors , config.yaml and stats.json for normalization. ToyBlocks reads model and action settings from the config next to the checkpoints. The results, and why the caveats matter Ai2 ran closed-loop evaluation in ToyBlocks simulation on 128 episodes from a held-out validation set, each started from the initial state of a recorded episode. | Run | Success | Success at episode end | Collisions | |---|---|---|---| | 1 | 73 of 128 57% | 64 | 32 | | 2 | 75 of 128 59% | 67 | 32 | | 3 | 76 of 128 59% | 66 | 30 | | 4 | 69 of 128 54% | 63 | 38 | Success means all goal predicates hold with the blocks settled and the gripper open. Three details from the card are worth reading carefully: 1. The time limit changes everything. The limit is 3 times the longest expert demonstration 194 seconds . With the default 30 seconds, only 26 to 28 of 128 episodes succeed, because most time out before the task finishes. Ai2 says that measures the limit, not the model. 2. Runs are not repeatable. The four runs use the same episodes and settings but differ because simulation and batched inference are not bitwise deterministic. Two runs agree on only 82 to 97 of the 128 episodes, so the same episode can flip between success and failure. 3. Oracle planning. The high-level plan comes from the recorded task. A learned planner would likely lower the numbers. A roughly 57% success rate on a three-block tabletop task is a baseline for research, not a reliable robot. The value is that the checkpoint, config, training code and evaluation recipe are all open, so others can try to beat it. How to try it The card gives the path. Download the repository, then evaluate with ToyBlocks, whose policy server finds config.yaml next to the checkpoints directory: hf download allenai/maniflow-tb --local-dir maniflow-tb python scripts/launch eval.py --policy maniflow \ --model-path maniflow-tb/checkpoints/steps 200000 model.safetensors \ --dataset-path