Available in VPC
Analyze a media asset to create an index, which is the result of analysis. After media asset registration is complete, requesting an analysis will execute the analysis process. The detailed workflow is as follows:

Request
This section describes the request format. The method and URI are as follows:
| Method | URI |
|---|---|
| POST | /api/v1/workspaces/{workspace_name}/projects/{project_id}/assets/{asset_id}/analyze |
Request headers
For information about the headers common to all Media Intelligence APIs, see Media Intelligence request headers.
Request path parameters
You can use the following path parameters with your request:
| Field | Type | Required | Description |
|---|---|---|---|
workspace_name |
String | Required | Workspace name |
project_id |
String | Required | Project ID
|
asset_id |
String | Required | Media asset ID
|
Request body
You can include the following data in the body of your request:
| Field | Type | Required | Description |
|---|---|---|---|
sceneRange |
String | Optional | (During video analysis) Length of automatically split scenes
|
minSceneDurationSec |
Integer | Optional | (During video analysis) Minimum scene length (second)
|
maxSceneDurationSec |
Integer | Optional | (During video analysis) Maximum scene length (second)
|
analysisPersonCount |
Integer | Required | Number of people to detect when analyzing
|
tagIdList |
Array<String> | Optional | Tag of people to detect when analyzing
|
sourceLanguage |
enum | Optional | Language information of the original being analyzed
|
detectAudioEffects |
Boolean | Optional | (During video analysis) Audio effect detection
|
sceneRange and minSceneDurationSec/maxSceneDurationSec can't be used at the same time. When customizing scene duration, be sure to specify both minSceneDurationSec and maxSceneDurationSec.
Request example
The request example is as follows:
Preset method
curl --location --request POST 'https://mi.apigw.ntruss.com/api/v1/workspaces/my-workspace/projects/1234/assets/5678/analyze' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"sceneRange": "LONG",
"sourceLanguage": "KO",
"detectAudioEffects": false,
"analysisPersonCount": 3,
"tagIdList": [101, 203, 307]
}'
Specify scene length manually
curl --location --request POST 'https://mi.apigw.ntruss.com/api/v1/workspaces/my-workspace/projects/1234/assets/5678/analyze' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"minSceneDurationSec": 15,
"maxSceneDurationSec": 60,
"sourceLanguage": "KO",
"detectAudioEffects": false,
"analysisPersonCount": 3
}'
Response
This section describes the response format.
Response body
The response body includes the following data:
| Field | Type | Required | Description |
|---|---|---|---|
code |
String | - | API processing result code |
message |
String | - | API processing result message |
result |
Object | - | Analysis result |
result.id |
Integer | - | Media asset ID |
result.createdTime |
String | - | Index creation date and time
|
result.createdUserName |
String | - | User name that created the index |
Response status codes
For information about the HTTP status codes common to all Media Intelligence APIs, see Media Intelligence response status codes.
| Error code | Message | Description |
|---|---|---|
| 400 | sceneRange and minSceneDurationSec/maxSceneDurationSec are mutually exclusive | sceneRange and custom range entered at the same time. |
| 400 | minSceneDurationSec and maxSceneDurationSec must be provided together | minSceneDurationSec or maxSceneDurationSec was entered by itself. |
| 400 | minSceneDurationSec must be less than or equal to maxSceneDurationSec | When minSceneDurationSec > maxSceneDurationSec |
| 400 | minSceneDurationSec out of range (10–30) | minSceneDurationSec exceeded the allowed range. |
| 400 | maxSceneDurationSec out of range (25–300) | maxSceneDurationSec exceeded the allowed range. |
Response example
The response example is as follows:
{
"code": "0",
"message": "success",
"result": {
"id": 1001,
"createdTime": "2025-04-23T17:13:48",
"createdUserName": "username"
}
}