Euler Docs
Robot logs in, training-ready datasets out
Euler is a data-readiness compiler for physical AI teams. Point it at raw robot or first-person recordings; it cuts them into episodes, annotates them across thirteen layers, measures every episode against the checks that apply to your data, lets you review the result on one synced screen, and seals a dataset with a readiness certificate and full lineage.
IngestMCAP, ROS 2 bags, Parquet with MP4, HDF5, loose video and images, and your own cloud bucket.
AnnotateThirteen layers, from captions and object outlines to hand pose, depth and a 3D scene.
Measure55 readiness checks, applied only where your data can physically carry them.
TrustReview every layer on one clip, read the certificate, export with receipts.
Start here
First dataset in ten minutesConnect a source, choose the pipeline settings, run, review, read the certificate and export, without help from anyone.Connecting sourcesUploads, local folders, S3 and GCS buckets, how long recordings become episodes, and moving a source between projects.Pipeline settingsWhich layers run, how, and what they cost per layer before you spend.Running the pipelineThe run confirmation, spend, stages and background jobs.ReviewOne clip with every layer painted on it, the 3D scene, depth, the camera’s sensor streams and the evidence behind every check.Readiness and certificateWhat each check means for training, how thresholds work and how review routing follows the certificate.Exports and sharingFormats, what ships in every export, and choosing what goes in.Limits and known gapsWhat the platform does not do yet, stated plainly.
What Euler is
Euler is not a generic labeling dashboard. It is a compiler for training data: the same input produces the same output, and every judgement it makes is attributable to evidence you can inspect.
- Content-addressed. Sources, inventories, quality reports and receipts are immutable records with a
content_hash. Lineage is the record of which hashes produced which artifact. - Applicability-gated. A recording is never scored on a contract its class of data cannot have. An egocentric clip has no commanded trajectory to complete; a drive log has no gripper events to be sane about. See data kinds.
- Measured, not claimed. Every check shows the value it measured and the threshold it was held to; every certificate row states where its numbers came from.
- Honest about gaps. Nothing unmeasured is reported as a zero or a pass. A check that could not apply, a stream that was not recorded and a metric with no reference behind it read as “not checked”, “not recorded” or “not assessable”, with the reason. See data utility.
- Your frames stay with us. Perception runs on self-hosted models; customer frames never go to an external labelling service.
Where to go next
- Driving Euler from code: API quickstart and API reference.
- Wiring an agent to Euler over MCP: MCP quickstart.
- Deciding whether a dataset is fit for a named training target: Data assessment.
- Selecting a training subset: Curation.
The hosted API is at https://api.euler.sudotank.com. The versioned contract is committed at openapi/euler.openapi.json.