Long-horizon tasks

Long-Horizon Egocentric Task Data Collection

A policy that has to chain many sub-steps toward one outcome cannot learn that chaining from short, isolated clips. We capture long-horizon egocentric task data on demand: custom first-person video of people completing long, multi-step tasks end to end, written into a skill spec, split into episodes and ordered action segments, with hand pose, contact events and synchronized depth and IMU, QA-checked, anonymized and delivered under a buyer-owned license.
Core unit
A full multi-step attempt as one episode
Structure
Ordered action segments inside each episode
First batch
Median 48 h in deep-coverage settings
License
Perpetual, non-exclusive, buyer-owned
A contributor wearing a head-mounted capture rig performs a manual task, beside a graphic of synchronized hand-pose, depth, and action-segment annotation layers.
A long task is only usable if its sub-steps, their order and their boundaries are explicit in the delivered data.

Requirements

What does a long task need that a short clip does not?

01

The whole job, not a fragment of it

A long-horizon task is a chain of sub-steps toward one outcome. The data has to hold the full attempt, start to finish, as a single episode, so a policy sees how each step hands off to the next rather than a set of unrelated moments.

02

Explicit sub-step boundaries

Where one sub-step ends and the next begins is rarely obvious from raw video. Action segments carry start and end timestamps for each sub-step, so the structure is in the labels instead of left for a model to guess.

03

Hand pose and contact that stay consistent

Over a long task the hands move through many grasps and releases. 3D hand pose with a per-joint visibility flag and contact events have to stay accurate across all of it, not just one motion.

04

Sync and calibration that hold for the whole attempt

A longer episode asks more of the streams: they have to stay on one clock and calibrated across the full window, which is why every episode is checked against the same acceptance gate before it ships.

Definition

What is long-horizon egocentric task data?

Long-horizon egocentric task data is first-person video of a person completing a job that takes several chained sub-steps, recorded from their own point of view with synchronized sensor streams alongside. "Make coffee," "assemble a kit" and "restock a shelf" are the kind of task: each is a sequence of sub-steps in which one has to finish, often with a specific outcome, before the next can begin.

The distinction is structure rather than duration. A long clip that repeats one motion is still short-horizon in structure. A long-horizon episode has internal sequence, and it is only useful for training if that sequence is visible in the labels: which sub-steps happened, in what order, and where each one starts and ends. This page covers buying a custom collection of these demonstrations; the guide linked below explains why pretraining needs them.

Why it helps

Why train robots on long, multi-step first-person demonstrations?

A policy that must complete a whole job has to learn more than each sub-step in isolation. It has to learn the order of the steps, what a finished sub-step looks like, and when to move on. Short clips of single motions cannot teach that, because the hand-off between steps is exactly what they cut away. A full end-to-end demonstration keeps the hand-offs in the data, and the first-person view keeps the hands and the object in frame across every step.

We do not capture robot or teleoperation data, and nothing on this page claims a particular training outcome. The tradeoff to plan for is the embodiment gap between a human hand and a robot end-effector, which retargeting or pairing with robot data has to close. What a buyer gets is human first-person demonstrations in which the multi-step structure is explicit and consistent.

Skill spec

How are long-horizon tasks and sub-steps specified in the skill spec?

A long-horizon collection starts the way every custom collection does: you describe the task your pipeline needs covered, and that becomes a written skill spec. For a long task the spec does more of the work. It names the task, its sub-steps, the order they happen in, which of those are strictly sequential and which can swap, the setting, the object set, and where an episode starts and ends.

The spec also sets the capture tier, annotation depth and the accept criteria, and states how much failure and recovery coverage to include alongside clean completions. It is quoted for reach, timeline and price before any capture begins, and the accept criteria are signed into it, so acceptance is measured against what was agreed rather than judged afterwards.

Because the task is long, the episode boundary is itself a spec decision: defining what counts as a start, an end and a completed attempt up front keeps every batch comparable. The skill spec guide linked below walks through how to write one.

Capture

How are long tasks captured?

Paid, consented contributors perform the real task against the spec while wearing the capture rig. The instrumented tier is a head-mounted stereo rig: first-person RGB, with a metric depth stream recovered from the calibrated stereo rig rather than from a standalone depth sensor, and 6-DoF IMU data at 200 Hz from head- and wrist-mounted sensors.

Every stream is hardware-triggered onto one PTP clock domain, with int64 nanosecond timestamps per stream, so depth, motion and hand pose are aligned to the same video frame rather than approximated afterwards. The rig is calibrated before capture and again after the session ends, and the head, wrist and depth transforms are solved each time.

