Figure AI’s Helix is one of the few humanoid vision-language-action (VLA) systems whose architecture has been described in some detail. The catch is that it has kept changing. Since the first announcement in February 2025, Figure has published a logistics scale-up, a whole-body version called Helix 02 and a new pretraining approach in Helix 2.5, so the same name now points to different systems depending on which post you read. This article walks through the four official announcements in order, records what each version added, and works out how the control rates of the layers relate to one another.
The general mechanics of turning images and instructions into joint commands are covered in how VLA models work. Here the focus is on what is specific to Helix.
The starting point: why split understanding from acting
According to the original Helix post, Helix consists of two networks:
- System 2 (S2) is a 7B-parameter open-weight VLM pretrained on internet-scale data. It runs at 7–9 Hz, interprets the scene and the language instruction, and produces a latent vector.
- System 1 (S1) is an 80M-parameter cross-attention encoder-decoder transformer. It takes the S2 latent plus the latest observations and outputs continuous actions at 200 Hz.
The reason for the split is that a large language model cannot run fast. Running a 7B model at 200 Hz is beyond the embedded GPUs a humanoid carries, but the decision about what to do only needs to change a few times per second. Fine finger and wrist trajectories, on the other hand, must be refreshed constantly. Figure runs the two networks on two low-power embedded GPUs inside the robot, one each, with no off-board server.
The first Helix controlled a 35-DoF upper body: fingers, end-effector trajectories, head gaze and torso posture. It was trained on roughly 500 hours of teleoperated behavior from multiple robots and operators, and language labels were generated after the fact by a VLM that watched each clip and answered what instruction would have produced it (Figure Helix post).
Working out how the layers relate
The simplest way to understand a layered controller is to count how many times the fast layer runs while the slow layer updates once. With S2 at rate and S1 at rate , the number of S1 steps per S2 update is:
Plugging in the values from the original Helix post (, ) gives roughly 22 to 29 S1 actions for every S2 update. In other words, S1 has to keep refining motion from fresh observations for more than a tenth of a second while holding the same latent goal, which is why S1 receives its own visual input.
Helix 02 adds another layer underneath. Using the 1 kHz System 0 rate and the 200 Hz System 1 rate from the Helix 02 post, System 0 runs five times for every System 1 command.
| Layer | Rate | Parameters | Inputs | Outputs | First appeared |
|---|---|---|---|---|---|
| System 2 | 7–9 Hz | 7B | Camera images, language instruction | Latent goal vector | Helix (Feb 2025) |
| System 1 | 200 Hz | 80M (original post) | S2 latent, cameras, proprioception | Joint targets (upper body first, whole body from 02) | Helix (Feb 2025) |
| System 0 | 1 kHz | 10M | Whole-body joint state, base motion | Joint-level actuator commands | Helix 02 (Jan 2026) |
Sources: Helix, Helix 02. Figure did not restate the S1 parameter count for Helix 02.
What the logistics scale-up showed about data
The June 2025 logistics post is less about architecture and more about how data volume and inputs shape performance. In a task where the robot picks parcels from a conveyor and places them with the barcode facing the scanner, Figure trained on about 10, 20, 40 and 60 hours of demonstrations.
| Metric | Before | After | Condition |
|---|---|---|---|
| Handling time per parcel | ~6.84 s | 4.31 s | 10 h → 60 h of training data |
| Barcode-orientation success | 88.2% | 94.4% | 10 h → 60 h of training data |
| Handling time per parcel (final) | ~5.0 s | 4.05 s | Including a 50% larger decoder head |
Source: Scaling Helix post. The same post reports two final handling times, 4.31 s and 4.05 s; the first comes from the 60-hour training chart and the second from the text after further changes.
Three modules were added to the S1 input in this release: a short-term visual memory built from recent frames, a state history of past hand, torso and head states, and force feedback as a stand-in for touch. Figure reports that the memory module alone cut about half a second from each cycle, and the authors describe 60 hours as still a low-data regime.
Helix 02: one system for walking and manipulation
The headline change in Helix 02 is whole-body control. Where the first Helix handled only the upper body, Helix 02’s S1 takes head cameras, palm cameras, fingertip tactile sensors and full-body proprioception, and outputs whole-body joint targets. The palm cameras and fingertip sensors are new Figure 03 hardware, and the fingertip sensors are said to detect forces as small as three grams.
The new System 0 handles balance, contact and whole-body coordination. Figure describes its training in three steps:
- Retarget more than 1,000 hours of human motion data onto the robot’s joints.
- Train in more than 200,000 parallel simulated environments with domain randomization.
- Transfer the resulting policy to real robots.
Those figures come from the Helix 02 post. The problems that arise when moving a simulation-trained policy to hardware, and what domain randomization does about them, are covered in closing the sim-to-real gap.
The published demo is a four-minute continuous task: walk to a dishwasher, unload it, cross the room, stack items in cabinets, then load and start the dishwasher. Figure says this involved 61 locomotion and manipulation actions with no resets or human intervention, and shows the robot closing a drawer with its hip and lifting the dishwasher door with its foot when its hands were full.
Helix 2.5: changing where pretraining comes from
Helix 2.5 changes the pretraining recipe more than the architecture. Up to Helix 02, the stack started from a pretrained VLM. Helix 2.5 was pretrained from random initialization entirely on Index, Figure’s human-behavior dataset.
Evaluation used three tasks (living-room tidying, towel folding and bed making) in 30 homes where no data had been collected, and only full task completion counted as success. Under the same task data, architecture and training, zero-shot success was 9% without Index pretraining and 56% with it (Helix 2.5 post). Per-task success rates for Helix 2.5 itself were not published.
The four announcements side by side
| Announcement | Control scope | What was added | Main published metrics |
|---|---|---|---|
| Helix (Feb 2025) | 35-DoF upper body | S2 (7B) + S1 (80M) split, fully onboard | ~500 h teleoperation data, two-robot demo |
| Scaling Helix (Jun 2025) | Upper body (logistics) | Visual memory, state history, force feedback | Handling time, barcode-orientation success |
| Helix 02 (Jan 2026) | Whole body | 1 kHz System 0, palm camera and tactile inputs | 4-minute continuous task, 61 actions |
| Helix 2.5 (Sep 2026) | Whole body | Pretraining from scratch on Index | 30-home zero-shot, 9% vs 56% with pretraining |
Sources: Helix, Scaling Helix, Helix 02, Helix 2.5.
How to read the numbers
Every Helix figure above comes from Figure itself, and no outside replication under the same conditions could be found as of the verification date. When citing them, it is safer to record three things:
- Which version: values such as 35 DoF and the original layer split describe the first Helix; the scope changed from Helix 02 onward.
- Which task: handling time and barcode-orientation success apply only to parcel sorting.
- Which baseline: the Helix 2.5 post compares 9% and 56% between two Figure models, not against another company’s system.
To place Figure’s hardware next to other humanoid platforms, see the humanoid platform comparison.