Skip to main content
POST
/
recording
/
start
Start Recording Episode
curl --request POST \
  --url https://api.example.com/recording/start \
  --header 'Content-Type: application/json' \
  --data '
{
  "add_metadata": {
    "bbox_position": [
      0.5,
      1,
      0,
      0.5
    ]
  },
  "branch_path": "<string>",
  "cameras_ids_to_record": [
    0,
    1
  ],
  "dataset_name": "example_dataset",
  "enable_rerun_visualization": false,
  "episode_format": "lerobot_v2.1",
  "freq": 30,
  "instruction": "Pick up the orange brick and put it in the black box.",
  "leader_arm_ids": [
    "/dev/ttyUSB0"
  ],
  "robot_serials_to_ignore": [
    "/dev/ttyUSB0"
  ],
  "save_cartesian": false,
  "target_video_size": [
    320,
    240
  ],
  "video_codec": "avc1"
}
'
{
  "message": "<string>",
  "status": "ok"
}

Body

application/json

Request to start the recording of an episode.

add_metadata
Add Metadata · object

Passing a dictionnary will store the value in each row of the recorded dataset. The key is the name of the column, and the value is a list. If set to None, no additional metadata is saved.

Example:
{ "bbox_position": [0.5, 1, 0, 0.5] }
branch_path
string | null

Path to the branch to push the dataset to, in addition to the main branch. If set to None, only push to the main branch. Defaults to None.

cameras_ids_to_record
integer[] | null

List of camera ids to record. If set to None, records all available cameras.

Example:
[0, 1]
dataset_name
string | null

Name of the dataset to save the episode in.If None, defaults to the value set in Admin Configuration.

Example:

"example_dataset"

enable_rerun_visualization
boolean
default:false

Enable rerun

episode_format
enum<string> | null

Format to save the episode. json is compatible with OpenVLA and stores videos as a series of npy. lerobot_v2 is compatible with lerobot training..If None, defaults to the value set in Admin Configuration.

Available options:
json,
lerobot_v2,
lerobot_v2.1
Example:

"lerobot_v2.1"

freq
integer | null

Records steps of the robot at this frequency.If None, defaults to the value set in Admin Configuration.

Example:

30

instruction
string | null

A text describing the recorded task. If set to None, defaults to the value set in Admin Configuration.

Example:

"Pick up the orange brick and put it in the black box."

leader_arm_ids
string[] | null

Serial numbers of the leader arms used during the recording

Example:
["/dev/ttyUSB0"]
robot_serials_to_ignore
string[] | null

List of robot serial ids to ignore. If set to None, records all available robots.

Example:
["/dev/ttyUSB0"]
save_cartesian
boolean
default:false

Record cartesian positions of the robots as well, this will make your dataset incompatible with lerobot and it only works for robots with simulators. Defaults to False.

target_video_size
Target Video Size · object

Target video size for the recording, all videos in the dataset should have the same size. If set to None, defaults to the value set in Admin Configuration.

Example:
[320, 240]
video_codec
enum<string> | null

Codec to use for the video saving.If None, defaults to the value set in Admin Configuration.

Available options:
avc1,
hev1,
mp4v,
hvc1,
avc3,
av01,
vp09,
av1
Example:

"avc1"

Response

Successful Response

Default response. May contain other fields.

message
string | null
status
enum<string>
default:ok
Available options:
ok,
error