1. API Documentation
  2. Motion Capture REST API documentation

API Reference

POST 0/user/read/GetUploadUrl

Returns the URL and header for uploading the video file to be motion-captured.

Request Body

{
"sourceFileName": "sample_dance_short.mov"
}
  • sourceFileName

    File name to upload

Response Body

{
"fileKey": "video-b1262efd475b.mov",
"headers": {
"x-amz-tagging": "state=uploaded"
},
"url": "<https://~~~~~~~>"
}
  • fileKey

    File identifier, used when calling ExtractMotionCapture API

  • headers

    List of headers to use when uploading

  • url

    Upload URL

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"sourceFileName": {
"type": "string"
}
},
"required": [
"sourceFileName"
]
}

Response JSON Schema

{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"fileKey": {
"type": "string"
},
"headers": {
"type": "null"
}
},
"required": [
"url",
"fileKey",
"headers"
]
}

POST 0/user/read/GetUserApiUsages

Query the user's API usage history.

Request Body

{        
"startInvokedAt": "2022-05-01T07:32:25.232Z",
"endInvokedAt": "2022-05-21T07:32:25.232Z",
"apiName": "ExtractMotionCapture",
"billedDurationSec": 0,
"billedFrame": 0,
"isError": false
}
  • startInvokedAt optional

    Start time of API call time

  • endInvokedAt optional

    End time of API call time

  • apiName optional

    API name

  • billedDurationSec optional

    Retrieves the billed video length (seconds) greater than the input value

  • billedFrame optional

    Retrieves the number of billed video frames and items larger than the input value

  • isError optional

    Whether an error occurred

Response Body

[
{
"userId": "sunho@plask.ai",
"accessKeyId": "40b701476e2e1e58542b",
"apiName": "getuploadurl",
"duration": 0.132,
"invokedAt": "2022-06-17T03:39:46.047Z",
"details": {
"billedFrame": 0,
"billedDurationSec": 0,
"isMultiPerson": false
},
"version": 0,
"error": "",
"sourceIp": "218.153.177.209"
},
...
]
  • apiName

    Called API name

  • duration

    Called API processing time (sec)

  • details

    • billedFrame

      Number of billed frames

    • billedDurationSec

      Billed video file length (sec)

    • isMultiPerson

      Whether to use the MultiPerson option

  • error

    Error message

  • sourceIp

    Client IP address

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"startInvokedAt": {
"type": "string"
},
"endInvokedAt": {
"type": "string"
},
"isError": {
"type": "boolean"
},
"apiName": {
"type": "string"
},
"billedDurationSec": {
"type": "integer"
},
"billedFrame": {
"type": "integer"
}
}
}

Response JSON Schema

{
"type": "array",
"items": {
"type": "object",
"properties": {
"userId": {
"type": "string"
},
"accessKeyId": {
"type": "string"
},
"apiName": {
"type": "string"
},
"duration": {
"type": "integer"
},
"invokedAt": {
"type": "string"
},
"billedDurationSec": {
"type": "integer"
},
"version": {
"type": "integer"
},
"error": {
"type": "string"
},
"sourceIp": {
"type": "string"
}
},
"required": [
"userId",
"accessKeyId",
"apiName",
"duration",
"invokedAt",
"billedDurationSec",
"version",
"error",
"sourceIp"
]
}
}

POST 0/user/read/GetMotionFileDownloadUrl

Returns the download URL of a motion file created as a result of motion capture from a video file.

Request Body

{
"motionFileKey": "motion-bc0033f1c25d.json"
}
  • motionFileKey

    Motion file identifier to download

Response Body

{
"url": "~~~"
}
  • url

    Motion file download URL

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"motionFileKey": {
"type": "string"
}
},
"required": [
"motionFileKey"
]
}

Response JSON Schema

{
"type": "object",
"properties": {
"url": {
"type": "string"
}
},
"required": [
"url"
]
}

POST 0/user/read/GetMocapResults

Inquires the motion capture result history stored for a certain period of time.

Request Body

{   
"isError": false
}
  • isError optional

    Whether an error occurred

Response Body

