Skip to content

Versions_GetMaterialization

GET
/v1/accounts/{account}/datasets/{dataset}/versions/{version}/materializations/{materialization}
curl --request GET \
--url https://junction-api.qualiastudios.dev/v1/accounts/example/datasets/example/versions/example/materializations/example \
--header 'X-API-Key: <X-API-Key>'

How far a tag’s rendering is. FAILED_PRECONDITION when it failed for good (the message says why).

account
required
string

The account id.

dataset
required
string

The dataset id.

version
required
string

The version id.

materialization
required
string

The materialization id.

OK

Media type application/json

A tag rendered as a LeRobot or MCAP ROS2 dataset, to download. The files stay in object storage: each artifact carries a short-lived signed URI to its immutable object, never the bytes. Rendering runs in the background: StartMaterialization begins it, and every later call, from anyone, finds the same rendering. A tag never moves, so the same tag rendered by the same renderer gives the same files, byte for byte.

The {materialization} id is the layout: lerobot-v3 (LeRobot v3.0), lerobot-v2-1 (LeRobot v2.1) or mcap-ros2 (one ROS 2 MCAP file per episode). head is not pinned, so it has none: tag it first.

Served by qds-api.

object
name

Accounts/{account}/datasets/{dataset}/versions/{version}/materializations/{materialization}. The version segment is the tag, also when the request named stable or a digest prefix.

string
state

How far the rendering is.

string format: enum
Allowed values: STATE_UNSPECIFIED NOT_STARTED RUNNING SUCCEEDED INTERRUPTED
digest

“b3:”, once SUCCEEDED: one hash over every artifact’s path and content, so two renderings with one digest are the same files.

string
artifactCount

Files in the rendered dataset, once SUCCEEDED.

string
episodeCount

Episodes in it, once SUCCEEDED.

string
frameCount

Frames in it, once SUCCEEDED.

string
renderer

“b3:”: the renderer revision this rendering is for. A new renderer starts over at NOT_STARTED.

string
Example
{
"state": "STATE_UNSPECIFIED"
}

Default error response

Media type application/json
One of:
API error

A refusal from the API itself.

object
code
required

The gRPC code name in upper case, e.g. NOT_FOUND.

string
message
required
string
retryable
required

Whether the same call may succeed if retried.

boolean
details
required

Empty, except when a dataset copy or move is refused: then one google.rpc.ErrorInfo with the refusal’s reason code, its domain and, in metadata, the datasets it names.

Array<object>
object
Example generated
{
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
]
}