Black Forest Labs (BFL), the lab behind the FLUX picture fashions, has launched FLUX 3 Action. It’s a 7B open-weights World Motion Mannequin (WAM) for robotic management. The mannequin reads digicam frames, robotic state and a textual content instruction. It then predicts future video frames and the following chunk of actions collectively. On the RoboLab-120 leaderboard, it ranks first at 42.92% activity success.
Is it deployable? Sure, with circumstances. The DROID coverage wants about 32 GB of GPU reminiscence in BF16 on an H200. It suits 24 GB playing cards with FP8 quantization and textual content encoder offload. The FLUX Kommunity License permits non-commercial use.
The Commerce-off FLUX 3 Motion Targets
Open robotic insurance policies normally drive a alternative. WAMs like NVIDIA’s Cosmos 3 Nano lead RoboLab at 36.8%, however predicting video is pricey. VLAs like π0.5 are quick, however attain solely 28.0%. On a B200, BFL measured that Cosmos 3 Nano (FP8) wants about 4.7x extra processing time than π0.5 (BF16) per second of robotic movement.
FLUX 3 Motion retains joint video and motion prediction. BFL closes the pace hole with a smaller spine and distillation as an alternative.
Structure and Coaching
FLUX 3 Motion is derived from the multimodal FLUX 3 spine. Pretraining used picture, video and audio information, and video made up over 95% of coaching tokens. Textual content, video and robotic state are encoded into tokens. The spine’s future tokens are decoded into video frames, and its motion tokens into robotic actions.
Midtraining combined pretraining information (36.95% of samples) with action-aligned video (63.05%). The motion information coated sport recordings, selfish human hand video, handheld grippers and teleoperation throughout 14 embodiments. Most robotic information makes use of a shared 50-dimension end-effector motion house referred to as EE50.
Pretraining issues lots right here. With out it, DROID-only coaching stayed under 1% on RoboLab. With pretraining, the identical protocol reached 11.6%.
Benchmark Outcomes
RoboLab-120 has 120 tabletop duties in Isaac Sim, with 10 trials every on a DROID-style Franka setup.
| Mannequin | Sort | Params | RoboLab-120 |
|---|---|---|---|
| FLUX 3 Motion | WAM | 7B | 42.92% |
| Cosmos3-Nano-Coverage | WAM | 16B | 36.8% |
| π0.5 | VLA | 3.3B | 28.0% |
| DreamZero | WAM | 14B | 25.7% |
| GR00T N1.6 | VLA | 3B | 7.2% |
That may be a 6.1 proportion level lead with 56% fewer parameters than Cosmos 3 Nano. The 42.92% determine is the leaderboard entry. BFL’s multi-seed imply for the guidance-distilled FP8 checkpoint is 42.24% ± 0.36.
Actual {hardware} outcomes observe the identical sample. Positronic Robotics ran a blind analysis on a Franka arm with 10 DROID duties and three makes an attempt every. FLUX 3 Motion accomplished 28 of 30 makes an attempt (93.3%). Cosmos 3 Nano scored 27/30, DreamZero 20/30 and π0.5 13/30.
3 Checkpoints, 3 Velocity Factors
BFL ships the DROID policy in 3 recipes, every in BF16 and FP8:
- Base: 4 sampling steps with break up steering (video CFG 4, motion CFG 1).
- Steering-distilled: drops the second steering move, runs 1.8x to 2x sooner and scores 0.6 to 1.08 pp larger.
- Step-distilled: 1 sampling step, 3.15x to 4x sooner, with a 3.51 to 4.32 pp drop in success.
In opposition to Cosmos 3 Nano in FP8, the bottom and guidance-distilled checkpoints run 1.52x to three.95x sooner throughout client, workstation and datacenter GPUs.
Every name yields 32 actions at 15 Hz, or 2.13 seconds of movement. π0.5 yields 1.0 second per name. So BFL stories pace as real-time issue, not per-call latency. In FP8, the step-distilled checkpoint beats π0.5 by 1.34x to 2.28x on workstation and datacenter GPUs. On an RTX 5090, it’s slower than π0.5.
‘+(r[2]===28?’28.0′:(r[2]===39?’39.0’:String(r[2])))+’%
‘;
d.addEventListener(‘click on’, operate(){ doc.getElementById(‘barNote’).textContent = r[0]+’: ‘+r[2]+’% success (‘+r[1]+’).’; });
d.addEventListener(‘keydown’, operate(e){ if(e.key===’Enter’||e.key===’ ‘){ e.preventDefault(); d.click on(); } });
host.appendChild(d);
requestAnimationFrame(operate(){ requestAnimationFrame(operate(){ d.querySelector(‘.fill’).fashion.width = (r[2]/45*100)+’%’; }); });
});
setTimeout(resize, 60);
}
doc.getElementById(‘openOnly’).addEventListener(‘click on’, operate(){ showClosed=false; this.setAttribute(‘aria-pressed’,’true’); doc.getElementById(‘withClosed’).setAttribute(‘aria-pressed’,’false’); drawBars(); });
doc.getElementById(‘withClosed’).addEventListener(‘click on’, operate(){ showClosed=true; this.setAttribute(‘aria-pressed’,’true’); doc.getElementById(‘openOnly’).setAttribute(‘aria-pressed’,’false’); drawBars(); });
/* 4 race: real-time issue on B200 */
var RACE = [
[‘F3A step-distilled’,’37.92% success’,15,’me’],
[‘π0.5 (BF16)’,’28.0% success’,32,”],
[‘F3A guidance-distilled’,’42.24% success’,48,’me’],
[‘Cosmos 3 Nano’,’36.8% success’,150,”]
];
var race = doc.getElementById(‘race’);
RACE.forEach(operate(r){
var d = doc.createElement(‘div’); d.className=”r “+r[3];
d.innerHTML = ‘
‘+r[0]+’‘+r[1]+’
‘+r[2]+’ ms
‘;
race.appendChild(d);
});
doc.getElementById(‘goRace’).addEventListener(‘click on’, operate(){
var bars = race.querySelectorAll(‘.t i’), t0=null;
bars.forEach(operate(b){ b.fashion.width=”0″; });
operate body(ts){
if(!t0) t0=ts; var el = cut back ? 1e9 : (ts-t0)/10; var carried out = true;
RACE.forEach(operate(r,i){ var okay = Math.min(1, el/r[2]); bars[i].fashion.width = (okay*r[2]/150*100)+’%’; if(okay’+head+’
‘+hw+’
‘+lic+’
The mannequin outputs joint targets with no velocity, drive or workspace limits. Your utility should implement them and maintain a {hardware} cease inside attain.
‘;
setTimeout(resize, 30);
}
doc.querySelectorAll(‘.qs enter’).forEach(operate(i){ i.addEventListener(‘change’, verdict); });
verdict();
window.addEventListener(‘load’, resize);
window.addEventListener(‘resize’, resize);
setTimeout(resize, 300);
})();

