1. ホーム
  2. APIドキュメント
  3. モーションキャプチャAPIドキュメント

API Reference /APIリファレンス

POST {Base URL}/user/read/GetUploadUrl

モーションキャプチャする動画ファイルをアップロードするためのURLとheaderが返されます。

Request Body

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

    アップロードするファイル名

Response Body

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

     ExtractMotionCapture APIを呼び出す際に使用する識別子

  • headers

     uploadingアップロードの際に使用するheadersヘッダのリスト

  • url

    アップロード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

ユーザのAPI使用履歴を問い合わせます。

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)

     APIの呼び出し時間の開始時刻

  • endInvokedAt (optional)

    API呼び出し時間の終了時刻

  • apiName (optional)

    API名

  • billedDurationSec (optional)

     入力値を上回る課金動画の長さ(秒)を取得します

  • billedFrame (optional)

    入力値を上回る課金動画のフレームとアイテムの数を取得します

  • isError (optional)

    エラーが発生したかどうか

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

    呼び出されたAPI名

  • duration

     呼び出されたAPI processing time (sec)

  • details

    • billedFrame

       課金フレーム数

    • billedDurationSec

       課金動画ファイルの長さ(秒)

    • isMultiPerson

      MultiPersonオプションを使用するかどうか

  • error

    エラーメッセージ

  • 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

動画ファイルにモーションキャプチャを行った結果作成されたモーションファイルのダウンロードURL]が返されます。

Request Body

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

    ダウンロードするモーションファイルの識別子

Response Body

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

    モーションファイルのダウンロード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

一定期間保存されるモーションキャプチャの結果履歴を問い合わせます。

Request Body

{   
"isError": false
}
  • isError optional

    エラーが発生したかどうか

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

    モーションキャプチャの入力映像ファイルの識別子

  • motionFileKey

     モーションキャプチャの出力モーションファイルの識別子

  • createdAt

    作成時刻

  • elapsedSec

    経過時間の秒数

  • details

    • isMultiPerson

      MultiPersonマルチパーソンオプションを使用するかどうか

    • videoFrames

      入力動画ファイルのフレーム数

    • videoLengthSec

      入力動画ファイルの長さ(秒)

  • isError

    エラーが発生したかどうか

  • error

    エラーメッセージ

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

モーションキャプチャの結果を問い合わせる。

Request Body

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

     入力動画ファイルの識別子

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

    モーションキャプチャの入力映像ファイルの識別子

  • motionFileKey

     モーションキャプチャの出力モーションファイルの識別子

  • createdAt

     作成時刻

  • elapsedSec

    経過時間の秒数

  • details 詳細

    • isMultiPerson

       マルチパーソンオプションを使用するかどうか

    • videoFrames

      入力動画ファイルのフレーム数

    • videoLengthSec

      入力動画ファイルの長さ(秒)

  • isError

     エラーが発生したかどうか

  • error

     エラーメッセージ

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

特定のアクセスキーの最終使用時刻が返されます。

Request Body

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

     問い合わせるアクセスキーID

Response Body

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

     最終使用日

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/read/CreateAccessKey

アクセスキーを生成します。2つまで作成可能で、secretKeyは作成時のみ問い合わせ可能です。

Request Body

{}

Response Body

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

    コマンドIDをリクエストします

  • commandStatus

    Request command status:

    • unknown不明
    • open オープン:コマンド処理待ち
    • working 作業中:コマンド処理中
    • finished 終了:コマンド処理完了
  • result

    • accessKeyId

      생성된 액세스키 Id

    • secretKey

      생성된 시크릿키 Id, 생성할 때만 조회 가능

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/read/DeleteAccessKey

アクセスキーを削除します。

Request Body

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

    アクセスキーID

Response Body

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

     Request command Id  コマンドIDをリクエストします

  • commandStatus

     Request command Id  コマンドIDをリクエストします

    • unknown 不明
    • open: オープン:コマンド処理待
    • working: 作業中:コマンド処理中
    • finished: 終了:コマンド処理完了

    Request command Id コマンド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/read/UpdateAccessKey

アクセスキーのアクティベーション状態を変更します。

Request Body

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

    アクセスキーID

  • status

    • active アクティブ
    • inactive 非アクティブ

Response Body

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

    Request command Id  コマンドIDをリクエストします

  • commandStatus

    Request command status コマンドステータスをリクエストします:

    • unknown 不明
    • open: オープン:コマンド処理待ち
    • working: 作業中:コマンド処理中
    • finished: 終了:コマンド処理完了
  • result

    • accessKeyId

      Access key id アクセスキー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/read/ExtractMotionCapture

以前にアップロードされた動画ファイルに対して、モーションキャプチャ作業を開始します。

Request Body

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

      モーションキャプチャ対象の動画ファイルの識別子

    fileKey of GetUploadUrl API レスポンス

  • notificationId optional

     使用せず

Response Body

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

     コマンドIDをリクエストします

  • commandStatus

     コマンドステータスをリクエストします:

    • unknown 不明
    • open: コマンド処理待ち
    • working: コマンド処理中
    • finished: コマンド処理完了

    エラーなく作業中であれば、モーションキャプチャは正常に開始しました。

  • result optional resultはオプション

    • error

        モーションキャプチャ作業の開始エラーメッセージ

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"
]
}