Available in VPC
Analyze a media asset to create an index, which is the result of analysis. Only the most recent index per asset is retained, and once the analysis is complete, the existing most recent index is replaced by the new one. The results of the existing index remain valid while the analysis is in progress, and the existing index is retained even if the analysis fails.
- You can request an analysis after the media asset has been successfully registered.
- If an analysis is already in progress for an asset, requesting a new analysis will return a
409error. Try again after the current analysis is complete. sceneRangeandminSceneDurationSec/maxSceneDurationSeccan't be used at the same time. When customizing scene duration, be sure to specify bothminSceneDurationSecandmaxSceneDurationSec.
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}/index |
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<Integer> | Optional | ID of the person tag to be detected during analysis
|
sourceLanguage |
String | Optional | Language information of the original being analyzed
|
detectAudioEffects |
Boolean | Optional | (During video analysis) Audio effect detection
|
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/index' \
--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": "MEDIUM",
"analysisPersonCount": 6,
"tagIdList": [101, 203],
"sourceLanguage": "KO",
"detectAudioEffects": false
}'
Specify scene length manually
curl --location --request POST 'https://mi.apigw.ntruss.com/api/v1/workspaces/my-workspace/projects/1234/assets/5678/index' \
--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": 120,
"analysisPersonCount": 6,
"sourceLanguage": "KO"
}'
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 request submission information |
result.assetId |
String | - | Media asset ID |
result.createdTime |
String | - | Analysis request creation date and time
|
result.createdUserName |
String | - | Username of the user who requested the analysis |
The analysis progress is not included in the response. Check the analysis status via Get media asset analysis status.
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. |
| 409 | Analysis already in progress | The asset is currently being analyzed. |
Response example
The response example is as follows:
{
"code": "0",
"message": "success",
"result": {
"assetId": "5678",
"createdTime": "2026-07-01T10:00:00",
"createdUserName": "username"
}
}