[    
{
"videoFileKey": "video-bc0033f1c25d.mov",
"motionFileKey": "motion-bc0033f1c25d.json",
"userId": "cheolmin@plask.ai",
"createdAt": "2022-05-20T05:09:32.001Z",
"elapsedSec": 19.599,
"details": {
"isMultiPerson": false,
"videoFrames": 164,
"videoLengthSec": 5.113333
},
"isError": "false",
"error": ""
}
]
  • videoFileKey

    Motion capture input video file identifier

  • motionFileKey

    Motion capture output motion file identifier

  • createdAt

    Creation time

  • elapsedSec

    Elapsed time seconds

  • details

    • isMultiPerson

      Whether to use the MultiPerson option

    • videoFrames

      Number of input video file frames

    • videoLengthSec

      Input video file length in seconds

  • isError

    Whether an error occurred

  • error

    Error message

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"isError": {
"type": "boolean"
}
}
}

Response JSON Schema

{
"type": "array",
"items": {
"type": "object",
"properties": {
"videoFileKey": {
"type": "string"
},
"motionFileKey": {
"type": "string"
},
"userId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"elapsedSec": {
"type": "integer"
},
"chargedVideoLengthSec": {
"type": "integer"
},
"isError": {
"type": "string"
},
"error": {
"type": "string"
}
},
"required": [
"videoFileKey",
"motionFileKey",
"userId",
"createdAt",
"elapsedSec",
"chargedVideoLengthSec",
"isError",
"error"
]
}
}

POST 0/user/read/GetMocapResult

Inquire about the motion capture result.

Request Body

{
"sourceFileKey": "video-bc0033f1c25d.mov"
}
  • sourceFileKey

    Input video file identifier

Response Body

{
"videoFileKey": "video-bc0033f1c25d.mov",
"motionFileKey": "motion-bc0033f1c25d.json",
"userId": "cheolmin@plask.ai",
"createdAt": "2022-05-20T05:09:32.001Z",
"elapsedSec": 19.599,
"details": {
"isMultiPerson": false,
"videoFrames": 164,
"videoLengthSec": 5.113333
},
"isError": "false",
"error": ""
}
  • videoFileKey

    Motion capture input video file identifier

  • motionFileKey

    Motion capture output motion file identifier

  • createdAt

    Creation time

  • elapsedSec

    Elapsed time seconds

  • details

    • isMultiPerson

      Whether to use the MultiPerson option

    • videoFrames

      Number of input video file frames

    • videoLengthSec

      Input video file length in seconds

  • isError

    Whether an error occurred

  • error

    Error message

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"sourceFileKey": {
"type": "string"
}
},
"required": [
"sourceFileKey"
]
}

Response JSON Schema

{
"type": "object",
"properties": {
"videoFileKey": {
"type": "string"
},
"motionFileKey": {
"type": "string"
},
"userId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"elapsedSec": {
"type": "integer"
},
"chargedVideoLengthSec": {
"type": "integer"
},
"isError": {
"type": "string"
},
"error": {
"type": "string"
}
},
"required": [
"videoFileKey",
"motionFileKey",
"userId",
"createdAt",
"elapsedSec",
"chargedVideoLengthSec",
"isError",
"error"
]
}

POST 0/user/read/GetAccessKeyLastUsed

Returns the last used time of a specific access key.

Request Body

{
"accessKeyId": "40b701476e2e1e58542b"
}
  • accessKeyId

    Access key Id to query

Response Body

{
"lastUsedDate": "2022-06-20T07:31:41.696Z"
}
  • lastUsedDate

    Last used time

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"accessKeyId": {
"type": "string"
}
},
"required": [
"accessKeyId"
]
}

Response JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"lastUsedDate": {
"type": "string"
}
},
"required": [
"lastUsedDate"
]
}

POST 0/user/write/CreateAccessKey

Generate an access key. Up to two can be created, and the secretKey can be inquired only when created.

Request Body

{}

Response Body

{
"commandId": "b7937988d71275d4d34a70cce0f55b6d",
"commandStatus": "finished",
"result": {
"accessKeyId": "34fedc4ca79e4229d716",
"secretKey": "4fedc4ca79e4229d71662aca2e91e4a94e449ff4"
}
}
  • commandId

    Request command Id

  • commandStatus

    Request command status:

    • unknown
    • open: waiting for command processing
    • working: Command processing
    • finished: Command processing completed
  • result

    • accessKeyId

    • secretKey

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object"
}

Response JSON Schema

