EmbodiFlowDocs
Open console
Get startedDataWorkflows and algorithmsTraining and deploymentDeveloper reference
  • Data

Bring data in

  • Projects
  • Upload recordings
  • Collection orders

Review

  • Playback and visualization
  • Episodes and annotation
  • Quality checks

Datasets

  • Dataset versions
  • Export and download

© 2026 EmbodiFlow

llms.txtOpenAPI JSON
  1. Data
  2. Review
  3. Episodes and annotation

Episodes and annotation

Find, review and label the episodes cut from your recordings, so the right ones go into a dataset version.

Episodes are what you train on. Each one is a single attempt at a task: a start, an end, a task description and the quality checks that ran on it. This page shows how episodes come about, how to review what the AI proposed, and how to label episodes at scale.

Where episodes come from

A robot recording becomes exactly one episode that spans the whole recording. Nothing is cut automatically, so record one attempt per take if you want one episode per attempt.

A human first-person recording is usually long, so the workflow asks a vision-language model to propose where each episode starts and ends and to write a task description for it. These are suggestions, not facts. Until someone reviews them they are marked as AI proposals: the recording shows AI-proposed, not reviewed, and the episode history reads AI proposal · Not reviewed. Expect useful but imprecise boundaries and wording, and plan a quick review pass.

Review AI proposals

The fastest place to review is the recording itself. Open it from Recordings and scroll to its episode list: you can sort by time or by confidence, play each proposal, then choose Accept or Reject. If a boundary is off, move the playhead and use Start at playhead or End at playhead, or drag the ends of the episode on the timeline. Split at playhead, Merge with next and Add episode fix proposals that cut in the wrong places, and Edit text corrects the task description.

Accepting marks an episode as reviewed and brings it back if it was excluded by hand. Reviewed episodes matter when a dataset version uses only approved labels.

The episodes grid

Under your project in the sidebar, choose Episodes. Each card shows a thumbnail, the duration, the task, the recording it came from, the quality verdict and the camera count. Choose Preview to watch an episode without leaving the grid.

Use the bar above the grid to narrow things down. Search task matches the task text. Verdict, Outcome, Split and Label state filter by quality result, success or failure, train/validation/test split and review state. More filters adds duration, frame rate, camera count, idle share, recording, tag and upload date. Save a filter you use often with Saved views, and switch between cards and a table with the two buttons on the right.

Act on many episodes at once

Tick episodes to select them, hold Shift to select a range, or choose Select all matching to take everything the filters match. The selection bar then offers Accept, Set task, Set outcome and Create job. Choose Create version at the top right to build a dataset version from the selection.

Bulk actions turn off when more than 50,000 episodes match. Narrow the filters first.

The episode workspace

Choose Annotate on a card to open the episode workspace. All cameras play in sync in the middle, with the episode timeline and the playback controls below them. On the right you set the Task and Outcome, apply Skills with a click or a number key, and write a Comment, or pin one to the current moment with Comment at playhead.

Changes save as you go; the status next to the controls reads Saved when they are stored. History at the bottom lists every revision with its source, such as an AI proposal or a human edit, so you can always tell what a person has checked. Copy time copies a link that opens the episode at the current moment, which is handy when you want a teammate to look at something.

Annotation jobs

When a batch of episodes needs labeling by several people, turn it into a job. Select the episodes and choose Create job, give the job a Name, pick a Distribution and tick the Assignees. Even splits the items across the labelers; Queue lets each labeler take the next item with Claim next item. A segmentation job works the same way, but starts from recordings on Recordings.

Jobs are listed under Annotation in the project. Labelers find their items in My work, move through them with Previous and Next, and choose Complete when an item is done. Reviewers then Approve it or Send back with a comment, and the job shows how many items are approved.

Search across projects

To find something quickly anywhere in your team, use Search at the top of the sidebar (⌘K). It finds projects, recordings, episodes, versions, workflows and more by name.

For searching data across projects, there is also the Catalog. It has no sidebar entry: open Training, choose the More actions menu and then Open Catalog. Filter by data source, quality status, signal kind and source type, select a result to inspect it, and save the matching rows as a view. If some recordings were processed before search indexing existed, a team Owner or Admin can choose Build search index to add them. Semantic search, where you describe the data in a sentence, depends on your installation; when it is not available the page says so and the filters still work.

Next

  • Check the quality of your episodes
  • Freeze episodes into a dataset version
  • Play back a recording
Previous

Playback and visualization

Next

Quality checks