A full attempt is captured as one episode, in the settings this site already lists on its industry and environment pages. Collection is on demand: you do not need a standing program, and a focused brief is a normal starting point.

Segmentation

How are long demonstrations segmented into episodes and action segments?

Captured footage is broken into the same structure used across every collection on this site. An episode groups one full attempt of the task from start to finish. Inside it, action segments divide the task into start- and end-timestamped spans, one per sub-step, rather than attaching one tag to the whole clip. In the episode schema each segment carries start_ns, end_ns, verb and noun.

Step order is therefore in the data itself: the sequence of segments inside the episode reflects the order named in the spec, so a training pipeline can learn the individual steps and the transitions between them. The labels sit alongside the other annotation fields every episode ships with, namely hand_joints and hand_visible for 3D hand pose across the whole sequence, contact_events for the moment of hand-object interaction, and objects.

None of these are extra fields specific to long-horizon capture; they are the standard episode schema fields. A long-horizon episode simply asks more of them: more segment boundaries to hold accurate, and a longer window over which pose and contact labels stay consistent.

Variation

How do retries, failures and recoveries appear in a long task?

In a long task a grasp can slip, an object can drop, or a step can need repeating, and a policy trained only on clean runs has no model of what to do next. Failure and recovery cases are part of the same labeled structure as a clean attempt, and a written spec can require them in the batch. Our failure and recovery page covers this in more depth.

QA

How is long-horizon data QA’d and accepted?

Acceptance is measured against signed accept criteria written into the spec before capture begins. Each batch goes through per-batch QA, and a reject log ships with every batch. An episode is accepted only if RMS reprojection stays under 0.28 px and the drift is within tolerance; otherwise it goes to the reject log.

Only footage that clears the criteria is billed as a validated hour, and rejected items are recaptured at our cost. Many teams start with a Spec Pilot: a small, fast first batch that proves the spec and the accept criteria before you scale volume.

Licence and delivery

How is it licensed and delivered?

The buyer owns it. Every custom collection is delivered under a perpetual, non-exclusive commercial license by default, with exclusivity available, so the dataset can be trained on and productized without a research-only or unstated arrangement. Every episode is linked to a signed contributor release under a documented consent chain, and faces and screens in frame are detected and irreversibly blurred at ingest, with a reviewer confirming the result before anything ships. Clips that cannot be de-identified are discarded rather than delivered.

Delivery is in the format your stack already reads: RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd, or raw streams with metadata. Episode and sub-step structure is carried in the action-segment and episode fields rather than a separate schema, and readable converter source ships alongside the data so the schema can be retargeted to your own loader.

Getting started

How do you start a custom long-horizon data collection?

Describe the task, its sub-steps and their order, the setting, and the failure or variation cases your pipeline is missing. That becomes a written skill spec, quoted for reach, timeline and price before capture begins, and most programs run a Spec Pilot first.

From signed spec to first validated batch, the timeline is a median of 48 hours where coverage is deep and three to four weeks where it is thin and contributors need to be recruited first. After the first batch, on-demand top-ups run against the same accept criteria, so you can add more attempts or more variation without rewriting the spec.

At a glance

What you get.

Starting point
Written skill spec naming the task, its sub-steps and their order
Unit of delivery
One episode per full attempt, with ordered action segments
Capture
Head-mounted stereo rig, depth from the calibrated stereo rig, IMU
Labels
3D hand pose · per-joint visibility �� contact events · action segments
QA
Per-batch QA; accepted only under the 0.28 px RMS reprojection gate
Privacy
Faces and screens blurred at ingest; undeidentifiable clips discarded
License
Perpetual, non-exclusive, buyer-owned by default
Formats
RLDS, LeRobot, WebDataset, HDF5/zarr, Rerun RRD

Every collection runs through the same seven-stage end-to-end custom collection pipeline. End-to-end custom data collection is a managed service that takes an AI data need from problem to owned dataset in a single accountable pipeline.

Task structure

Task structure element × how it is captured or labeled × format field