{
"type": "object",
"properties": {
"commandId": {
"type": "string"
},
"commandStatus": {
"type": "string"
},
"result": {
"type": "object",
"properties": {
"accessKeyId": {
"type": "string"
},
"secretKey": {
"type": "string"
}
},
"required": [
"accessKeyId",
"secretKey"
]
},
"error": {
"type": "string"
}
},
"required": [
"commandId",
"commandStatus",
"result"
]
}

POST 0/user/write/DeleteAccessKey

Delete the access key.

Request Body

{
"accessKeyId": "40b701476e2e1e58542b"
}
  • accessKeyId

    Access Key Id

Response Body

{
"commandId": "7937988d71275d4d34a70cce0f55b6dd",
"commandStatus": "finished",
"result": {}
}
  • commandId

    Request command Id

  • commandStatus

    Request command status:

    • unknown
    • open: waiting for command processing
    • working: Command processing
    • finished: Command processing completed

    Request command Id

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"accessKeyId": {
"type": "string"
}
},
"required": [
"accessKeyId"
]
}

Response JSON Schema

{
"type": "object",
"properties": {
"commandId": {
"type": "string"
},
"commandStatus": {
"type": "string"
},
"result": {
"type": "object"
},
"error": {
"type": "string"
}
},
"required": [
"commandId",
"commandStatus",
"result",
"error"
]
}

POST 0/user/write/UpdateAccessKey

Change the activation state of the access key.

Request Body

{
"accessKeyId": "9e4229d71662aca2e91e",
"status": "inactive"
}
  • accessKeyId

    Access key id

  • status

    • active
    • inactive

Response Body

{
"commandId": "7988d71275d4d34a70cce0f55b6dd8e7",
"commandStatus": "finished",
"result": {
"accessKeyId": "9e4229d71662aca2e91e",
"status": "inactive"
}
}
  • commandId

    Request command Id

  • commandStatus

    Request command status:

    • unknown
    • open: waiting for command processing
    • working: Command processing
    • finished: Command processing completed
  • result

    • accessKeyId

      Access key id

    • status

      Changed state

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"accessKeyId": {
"type": "string"
},
"status": {
"type": "string",
"enum": ["active", "inactive"]
}
},
"required": [
"accessKeyId",
"status"
]
}

Response JSON Schema

{
"type": "object",
"properties": {
"commandId": {
"type": "string"
},
"commandStatus": {
"type": "string"
},
"result": {
"type": "object",
"properties": {
"accessKeyId": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"accessKeyId",
"status"
]
},
"error": {
"type": "string"
}
},
"required": [
"commandId",
"commandStatus",
"result",
"error"
]
}

POST 0/user/write/ExtractMotionCapture

Starts the motion capture operation for the previously uploaded video file.

Request Body

{
"fileKey": "video-bc0033f1c25d.mov",
"notificationId": ""
}
  • fileKey

    Motion capture target video file identifier

    fileKey of GetUploadUrl API Response

  • notificationId optional

    Not used

Response Body

{
"commandId": "988d71275d4d34a70cce0f55b6dd8e7c",
"commandStatus": "working"
}
  • commandId

    Request command Id

  • commandStatus

    Request command status:

    • unknown
    • open: waiting for command processing
    • working: Command processing
    • finished: Command processing completed

    If it is in working state without error, motion capture has started normally.

  • result optional

    • error

      Motion capture operation start error message

Request JSON Schema

{
"$schema": "<http://json-schema.org/draft-04/schema#>",
"type": "object",
"properties": {
"fileKey": {
"type": "string"
},
"notificationId": {
"type": "string"
}
},
"required": [
"fileKey"
]
}

Response JSON Schema

{
"type": "object",
"properties": {
"commandId": {
"type": "string"
},
"commandStatus": {
"type": "string"
},
"result": {
"type": "object",
"properties": {
"sourceFileKey": {
"type": "null"
},
"commandId": {
"type": "null"
},
"motionFileKey": {
"type": "null"
},
"videoLengthSec": {
"type": "null"
},
"elapsedSec": {
"type": "null"
},
"error": {
"type": "null"
}
},
"required": [
"sourceFileKey",
"commandId",
"motionFileKey",
"videoLengthSec",
"elapsedSec",
"error"
]
},
"error": {
"type": "string"
}
},
"required": [
"commandId",
"commandStatus"
]
}