Black Forest Labs (BFL), the lab behind the FLUX image models, has released FLUX 3 Action. It is a 7B open-weights World Action Model (WAM) for robot control. The model reads camera frames, robot state and a text instruction. It then predicts future video frames and the next chunk of actions together. On the RoboLab-120 leaderboard, it ranks first at 42.92% task success.
Is it deployable? Yes, with conditions. The DROID policy needs about 32 GB of GPU memory in BF16 on an H200. It fits 24 GB cards with FP8 quantization and text encoder offload. The FLUX Kommunity License allows non-commercial use.
The Trade-off FLUX 3 Action Targets
Open robot policies usually force a choice. WAMs like NVIDIA’s Cosmos 3 Nano lead RoboLab at 36.8%, but predicting video is expensive. VLAs like π0.5 are fast, but reach only 28.0%. On a B200, BFL measured that Cosmos 3 Nano (FP8) needs about 4.7x more processing time than π0.5 (BF16) per second of robot motion.
FLUX 3 Action keeps joint video and action prediction. BFL closes the speed gap with a smaller backbone and distillation instead.
Architecture and Training
FLUX 3 Action is derived from the multimodal FLUX 3 backbone. Pretraining used image, video and audio data, and video made up over 95% of training tokens. Text, video and robot state are encoded into tokens. The backbone’s future tokens are decoded into video frames, and its action tokens into robot actions.
Midtraining mixed pretraining data (36.95% of samples) with action-aligned video (63.05%). The action data covered game recordings, egocentric human hand video, handheld grippers and teleoperation across 14 embodiments. Most robot data uses a shared 50-dimension end-effector action space called EE50.
Pretraining matters a lot here. Without it, DROID-only training stayed below 1% on RoboLab. With pretraining, the same protocol reached 11.6%.
Benchmark Results
RoboLab-120 has 120 tabletop tasks in Isaac Sim, with 10 trials each on a DROID-style Franka setup.
| Model | Type | Params | RoboLab-120 |
|---|---|---|---|
| FLUX 3 Action | WAM | 7B | 42.92% |
| Cosmos3-Nano-Policy | WAM | 16B | 36.8% |
| π0.5 | VLA | 3.3B | 28.0% |
| DreamZero | WAM | 14B | 25.7% |
| GR00T N1.6 | VLA | 3B | 7.2% |
That is a 6.1 percentage point lead with 56% fewer parameters than Cosmos 3 Nano. The 42.92% figure is the leaderboard entry. BFL’s multi-seed mean for the guidance-distilled FP8 checkpoint is 42.24% ± 0.36.
Real hardware results follow the same pattern. Positronic Robotics ran a blind evaluation on a Franka arm with 10 DROID tasks and 3 attempts each. FLUX 3 Action completed 28 of 30 attempts (93.3%). Cosmos 3 Nano scored 27/30, DreamZero 20/30 and π0.5 13/30.
3 Checkpoints, 3 Speed Points
BFL ships the DROID policy in 3 recipes, each in BF16 and FP8:
- Base: 4 sampling steps with split guidance (video CFG 4, action CFG 1).
- Guidance-distilled: drops the second guidance pass, runs 1.8x to 2x faster and scores 0.6 to 1.08 pp higher.
- Step-distilled: 1 sampling step, 3.15x to 4x faster, with a 3.51 to 4.32 pp drop in success.
Against Cosmos 3 Nano in FP8, the base and guidance-distilled checkpoints run 1.52x to 3.95x faster across consumer, workstation and datacenter GPUs.
Each call yields 32 actions at 15 Hz, or 2.13 seconds of motion. π0.5 yields 1.0 second per call. So BFL reports speed as real-time factor, 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 is slower than π0.5.
‘+(r[2]===28?’28.0′:(r[2]===39?’39.0’:String(r[2])))+’%
‘;
d.addEventListener(‘click’, function(){ document.getElementById(‘barNote’).textContent = r[0]+’: ‘+r[2]+’% success (‘+r[1]+’).’; });
d.addEventListener(‘keydown’, function(e){ if(e.key===’Enter’||e.key===’ ‘){ e.preventDefault(); d.click(); } });
host.appendChild(d);
requestAnimationFrame(function(){ requestAnimationFrame(function(){ d.querySelector(‘.fill’).style.width = (r[2]/45*100)+’%’; }); });
});
setTimeout(resize, 60);
}
document.getElementById(‘openOnly’).addEventListener(‘click’, function(){ showClosed=false; this.setAttribute(‘aria-pressed’,’true’); document.getElementById(‘withClosed’).setAttribute(‘aria-pressed’,’false’); drawBars(); });
document.getElementById(‘withClosed’).addEventListener(‘click’, function(){ showClosed=true; this.setAttribute(‘aria-pressed’,’true’); document.getElementById(‘openOnly’).setAttribute(‘aria-pressed’,’false’); drawBars(); });
/* 4 race: real-time factor 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 = document.getElementById(‘race’);
RACE.forEach(function(r){
var d = document.createElement(‘div’); d.className=”r “+r[3];
d.innerHTML = ‘
‘+r[0]+’‘+r[1]+’
‘+r[2]+’ ms
‘;
race.appendChild(d);
});
document.getElementById(‘goRace’).addEventListener(‘click’, function(){
var bars = race.querySelectorAll(‘.t i’), t0=null;
bars.forEach(function(b){ b.style.width=”0″; });
function frame(ts){
if(!t0) t0=ts; var el = reduce ? 1e9 : (ts-t0)/10; var done = true;
RACE.forEach(function(r,i){ var k = Math.min(1, el/r[2]); bars[i].style.width = (k*r[2]/150*100)+’%’; if(k<1) done=false; });
if(!done) requestAnimationFrame(frame);
}
requestAnimationFrame(frame);
});
/* 5 deploy */
function verdict(){
var v = document.querySelector(‘input[name=vram]:checked’).value, u = document.querySelector(‘input[name=use]:checked’).value;
var box = document.getElementById(‘verdict’), hw, lic, cls;
if(v===’32’) hw = ‘Hardware: fits. The DROID policy uses about 32 GB in BF16 on an H200.’;
else if(v===’24’) hw = ‘Hardware: fits with –quantize fp8 and –offload-text-encoder, per the model card.’;
else hw = ‘Hardware: not covered. BFL lists 24 GB as the smallest tested fit.’;
if(u===’res’) lic=”License: allowed. Non-commercial and non-production use, including non-commercial robotics, is permitted.”;
else if(u===’small’) lic=”License: outputs (including action predictions) may be used commercially by Qualifying Users under US$5M annual revenue. Read the terms before production.”;
else lic=”License: you need a commercial license from Black Forest Labs.”;
cls = (v===’lt24’||u===’big’) ? (v===’lt24’&&u===’big’?’no’:’warn’) : ‘ok’;
var head = cls===’ok’ ? ‘Deployable for your setup’ : cls===’warn’ ? ‘Deployable with changes’ : ‘Not deployable as is’;
box.className=”verdict “+cls;
box.innerHTML = ‘‘+head+’
‘+hw+’
‘+lic+’
The model outputs joint targets with no velocity, force or workspace limits. Your application must enforce them and keep a hardware stop within reach.
‘;
setTimeout(resize, 30);
}
document.querySelectorAll(‘.qs input’).forEach(function(i){ i.addEventListener(‘change’, verdict); });
verdict();
window.addEventListener(‘load’, resize);
window.addEventListener(‘resize’, resize);
setTimeout(resize, 300);
})();