How the structure of a long, multi-step task is represented in the delivered episode. Fields are from the episode schema and delivery format pages.
Task structure elementHow it is captured or labeledFormat field
Full task attemptOne episode groups the whole attempt from start to finishmeta.json: episode_id, skill_id, duration_ns; RLDS is_terminal
Sub-stepAction segment with start and end timestampsannotations/action_segments (start_ns, end_ns, verb, noun)
Step orderSequence of action segments inside the episode, as the spec names itannotations/action_segments
Hand activity across the task3D hand pose per hand, with a per-joint visibility flag for occluded fingersannotations/hand_joints (21 joints per hand), hand_visible
Hand-object interactionContact and grasp events marking the moment of interactionannotations/contact_events
Objects in playObject set named in the skill spec and annotatedannotations/objects; instance_masks when the spec calls for them
Depth and motion contextDepth from the calibrated stereo rig; IMU from head and wrist sensorsstreams/depth_mm, depth_conf, imu_head, imu_wrist_l/r
Cross-stream alignmentHardware-triggered onto one PTP clock, per-stream timestamps*_timestamp_ns (int64, PTP domain)
Calibration and acceptanceCalibrated before and after the session; accepted only under the 0.28 px RMS gatecalibration/rms_reproj_px; calib_drift_mm; meta.json reject_flags
Which task and whereSkill and site recorded per episodemeta.json: skill_id, site_id, participant_id

Skill spec

Skill spec element × what it names × why it matters for a long task

What a long-horizon skill spec states before capture begins.
Skill spec elementWhat it namesWhy it matters for a long task
Task and sub-stepsThe job and its list of named sub-stepsGives every action segment a consistent definition
Step orderWhich sub-steps are strictly sequential and which can swapMakes order a labeled property, not an assumption
Episode boundariesWhat counts as a start, an end and a completed attemptKeeps attempts comparable across contributors and batches
Setting and objectsWhere the task is done and which objects it usesScopes the batch inside the settings the site lists
Failure coverageWhich failure and recovery cases the batch must includePuts retries and recoveries in the data on purpose
Capture tier and annotation depthWhich streams and labels are requiredSets what the policy can consume directly
Accept criteria and formatSigned acceptance rules and delivery formatFixes what counts as a validated hour and how it loads

Which page

This page vs. neighboring pages on this site

How this commercial long-horizon page differs from related pages. Each links to its own detail.
PageMain focusWhat you get from it
Long-horizon egocentric task data collection (this page)Buying custom, multi-step, end-to-end first-person demonstrationsA specced collection delivered as episodes with ordered action segments
Long-horizon task data for robot pretraining (guide)What long-horizon data is and why pretraining needs itAn explainer on action segments, episodes and skill specs
Procedural task video data collectionTasks done in a fixed or partly fixed order of stepsStep order, step boundaries and variation labeled per procedure
Egocentric workplace task dataReal on-the-job tasks across workplace settingsFirst-person video of work in the settings that page lists
Household robot pretraining dataPretraining-scale capture across homes, rooms, objects and peopleBreadth across households rather than one long task
Egocentric imitation learning dataDemonstrations for imitation-learning policiesSpecced demonstrations with hand pose, action labels and failure cases
Failure and recovery demonstration dataDrops, slips and re-graspsHard moments kept and labeled to a written spec

FAQ

Long-horizon egocentric task data, answered.

What is long-horizon egocentric task data?
First-person video and synchronized sensor data of a person completing a long, multi-step task end to end, delivered as episodes divided into ordered, timestamped action segments, with 3D hand pose and contact events.
How is this different from procedural task video data?
The procedural page covers tasks done in a fixed or partly fixed order of steps. This page is about buying custom end-to-end multi-step demonstrations, whether or not the task follows a fixed procedure.
How is it different from the long-horizon task data guide?
The guide explains why pretraining needs long-horizon data. This page describes the commercial service: specifying, capturing, QA-checking and delivering a custom collection.
How are sub-steps and episode boundaries defined?
In the written skill spec, before capture. It names the sub-steps, their order, and what counts as a start, an end and a completed attempt; those definitions carry into the episode and action-segment labels.
Do you capture robot or teleoperation data?
No. Firsthand captures first-person human demonstrations. Using them for a specific robot means bridging the embodiment gap, for example by retargeting or pairing with robot data.
How are failures and retries in a long task handled?
They are part of the same labeled structure as a clean attempt. A written spec can require failure and recovery cases in a batch, and a recovery is labeled as its own action segment inside the episode.
How fast can a first batch arrive, and who owns the data?
A median of a median of 48 hours from signed spec to first validated batch where coverage is deep, and three to four weeks where it is thin. The buyer owns the delivered data under a perpetual, non-exclusive commercial license by default, with exclusivity available.
Which formats does it ship in?
RLDS, LeRobot, WebDataset, HDF5, zarr and Rerun .rrd, or raw streams with metadata, with readable converter source included so the schema can be retargeted to your own loader.

Sources

Where are these delivery formats documented?

Need custom long-horizon task data?

Tell us the task, its sub-steps and their order, and the failure cases your pipeline needs covered. We will turn it into a written skill spec and run a Spec Pilot before scaling to a full collection.