> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bfl.ml/llms.txt
> Use this file to discover all available pages before exploring further.

# FLUX 3 Action

> 7B open weights world action model. Turn FLUX's visual intelligence into action for your robot, simulator, or game.

Built on FLUX 3’s image and video training, FLUX 3 Action learns to predict
actions and their visual outcomes together. Given camera images, the current
state, and an instruction, it predicts a chunk of actions (32 for DROID and games, 42 for SO-101)
alongside future video latents.
DROID and game plans cover about two seconds at 15 Hz; SO-101 uses 30 Hz.
The current API returns actions; see [predicted video](https://docs.bfl.ml/flux_3/flux3_action_inference.md#predicted-video)
for what is available at inference.

Start with a prepared robot checkpoint, or fine-tune the model on
demonstrations of your own controls and tasks.

[Run the model](https://docs.bfl.ml/flux_3/flux3_action_inference.md) or
[train it for your task](https://docs.bfl.ml/flux_3/flux3_action_finetuning.md).

> [tab] Robot arm
>
> <video controls muted playsInline preload="metadata" aria-label="Robot arm" src="https://cdn.sanity.io/files/2gpum2i6/production/77a33cf9da2bd7ed55de334b2c20c4802bbf3d01.mp4" />
>
> A pick-and-place skill learned from about 200 demonstrations. FLUX 3 Action controls the SO-101 arm; footage is shown at 4× speed with pauses between plans removed. [Teach your arm a task.](https://docs.bfl.ml/flux_3/flux3_action_so101.md)

> [tab] Video game
>
> <video controls muted playsInline preload="metadata" aria-label="Video game" src="https://cdn.sanity.io/files/2gpum2i6/production/4e8fac32fc13bb25c50b364ef0d9241c37ca7f5d.mp4" />
>
> Learn to dodge and aim from a scripted bot. The teacher (left) and fine-tuned model (right) play the same seed. [Train a game-playing model.](https://docs.bfl.ml/flux_3/flux3_action_games.md)

> [tab] Drone
>
> <video controls muted playsInline preload="metadata" aria-label="Drone" src="https://cdn.sanity.io/files/2gpum2i6/production/8ed16bd1ba321ac730f52217a0cf43bdc84c0b83.mp4" />
>
> "Fly under the coffee table and hover." FLUX 3 Action follows the instruction in Isaac Sim, on a layout excluded from fine-tuning. [Teach a simulated drone to follow instructions.](https://docs.bfl.ml/flux_3/flux3_action_drone.md)

## Try the control loop

Given "put the red cube in the left bin," the model uses camera images and
joint positions to predict motor commands and their visual outcomes. The
application executes a set number of actions (`n_action_steps`), then uses
fresh observations to plan again.

Try it below: start a mission, drop a cube, and watch how the arm recovers.
Change how often it looks to see how that affects its response.

Your mission

“”

/

Drop the cube

plans /  movesScripted illustration

<fieldset>
  <legend>1. Choose a mission</legend>
  Sort all four cubes

  Or move one cube
</fieldset>

<fieldset><legend>2. Look again after</legend></fieldset>

3. Run your mission

Reset with a new layout

32 predicted moves ·  executed before looking again · Animation slowed

<details><summary>Inside the plan: inspect cameras and joint movements</summary></details>

This scripted demo illustrates the control loop, cameras, and predicted
frames. The videos above show FLUX 3 Action running.

* Weights: [FLUX 3 Action collection](https://huggingface.co/collections/black-forest-labs/flux-3-action)
* Code and training recipe: [black-forest-labs/flux-action](https://github.com/black-forest-labs/flux-action)
* LeRobot integration: [LeRobot FLUX 3 integration](https://huggingface.co/docs/lerobot/main/en/flux3)
* License: [FLUX Kommunity License](https://huggingface.co/black-forest-labs/flux-3-action-droid/blob/main/LICENSE.md)

## What it runs on

An embodiment is the system being controlled: its cameras, its available
controls, and the values used to describe its current state.

| Embodiment | Cameras | Action | State |
| - | - | - | - |
| DROID (Franka arm) | 3, composited to a 736×544 canvas | 8: seven joint positions plus gripper | same 8 values |
| SO-101 (LeRobot) | 2 side by side, 512×256 | 6 joint commands | 6 joint positions |
| Video game | 1 frame, 256×256 → 512×512 canvas | 3 or 4 values in \[-1, 1] | the last action |
| Drone (Isaac Sim) | 1 onboard frame, 256×256 → 512×512 canvas | `[forward, lateral, up, yaw]` | the last action |

Dimensions above are width × height; JSON `canvas_hw` uses height, width.

DROID and SO-101 have prepared checkpoints. The game and drone examples
fine-tune the shared model with new input and output layers for their
controls, using recorded demonstrations.

> [card] [Run the model](https://docs.bfl.ml/flux_3/flux3_action_inference.md)
>
> Get your first action prediction, then connect the model to a control loop.

> [card] [Fine-tune](https://docs.bfl.ml/flux_3/flux3_action_finetuning.md)
>
> Teach the model new controls and tasks with your own demonstrations.

> [card] [SO-101 with LeRobot](https://docs.bfl.ml/flux_3/flux3_action_so101.md)
>
> Train your SO-101 arm for a new task using LeRobot and a LoRA.

> [card] [Example: a video game](https://docs.bfl.ml/flux_3/flux3_action_games.md)
>
> Train on a scripted bot’s demonstrations, then test the model in a shooter and a racing game.

> [card] [Example: a drone](https://docs.bfl.ml/flux_3/flux3_action_drone.md)
>
> Train a drone to follow flight instructions, then test it in new simulated rooms.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.