UploadData
Upload data to a dataset
Users upload data to a dataset
Acquire data upload credentials
Transfer data directly to S3
GetPolicy
Acquire upload credentials
Request path
GET /v1/datasets/{id}/policies
Request parameter
Path
Query
The token expiration time measured in seconds cannot be negative. The default is 60 seconds and any time greater than 300 seconds will be treated as 300
Request instance
Copy curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/policies?expired=60&draftNumber=1' \
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'
Output
Copy # Response status
HttpStatus 200
# Response result
{
"result": {
"policy": "eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJmYXQtZGF0YXBsYXRmb3JtLXZlcnNpb24ifSxbInN0YXJ0cy13aXRoIiwiJGtleSIsIjNhZTBiYzI5M2Q3N2FiYjQwODZhMzc5ZjAyNjkwNmNlL2YwODk3NDUwLWNlZjEtNGQ3Zi05NDI3LWNiZGRhZjcxYzc1YS8iXSxbInN0YXJ0cy13aXRoIiwiJHN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyIsIiJdLFsic3RhcnRzLXdpdGgiLCIkQ29udGVudC1UeXBlIiwiIl0seyJ4LWFtei1jcmVkZW50aWFsIjoiQUtJQVFIVFdDQTNKTTZESTdVQ0YvMjAyMTAzMjQvdXMtd2VzdC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotZGF0ZSI6IjIwMjEwMzI0VDA1NDIwMFoifV0sImV4cGlyYXRpb24iOiIyMDIxLTAzLTI0VDA1OjQ0OjAwWiJ9",
"success_action_status": "200",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-credential": "AKIAQHTWCA3JM6DI7UCF/20210324/us-west-1/s3/aws4_request",
"x-amz-date": "20210324T054200Z",
"x-amz-signature": "8dbc309fa36caad5791907c385632e74a47362ca6f1517b748e150f1306851a0"
},
"extra": {
"backendType": "s3",
"host": "https://dataplatform-version.s3.us-west-1.amazonaws.com",
},
"expireAt": 1616564580
}
Front-end direct transmission based on the acquired credentials
The obtained result can be deserialized directly and transferred directly to S3. extra host is the access address
Request path
POST The value of "host" within the "extra" array from the output above
Request parameter
body
Consistent with the returned x-amz-credential of the previously obtained credentials
Consistent with the return value success_action_status of the previously obtained credentials
Consistent with the returned x-amz-algorithm of the previously obtained credentials
Consistent with the return value x-amz-signature of the previously obtained credentials
Consistent with the returned policy of the previously obtained credentials
Consistent with the return value x-amz-date of the previously obtained credentials
Calculate the checksum of a file with SHA-1 cryptographic hash
Request instance
Copy curl --location --request POST 'https://dataplatform-version.s3.us-west-1.amazonaws.com/' \
--form 'x-amz-credential=AKIAQHTWCA3JM6DI7UCF/20210323/us-west-1/s3/aws4_request' \
--form 'x-amz-algorithm=AWS4-HMAC-SHA256' \
--form 'x-amz-date=20210323T120601Z' \
--form 'x-amz-signature=42d7455003455a76796d67087b6a314b6c28445a14b80c9145029aeaa0091ec4' \
--form 'policy=eyJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJmYXQtZGF0YXBsYXRmb3JtLXZlcnNpb24ifSxbInN0YXJ0cy13aXRoIiwiJGtleSIsIjNhZTBiYzI5M2Q3N2FiYjQwODZhMzc5ZjAyNjkwNmNlL2YwODk3NDUwLWNlZjEtNGQ3Zi05NDI3LWNiZGRhZjcxYzc1YS8iXSxbInN0YXJ0cy13aXRoIiwiJHN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyIsIiJdLFsic3RhcnRzLXdpdGgiLCIkQ29udGVudC1UeXBlIiwiIl0seyJ4LWFtei1jcmVkZW50aWFsIjoiQUtJQVFIVFdDQTNKTTZESTdVQ0YvMjAyMTAzMjMvdXMtd2VzdC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsieC1hbXotZGF0ZSI6IjIwMjEwMzIzVDEyMDYwMVoifV0sImV4cGlyYXRpb24iOiIyMDIxLTAzLTIzVDEyOjA4OjAxWiJ9' \
--form 'success_action_status=200' \
--form 'key=b9676b075dff6d3333bbebb7cdd154f3631bb926' \
--form 'file=@/{localFile}'
Output
Copy # Response status
HttpStatus 204
# Response result
{}
PutCallback
Upload complete callback
Request path
PUT /v1/datasets/{id}/callback
Request parameter
Path
body
The checksum of an uploaded file. Calculate the checksum of a file with SHA-1 cryptographic hash
The remote file path, such as a.jpg
Must be passed for the upload of fusion data; sensor name
Not required to be provided for Fusion data upload
For the annotation labels of the file, please refer to uploadLabel
Request instance
Copy curl --location --request PUT '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/callback' \
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'\
--data-raw '{
"draftNumber": "1",
"checksum": "b9676b075dff6d3333bbebb7cdd154f3631bb926",
"remotePath": "car1.jpg",
"frameId": "01D78XYFJ1PRM1WPBCBT3VHMNV",
"segmentName": "car",
"sensorName": "camera_car",
"timestamp": 1532402934
}'
Output
Copy # Response status
HttpStatus 200
# Response result
{}
MultiPutCallback
Batch callback
Request path
PUT /v1/datasets/{id}/multi/callback
Request parameter
Path
body
The batch callback objects
The checksum of an uploaded file. Calculate the checksum of a file with SHA-1 cryptographic hash
The remote file path, such as a.jpg
Must be passed for the upload of fusion data; sensor name
Not required to be provided for Fusion data upload
For the annotation labels of the file, please refer to uploadLabel
Request instance
Copy curl --location --request PUT '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/callback' \
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'\
--data-raw '{
"draftNumber": "1",
"segmentName": "car",
"objects": [
{
"remotePath": "car1.jpg",
"checksum": "b9676b075dff6d3333bbebb7cdd154f3631bb926",
"frameId": "01D78XYFJ1PRM1WPBCBT3VHMNV",
"sensorName": "camera_car",
"timestamp": 1532402934,
"label":{}
}
]
}'
Output
Copy # Response status
HttpStatus 200
# Response result
{}
createSegment
Create a segment
POST /v1/datasets/{id}/segments
Request parameter
Path
Body
Segment name. This cannot be null and should not include ".",""
Request instance
Copy curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/segments'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json' \
--data-raw '{
"draftNumber":1,
"name": "graviti",
"description": "this is a segment"
}'
Output
Copy # Response status
HttpStatus 201
# Response result
{}
DeleteSegment
Delete segment
DELETE /v1/datasets/{id}/segments
Path
Body
Request instance
Copy curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/segments' \
--header 'x-token: {your_accesskey}'\
--data-raw '{
"draftNumber":1,
"segmentName": "car",
}'
Output
Copy # Response status
HttpStatus 200
# Response result
{}
ListSegment
Acquire dataset segment
GET /v1/datasets/{id}/segments
Request parameter
Path
Query
Draft number. Only one of draft and commit should exist, but they should not exist at the same time
Commit ID, commit tag, or branch name
The default is set to 128. The maximum value for a single time is 128
Currently sorting is based or created_at and updated_at while entering other content will return InvalidParamsValue.
The default is desc (descending order). The valid content is asc (ascending order) and desc
Request instance
Copy curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/segments?commit=v1.0&offset=0&limit=2'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'
Output
Normal dataset
Copy # Response status
HttpStatus 200
{
"segments": [
{
"name": "car",
"description": "this is car"
},
{
"name": "graviti",
"description": "this is a segment"
}
],
"offset": 0,
"recordSize": 2,
"totalCount": 10
}
UploadLabelCatalog
Upload the labelCatalog
PUT /v1/datasets/{id}/labels/catalogs
Request parameter
Path
Body
Annotation Type.
key:
CLASSIFICATION: annotation classification
BOX2D: 2D box annotation
BOX3D: 3D box annotation
POLYGON2D: 2D polygon annotation
POLYLINE2D: 2D polyline annotation
KEYPOINTS2D: 2D keypoints annotation
CUBOID2D: 2D cuboid annotation
SENTENCE: audio transcription annotation
For the annotation type above, each one of them has its own structure. You can refer to the request instances for detailed information. Please follow the format of the input value for each annotation type
The delimiter used to separate the parent-child relationship of category. The default is not to support the parent-child relationship. The recommended delimiter is "."
Item type: object and category list, which includes all category information
Item type. It includes attribute-related information
attribute type:string, boolean, integer, number, array, null,such as"interger", ["integer", "null"]
The minimum value of the attribute. When the attribute is numerical, this field defines the minimum value (closed interval)
The maximum value of the attribute. When the attribute is numerical, this field defines the maximum value (closed interval)
The options of the value of an attribute. This represents all the possible options this attribute may have.
Relational categories represent the categories to which the attribute belongs to. If it is empty, then this is a global attribute
Item type that defines multiple attributes. (When the "type" field is "array", it indicates multiple attributes)
type of an attribute value with multiple options:string, boolean, integer, number, array, null,such as "interger", ["integer", "null"]
The minimum value (closed interval) of the attribute value with multiple options
The maximum value (closed interval) of the multiple attribute
The enumeration of the value of an attribute with multiple options. This represents all the possible options this attribute may have.
Request instance
Copy curl --location --request PUT '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/labels/catalogs'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'\
--data-raw '{
"draftNumber": 1,
"BOX2D": {
"attributes": [
{
"description": "attribute 'traffic_light_color' is a multiple choice attribute",
"items": {
"enum": [
"unknown",
"red",
"yellow",
"green"
]
},
"name": "traffic_light_color",
"parentCategories": [
"traffic_light"
],
"type": "array"
},
{
"description": "attribute 'visibility' is a float value between 0 to 1",
"maximum": 1,
"minimum": 0,
"name": "visibility",
"type": "number"
},
{
"description": "this is color",
"enum": [
"red",
"blue",
"green"
],
"name": "color",
"parentCategories": [
"car"
],
"type": "string"
}
],
"categories": [
{
"description": "this is a car",
"name": "car"
}
],
"categoryDelimiter": ".",
"description": "this is a description of label catalog",
"isTracking": false
},
"BOX3D": {
"attributes": [
{
"description": "attribute 'traffic_light_color' is a multiple choice attribute",
"items": {
"enum": [
"unknown",
"red",
"yellow",
"green"
]
},
"name": "traffic_light_color",
"parentCategories": [
"traffic_light"
],
"type": "array"
},
{
"description": "attribute 'visibility' is a float value between 0 to 1",
"maximum": 1,
"minimum": 0,
"name": "visibility",
"type": "number"
},
{
"description": "this is color",
"enum": [
"red",
"blue",
"green"
],
"name": "color",
"parentCategories": [
"car"
],
"type": "string"
}
],
"categories": [
{
"description": "this is a car",
"name": "car"
}
],
"categoryDelimiter": ".",
"description": "this is a description of label catalog",
"isTracking": false
},
"CLASSIFICATION": {
"attributes": [
{
"description": "attribute 'traffic_light_color' is a multiple choice attribute",
"items": {
"enum": [
"unknown",
"red",
"yellow",
"green"
]
},
"name": "traffic_light_color",
"parentCategories": [
"traffic_light"
],
"type": "array"
},
{
"description": "attribute 'visibility' is a float value between 0 to 1",
"maximum": 1,
"minimum": 0,
"name": "visibility",
"type": "number"
},
{
"description": "this is color",
"enum": [
"red",
"blue",
"green"
],
"name": "color",
"parentCategories": [
"car"
],
"type": "string"
}
],
"categories": [
{
"description": "this is a car",
"name": "car"
}
],
"categoryDelimiter": ".",
"description": "this is a description of label catalog"
},
"CUBOID2D": {
"attributes": [
{
"description": "attribute 'traffic_light_color' is a multiple choice attribute",
"items": {
"enum": [
"unknown",
"red",
"yellow",
"green"
]
},
"name": "traffic_light_color",
"parentCategories": [
"traffic_light"
],
"type": "array"
},
{
"description": "attribute 'visibility' is a float value between 0 to 1",
"maximum": 1,
"minimum": 0,
"name": "visibility",
"type": "number"
},
{
"description": "this is color",
"enum": [
"red",
"blue",
"green"
],
"name": "color",
"parentCategories": [
"car"
],
"type": "string"
}
],
"categories": [
{
"description": "this is a car",
"name": "car"
}
],
"categoryDelimiter": ".",
"description": "this is a description of label catalog",
"isTracking": false
},
"KEYPOINTS2D": {
"attributes": [
{
"description": "attribute 'traffic_light_color' is a multiple choice attribute",
"items": {
"enum": [
"unknown",
"red",
"yellow",
"green"
]
},
"name": "traffic_light_color",
"parentCategories": [
"traffic_light"
],
"type": "array"
},
{
"description": "attribute 'visibility' is a float value between 0 to 1",
"maximum": 1,
"minimum": 0,
"name": "visibility",
"type": "number"
},
{
"description": "this is color",
"enum": [
"red",
"blue",
"green"
],
"name": "color",
"parentCategories": [
"car"
],
"type": "string"
}
],
"categories": [
{
"description": "this is a car",
"name": "car"
}
],
"categoryDelimiter": ".",
"description": "this is a description of label catalog",
"isTracking": false,
"keypoints": [
{
"description": "this is key point",
"names": [
"ear",
"leg",
"mouse"
],
"number": 3,
"parentCategories": [],
"skeleton": [
[
0,
1
],
[
1,
2
]
],
"visible": "1"
}
]
},
"POLYGON2D": {
"attributes": [
{
"description": "attribute 'traffic_light_color' is a multiple choice attribute",
"items": {
"enum": [
"unknown",
"red",
"yellow",
"green"
]
},
"name": "traffic_light_color",
"parentCategories": [
"traffic_light"
],
"type": "array"
},
{
"description": "attribute 'visibility' is a float value between 0 to 1",
"maximum": 1,
"minimum": 0,
"name": "visibility",
"type": "number"
},
{
"description": "this is color",
"enum": [
"red",
"blue",
"green"
],
"name": "color",
"parentCategories": [
"car"
],
"type": "string"
}
],
"categories": [
{
"description": "this is a car",
"name": "car"
}
],
"categoryDelimiter": ".",
"description": "this is a description of label catalog",
"isTracking": false
},
"POLYLINE2D": {
"attributes": [
{
"description": "attribute 'traffic_light_color' is a multiple choice attribute",
"items": {
"enum": [
"unknown",
"red",
"yellow",
"green"
]
},
"name": "traffic_light_color",
"parentCategories": [
"traffic_light"
],
"type": "array"
},
{
"description": "attribute 'visibility' is a float value between 0 to 1",
"maximum": 1,
"minimum": 0,
"name": "visibility",
"type": "number"
},
{
"description": "this is color",
"enum": [
"red",
"blue",
"green"
],
"name": "color",
"parentCategories": [
"car"
],
"type": "string"
}
],
"categories": [
{
"description": "this is a car",
"name": "car"
}
],
"categoryDelimiter": ".",
"description": "this is a description of label catalog",
"isTracking": false
},
"SENTENCE": {
"attributes": [
{
"description": "this is a description of attribute",
"enum": [
"red",
"blue",
"green"
],
"items": {
"enum": [
"red",
"blue",
"green"
],
"maximum": 10,
"minimum": 0,
"type": {}
},
"maximum": 10,
"minimum": 0,
"name": "color",
"parentCategories": [],
"type": {}
}
],
"description": "this is a description of label catalog",
"isSample": false,
"lexicon": "[[\"啊\", \"aa\", \"a1\"], [\"阿婆\": \"aa\", \"a1\", \"p\", \"o2\"], [\"爱\", \"aa\", \"ai4\"], [\"爱祖国\",\"aa\", \"ai4\", \"z\", \"u3\", \"g\", \"uo2\"]]",
"sampleRate": 32
}
}'
Output
GetLabelCatalog
Acquire dataset label
GET /v1/datasets/{id}/labels/catalogs
Request parameter
Path
Query
Draft number. Only one of draft and commit should exist, but they should not exist at the same time
Commit ID, commit tag, or branch name
Request instance
Copy curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/labels/catalogs?commit=v1.0'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'
Output
Copy # Response status
HttpStatus 200
# Response result
{
"catalog": {
"BOX2D": {
"attributes": [
{
"name": "color"
}
],
"categories": [
{
"description": "hello",
"name": "car"
}
]
}
}
}
UploadSensor
Upload sensor
POST /v1/datasets/{id}/sensors
Path
Body
The intrinsics of sensor (required only for camera-like devices)
Distortion coefficients (p1, p2, k1, k2, k3, k4, k5, k6 and so on. The more coefficients are provided, the more accurate the calculation) ├─p1|float|No|p1 ├─p2|float|No|p2 ├─k1|float|No|k1 ├─k2|float|No|k2 ├─k3|float|No|k3
Request instance
Copy curl --location --request POST '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/sensors' \
--header 'x-token: {your_accesskey}'\
--data-raw '{
"description": "This is a example camera sensor",
"extrinsics": {
"rotation": {
"w": 0.6924185592174665,
"x": -0.7031619420114925,
"y": -0.11648342771943819,
"z": 0.11203317912370753
},
"translation": {
"x": 1.03569100218,
"y": 0.484795032713,
"z": 1.59097014818
}
},
"intrinsics": {
"cameraMatrix": {
"cx": 1256.7414812095406,
"cy": 492.7757465151356,
"fx": 1256.7414812095406,
"fy": 792.1125740759628,
"skew": 122.7757465151356
},
"distortionCoefficients": {
"k1": 0.12,
"k2": 0.33,
"k3": 0.13,
"k4": 0.93,
"k5": 0.23,
"p1": 1,
"p2": 0.3
}
},
"name": "camera_01",
"segmentName": "car",
"type": "CAMERA"
}'
DeleteSensor
Delete sensor
DELETE /v1/datasets/{id}/sensors
Path
Body
Request instance
Copy curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/sensors' \
--header 'x-token: {your_accesskey}'\
--data-raw '{
"draftNumber": 1,
"segmentName": "car",
"name": "sensor1",
}'
Output
Copy # Response status
HttpStatus 200
# Response result
{}
ListSensor
Acquire the sensor
GET /v1/datasets/{id}/sensors
Path
Query
Draft number. Only one of draft and commit should exist, but they should not exist at the same time
The tag of commitId or commit
Request instance
Copy curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/sensors?segmentName=car&commit=v1.0' \
--header 'x-token: {your_accesskey}'
Output
Copy # Response status
HttpStatus 200
# Response result
{
"segmentName": "car",
"sensors": [
{
"name": "sensor1",
"type": "camera",
"extrinsics": {
"rotation": {
"w": 1.1,
"x": 1.2,
"y": 1.3,
"z": 1.4
},
"translation": {
"x": 1.2,
"y": 1.3,
"z": 1.4
}
},
"intrinsics": {
"cameraMatrix": {
"cx": 1.1,
"cy": 1.2,
"fx": 1.1,
"fy": 1.2,
"skew": 1.3
},
"distortionCoefficient": {
"k1": 1.4,
"k2": 1.5,
"k3": 1.6,
"k4": 1.7,
"k5": 1.8,
"k6": 1.9,
"p1": 1.2,
"p2": 1.3
}
},
"description": "this is a sensor"
},
{
"name": "sensor2",
"type": "camera",
"extrinsics": {
"rotation": {
"w": 1.1,
"x": 1.2,
"y": 1.3,
"z": 1.4
},
"translation": {
"x": 1.2,
"y": 1.3,
"z": 1.4
}
},
"intrinsics": {
"cameraMatrix": {
"cx": 1.1,
"cy": 1.2,
"fx": 1.1,
"fy": 1.2,
"skew": 1.3
},
"distortionCoefficient": {
"k1": 1.4,
"k2": 1.5,
"k3": 1.6,
"k4": 1.7,
"k5": 1.8,
"k6": 1.9,
"p1": 1.2,
"p2": 1.3
}
},
"description": "this is a sensor"
}
]
}
ListData
List data
GET /v1/datasets/{id}/data
Request parameter
Path
Query
Draft number. Only one of draft and commit should exist, but they should not exist at the same time
Commit ID, commit tag, or branch name
The default is set to 128. The maximum value for a single time is 128
Currently sorting is based on created_at and updated_at while entering other content will return InvalidParamsValue.
The default is desc (descending order). The valid content is asc (ascending order) and desc
Request instance
Copy curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/data?draftNumber=1&segmentName=car'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'
Output
Normal datasets
Copy {
"segmentName": "car",
"type": 0,
"data": [{"remotePath": "car.jpg."}],
"offset": 0,
"recordSize": 1,
"totalCount": 1
}
Fusion datasets
Copy {
"segmentName": "car",
"type": 1,
"data": [
{
"frameId": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
"frameIndex": 1,
"frame": [
{
"sensorname": "camera_car",
"remotePath": "fusion_data_car3.jpg",
"timestamp":1609430401,
}
]
}
],
"offset": 0,
"recordSize": 1,
"totalCount": 1
}
ListDataUri
Acquire the data resource address
GET /v1/datasets/{id}/data/urls
Request parameter
Path
Query
Draft number. Only one of draft and commit should exist, but they should not exist at the same time
Commit ID, commit tag, or branch name
The data path. If you want to pass a value, search for the specific URL of this data
The default is set to 128. The maximum value for a single time is 128
Currently sorting is based on the name (remotePath) and supports created_at and updated_at while entering other contents would return InvalidParamsValue
The default is desc (descending order). The valid content is asc (ascending order) and desc
Request instance
Copy curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/data/urls?draftNumber=1&remotePath=graviti.jpg&segmentName=car' \
--header 'x-token: {your_accesskey}'
Output
Copy # Response status
HttpStatus 200
# Response result
{
"offset": 0,
"recordSize": 5,
"totalCount": 5,
"segmentName": "car",
"urls": [
{
"remotePath": "00000010.jpg",
"url": "https://dataplatform-version.s3.us-west-1.amazonaws.com/61457d9174d2367811a2adae3ad94eae%2F63bedc17-8b4f-423f-893c-42b9ceff028e%2F%E7%AC%AC%E4%BA%8C%E6%AE%B5_00000010.jpg?Expires=1611304780&OSSAccessKeyId=LTAI4FjgXD3yFJUat4KADigE&Signature=DJbZOXSF1FSBQT4wEv69O%2B3OhyI%3D&versionId=CAEQPRiBgMD1o.mEshciIDk4ZmZkMWM2NmQ5ZTQ1NWRhNTBmZDZjNzJjNjM4OGRl"
},
{
"remotePath": "00040820.jpg",
"url": "https://dataplatform-version.s3.us-west-1.amazonaws.com/61457d9174d2367811a2adae3ad94eae%2F63bedc17-8b4f-423f-893c-42b9ceff028e%2F%E7%AC%AC%E4%BA%8C%E6%AE%B5_00040820.jpg?Expires=1611304780&OSSAccessKeyId=LTAI4FjgXD3yFJUat4KADigE&Signature=DihdFjHDtE3xEyIx3eGbTmN%2B%2Bzc%3D&versionId=CAEQPRiBgMD_pOmEshciIGFjYjVjY2FjYmZkMzRjYjVhZTQ5ZjQxZWMwMzhkOTMx"
},
{
"remotePath": "00040890.jpg",
"url": "https://dataplatform-version.s3.us-west-1.amazonaws.com/61457d9174d2367811a2adae3ad94eae%2F63bedc17-8b4f-423f-893c-42b9ceff028e%2F%E7%AC%AC%E4%BA%8C%E6%AE%B5_00040890.jpg?Expires=1611304780&OSSAccessKeyId=LTAI4FjgXD3yFJUat4KADigE&Signature=pwhm9liDx9%2BbDp2VlPghd1Kw0as%3D&versionId=CAEQPRiBgMD0pemEshciIGExZDdlOTBjMmQxMDQxMmFiM2QxMTAzNmU3N2I5ODFk"
},
{
"remotePath": "00040900.jpg",
"url": "https://dataplatform-version.s3.us-west-1.amazonaws.com/61457d9174d2367811a2adae3ad94eae%2F63bedc17-8b4f-423f-893c-42b9ceff028e%2F%E7%AC%AC%E4%BA%8C%E6%AE%B5_00040900.jpg?Expires=1611304780&OSSAccessKeyId=LTAI4FjgXD3yFJUat4KADigE&Signature=GpvY%2BJqbX7qKA70E7t58bRVn%2FcI%3D&versionId=CAEQPRiBgMC9p.mEshciIGY2YzIzNGZmM2EyZDQwMzZiODc4MzNmMmVlY2E0MTAy"
},
{
"remotePath": "00040940.jpg",
"url": "https://dataplatform-version.s3.us-west-1.amazonaws.com/61457d9174d2367811a2adae3ad94eae%2F63bedc17-8b4f-423f-893c-42b9ceff028e%2F%E7%AC%AC%E4%BA%8C%E6%AE%B5_00040940.jpg?Expires=1611304780&OSSAccessKeyId=LTAI4FjgXD3yFJUat4KADigE&Signature=TguAbiIM0pjWFse1S0MQRUbMuBg%3D&versionId=CAEQPRiBgIDLqemEshciIGM2YmRkZGJlNmY2OTQ5NmViNTEzMDg0NjFmNjczNmYw"
}
]
}
UploadLabel
Upload labels
PUT /v1/datasets/{id}/labels
Request parameter
Path
Body
The corresponding resources
Label.
key:
CLASSIFICATION: annotation classification
BOX2D:2D box annotation
BOX3D: 3D box annotation
POLYGON2D: 2D polygon annotation
POLYLINE2D: 2D polyline annotation
KEYPOINTS2D: 2D keypoints annotation
CUBOID2D: 2D cuboid annotation
SENTENCE: audio transcription annotation
Please refer to the request instances for the corresponding value content format for each key. Please follow the format of the input parameters for each annotation type.
Request instance
Copy curl --location --request PUT '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/labels' \
--header 'x-token: {your_accesskey}'\
--data-raw '{
"remotePath": "car1.jpg",
"segmentName": "car",
"draftNumber": 1,
"label": {
"BOX2D": [
{
"attributes": {
"color": "blue"
},
"box2d": {
"xmax": 10,
"xmin": 1,
"ymax": 18,
"ymin": 6
},
"category": "car",
"instance": "400a7ec7faa643e38e7ab220463bc4b5"
}
],
"BOX3D": [
{
"attributes": {
"color": "blue"
},
"box3d": {
"rotation": {
"w": 1,
"x": 1.1,
"y": 1.2,
"z": 1.3
},
"size": {
"x": 1.1,
"y": 1.2,
"z": 1.3
},
"translation": {
"x": 1.1,
"y": 1.2,
"z": 1.3
}
},
"category": "car",
"instance": "400a7ec7faa643e38e7ab220463bc4b5"
}
],
"CLASSIFICATION": {
"attributes": {
"color": "blue"
},
"category": "car"
},
"CUBOID2D": [
{
"attributes": {
"color": "blue"
},
"category": "car",
"cuboid2d": {
"back": [
{
"x": 1,
"y": 2
},
{
"x": 1.1,
"y": 2.1
},
{
"x": 1.2,
"y": 2.2
},
{
"x": 1.3,
"y": 2.3
}
],
"front": [
{
"x": 1,
"y": 2
},
{
"x": 1.1,
"y": 2.1
},
{
"x": 1.2,
"y": 2.2
},
{
"x": 1.3,
"y": 2.3
}
]
},
"instance": "400a7ec7faa643e38e7ab220463bc4b5"
}
],
"KEYPOINTS2D": [
{
"attributes": {
"color": "blue"
},
"category": "car",
"instance": "400a7ec7faa643e38e7ab220463bc4b5",
"keypoints2d": [
{
"v": 1.3,
"x": 1.1,
"y": 1.2
}
]
}
],
"POLYGON2D": [
{
"attributes": {
"color": "blue"
},
"category": "car",
"instance": "400a7ec7faa643e38e7ab220463bc4b5",
"polygon2d": [
{
"x": 1.1,
"y": 1.2
}
]
}
],
"POLYLINE2D": [
{
"attributes": {
"color": "blue"
},
"category": "car",
"instance": "400a7ec7faa643e38e7ab220463bc4b5",
"polyline2d": [
{
"x": 1.1,
"y": 1.2
}
]
}
],
"SENTENCE": [
{
"attributes": {
"color": "blue"
},
"category": "car",
"instance": "400a7ec7faa643e38e7ab220463bc4b5",
"phone": [
{
"begin": "b",
"end": "e",
"text": "hello"
}
],
"sentence": [
{
"begin": "b",
"end": "e",
"text": "hello"
}
],
"spell": [
{
"begin": "b",
"end": "e",
"text": "hello"
}
]
}
]
}
}'
Output
Copy # Response status
HttpStatus 200
# Response result
{}
ListLabel
Acquire dataset label
GET /v1/datasets/{id}/labels
Request parameter
Path
Query
Draft number. Only one of draft and commit should exist, but they should not exist at the same time
Commit ID, commit tag, or branch name
The default is set to 128. The maximum value for a single time is 128
Currently sorting is based on created_at and updated_at while entering other content will return InvalidParamsValue.
The default is desc (descending order). The valid content is asc (ascending order) and desc
Request instance
Copy curl --location --request GET '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/labels?draftNumber=1&offset=0&limit=1&segmentName=car'\
--header 'x-token: {your_accesskey}'\
--header 'Content-Type: application/json'
Output
Normal dataset
Copy # Response status
HttpStatus 200
{
"segmentName": "",
"type": 0,
"labels": [
{
"remotePath": "data_car.jpg",
"label": {
}
}
],
"offset": 0,
"recordSize": 1,
"totalCount": 1
}
Fusion datasets
Copy # Response status
HttpStatus 200
{
"segmentName": ""
"type": 1,
"labels": [
{
"frameId": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
"order": 1,
"frame": [
{
"sensorName": "camera_car",
"remotePath": "fusion_data_car2.jpg",
"timestamp":1609430400,
"label": {
}
},
{
"sensorname": "camera_car",
"remotePath": "fusion_data_car3.jpg",
"timestamp":1609430401,
"label": {
}
}
]
}
],
"offset": 0,
"recordSize": 1,
"totalCount": 1
}
DeleteData
Delete Data
DELETE /v1/datasets/{id}/data
Path
Body
The list of remote paths that needs to be deleted. The number of the list should not be greater than 128
Request instance
Copy curl --location --request DELETE '{service}/v1/datasets/154e35bae8954f09969ef8c9445efd2c/segments' \
--header 'x-token: {your_accesskey}'\
--data-raw '{
"draftNumber": 1,
"segmentName": "test",
"remotePaths": ["car1.jpg"]
}'
Output
Copy # Response status
HttpStatus 200
# Response result
{}