Preview a version selection without writing
POST
/v1/projects/{projectId}/versions/previewscurl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/versions/previews' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{
"selection": {
"filter": {},
"savedViewId": "00000000-0000-0000-0000-000000000000",
"episodeIds": [
"00000000-0000-0000-0000-000000000000"
],
"selectionRunId": "00000000-0000-0000-0000-000000000000"
},
"name": "string",
"split": {
"strategy": "episode",
"ratios": {
"train": 0,
"val": 0,
"test": 0
},
"seed": 0
},
"labelPolicy": "current",
"includeFailing": true,
"includeIncomplete": true,
"preprocessing": {
"fps": 0,
"cameraKeys": [
"string"
],
"trimIdle": true,
"maxDurationS": 0,
"padMs": 0
},
"readmeMd": "string",
"licence": "string"
}'认证
每个请求都需要携带个人访问令牌(PAT)。
- Authorization: Bearer PAT
路径参数
- projectIdstring必填
请求体
Content-Typeapplication/json
- selectionobject必填
- filterobject
- savedViewIdstring (uuid)
- episodeIdsarray<string (uuid)>
- selectionRunIdstring (uuid)
The episodes a workflow run was asked about (an upload run: every episode of its recordings).
- namestring必填
- splitobject
- strategystring必填可选值episoderecordingcollectorstratified_taskmanual
- ratiosobject必填
- seednumber
- labelPolicystring可选值currentapproved_only
- includeFailingboolean
- includeIncompleteboolean
- preprocessingobject
- fpsnumber | null
- cameraKeysarray<string> | null
- trimIdleboolean
- maxDurationSnumber | null
- padMsnumber
- readmeMdstring | null
- licencestring | null
响应
Success
- dataobject必填
- episodeCountnumber必填
- unreviewedAiEpisodeCountnumber必填
- warningEpisodeCountnumber必填
- unfinishedEpisodeCountnumber必填
- trainCountnumber必填
- valCountnumber必填
- testCountnumber必填
- totalDurationNsnumber必填
- schemaGroupsarray<VersionDataContractGroup>必填
- featuresarray<ProjectVersionFeatureCoverageDto>必填
- excludedobject必填
- blockedarray<ProjectVersionBlockedEpisodeDto>必填
- warningsarray<string>必填
响应示例
{
"data": {
"episodeCount": 0,
"unreviewedAiEpisodeCount": 0,
"warningEpisodeCount": 0,
"unfinishedEpisodeCount": 0,
"trainCount": 0,
"valCount": 0,
"testCount": 0,
"totalDurationNs": 0,
"schemaGroups": [
{
"key": "string",
"dataContractDigest": "string",
"episodeCount": 0,
"schema": {
"fps": 0,
"cameraKeys": [
"string"
],
"features": {}
},
"cameraOrder": [
{
"key": "string",
"role": "string"
}
],
"sourceFormats": [
"string"
],
"actionSemantics": {
"space": "none",
"dimensionNames": [
"string"
],
"units": [
"string"
],
"coordinateFrames": [
"string"
],
"representation": "absolute",
"embodimentId": "string",
"controlRateHz": 0
},
"conventions": {
"version": "embodiflow-data-conventions/v1",
"frames": {},
"features": {},
"sourceClocks": {},
"stereoPairs": [
{}
],
"timeOffsets": {}
}
}
],
"features": [
{
"feature": "string",
"presentCount": 0,
"missingCount": 0,
"missingRecordingIds": [
"string"
]
}
],
"excluded": {
"failing": 0,
"incomplete": 0,
"deleted": 0,
"notAnonymized": 0,
"noApprovedRevision": 0,
"excludedFlag": 0
},
"blocked": [
{
"episodeId": "string",
"recordingId": "string",
"recordingName": "string",
"startNs": 0,
"endNs": 0,
"reason": "incomplete",
"checkIds": [
"string"
],
"privacyState": "pending",
"privacyBlocker": "consent_missing"
}
],
"warnings": [
"string"
]
}
}服务器https://api.embodiflow.io/v1https://api.embodiflow.dev/v1