Build the worlds your model trains in.

Physicl is the platform physical AI teams generate their training data on. Describe a scene, vary it millions of ways, and get the ground truth with every frame.

Studio, our first app, is in private beta
Segmentation
Normals
Depth
Physicl Studio · warehouse DC-04 · drone run 017 · 342 frames at 24 fps
Working with teams building physical AI
Mistral AI TUM AWS SpAItial Stanford Microsoft Epic Games Adobe NVIDIA Meta Unity World Labs

More footage is not
what is missing.

Recorded · one office floor · 5 seconds at 24 fps

0 frames, and still nothing attached.

An hour of this is 86,400 frames, and not one of them carries depth, normals or an instance ID. Another hour of the same floor adds no new situations either.

Studio · private beta

Introducing
Physicl Studio.
The end of the fixed dataset.

Studio finds the scene your model has never seen, varies it on the axis you choose, and writes the ground truth onto every frame it renders.

10k+scenes to start from
100k+objects to place
Our warehouse robot learned one aisle. It stalls as soon as the racking is restocked.
Searching 10k+ scenes · 100k+ objects
Then vary the aisle, not the building. Same racking, pallets in other places, light from midday through to night, labelled on the way out.
Which ground truth do you want on every frame?
Depth metres, EXR Surface normals RGB Segmentation + instance IDs Camera pose per frame 2D boxes + classes
480 runs of this aisle. Move the pallets, change the density, take the light through the day.
480 runs · 4.0 hours · 14.2 GB
cam 011080p · 24 fps
Rendered frame of a warehouse aisle, blue and orange pallet racking with boxes
Frame
Depth pass of the same aisle, near surfaces bright and far surfaces dark
Depth
Surface normals pass of the same aisle, each surface coloured by the direction it faces
Normals
Instance segmentation of the same aisle, every object filled with one flat colour
Instances
The same aisle with a 2D box and a class name drawn on every object
Boxes
Rendering 480 clips0 / 480Layout
One scene, every version of it

One scene,
millions of versions.
You choose what changes.

Each row moves one thing on the same scene: the camera, the layout or the light. Everything else stays where it was, so two runs can be compared directly.

Camera
orbit, 0 degorbit, 0 deg
robot height, 45 cm
egocentric, head mounted camera at 1.6 megocentric, 1.6 m
orbit, 120 degorbit, 120 deg
crane, startcrane, start
crane, 2.2 m
lateral tracklateral track
24 mm, wide24 mm, wide
Layout
desks rotateddesks rotated
pods in the walkwaypods in the walkway
corridor obstructed
pallet, ladder, trolleypallet, ladder, trolley
dense benchingdense benching
planting between banksplanting between banks
floor stripped back
desks to the wallsdesks to the walls
Light
middaymidday
late afternoonlate afternoon
golden, raking
goldengolden
blue hourblue hour
dusk, lamps ondusk, lamps on
night, ceiling only
overcastovercast
Output
beautybeauty
depth, metres
depth, close rangedepth, close range
surface normalssurface normals
segmentation
instance IDsinstance IDs
camera posecamera pose
all layers, stackedall layers, stacked
Who it is for

Built for the teams teaching machines the physical world.

Robot learning

I train robot policies.

I need the shelf restocked, the light changed and the clutter moved before my robot meets it for real.

  • Robot Learning Engineer
  • Research Scientist, Manipulation
  • Embodied AI Engineer
→ variations of one scene
JLPerception

I build vision models.

I need depth, normals and instance masks that are exact, without an annotation queue.

  • Perception Engineer
  • Computer Vision Researcher
  • 3D Vision Engineer
→ ground truth on every frame
World models

I train world models.

I need varied, physically consistent video, with the camera known on every frame.

  • World Model Researcher
  • Research Scientist, Video Generation
  • Simulation Engineer
→ hours of footage per run
MKEvaluation

I test models before they ship.

I need scenes my model has never seen, and to rerun the same ones on every checkpoint.

  • ML Evaluation Engineer
  • Benchmark Lead
  • Robotics Test Engineer
→ a repeatable benchmark
From the render

Measured,
not estimated.

Nothing here was labelled by hand. The scene exists before the frame does, so depth, normals and material indices come out of the geometry with it.

01BeautyThe frame your model sees. Up to 4K, 24 fps.
02DepthMetres, EXR, per pixel. Read off the geometry.
03Surface normalsCamera space, one direction per pixel. EXR, or RGB-encoded PNG.
04Material indexOne index per pixel, so you can supervise surface by surface.
05Instances and boxesOne ID per object, stable across the run. 2D and 3D boxes, pose, visibility.
A kitchen rendered by Physicl Studio, marble island, wooden cabinets and three pendant lampsBeauty
Depth map of the same kitchen, near surfaces light and far surfaces darkDepth
Surface normal map of the same kitchen, each surface coloured by the direction it facesNormals
Material index of the same kitchen, every material filled with one flat colourMaterials
One run

What lands
in your bucket.

One run out of a batch of 480, as it arrives. Every file was written by the render.

run 042 of 48030 s · 24 fps · 720 frames
run_042/
frames/720 × png, 1920×1080, sRGB
shading/720 × png + exr, albedo, attenuation, trimap
depth/720 × exr, metres, 32 bit float
+ relative and colour-mapped png, fixed range across the run
normals/720 × exr, camera space, signed vectors
+ OpenGL, DirectX and OpenCV conventions, png or exr
+ world space on request
instances/720 × exr, one integer ID per annotated object, stable across the run
+ one colour per object, png
materials/720 × exr, one integer ID per material, stable across the run
+ one colour per material, png
uv/720 × png + exr, U and V per pixel, 32 bit float
annotations/720 × json, camera, 2D and 3D boxes, pose, visibility, per frame
+ boxes drawn on every frame, png
*.mp4one video per picture pass

Run it on your
own benchmark.

Studio is open to a small group of researchers and design partners.