Curatrix
Start here

Data formats

Formats are chosen so a robotics team can read a release with tools it already has, without a proprietary runtime.

MP4 — video

H.264 in MP4, constant frame rate, one file per sensor stream per episode. Streams within an episode share a clock, so a timestamp in the annotations refers to the same instant in every stream.

Parquet — episodes and annotations

Columnar Parquet for every tabular file: episodes, annotations and provenance. Readable with pyarrow, pandas, polars, DuckDB or Spark without depending on us.

JSON — manifests, calibration, provenance

The manifest, per-episode calibration and licensing metadata are plain JSON against a published schema. Provenance is available both as JSON per episode and as a Parquet table for the whole release.

calibration/ep_000123.json (excerpt)
{
  "episode_id": "ep_000123",
  "streams": {
    "head": {
      "model": "gopro-head",
      "resolution": [1920, 1080],
      "fps": 30,
      "intrinsics": {"fx": 1142.8, "fy": 1141.3, "cx": 959.5, "cy": 539.5},
      "distortion": {"model": "fisheye", "k": [-0.041, 0.008, -0.002, 0.0]},
      "mount": {"position": "head", "pitch_deg": -12.0}
    }
  }
}

MCAP — synchronized sensor streams

Where a capture involves more than video — force, torque or IMU channels on instrumented setups — the synchronized streams are delivered as MCAP alongside the MP4 files. MCAP is present only in datasets whose manifest lists it.

Python loaders

Custom collection programs ship with a loader written against your training pipeline: your batch shape, your label mapping, your augmentation hooks. It is delivered as source, not as a binary.

Planned exports

LeRobot-compatible and ROS-compatible exports are planned and not available today. They are in no current release, and no delivery date is committed.

Next step

Start with a scoped pilot

Bring a task. On the call we scope the capture protocol, the episode volume, the annotation schema and the delivery format.

Pilots typically start from approximately €25,000. This is an indicative figure only—final scope and pricing are set after a technical qualification call.