--- title: "Request media asset analysis" slug: "mi-request-index" updated: 2026-09-17T10:12:40Z published: 2026-09-17T10:12:40Z canonical: "api.ncloud-docs.com/mi-request-index" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Request media asset analysis 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. Note - 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 `409` error. Try again after the current analysis is complete. - `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 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](/docs/en/maiu-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### 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 - See [Get project list](/docs/en/maiu-list-projects). | | `asset_id` | String | Required | Media asset ID - See [Get media asset list](/docs/en/mi-list-assets). | ### 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 - `EXTRA_SHORT` \| `SHORT` \| `MEDIUM` (default) \| `LONG` - `EXTRA_SHORT`: Between 10-20 seconds - `SHORT`: Analyze detailed scenes in the video with second-by-second segmentation. - `MEDIUM`: Capture key changes while maintaining proper flow between scenes. - `LONG`: Maintain a natural flow by enhancing connectivity between scenes. - It can't be used at the same time with `minSceneDurationSec` and `maxSceneDurationSec`. | | `minSceneDurationSec` | Integer | Optional | (During video analysis) Minimum scene length (second) - Allowed range: 10-30 - Default: 15 - It must be used in conjunction with `maxSceneDurationSec`. If entered on its own, it returns a 400 error. - It can't be used at the same time with `sceneRange`. | | `maxSceneDurationSec` | Integer | Optional | (During video analysis) Maximum scene length (second) - Allowed range: 25-300 - Default: 120 - It must be used in conjunction with `minSceneDurationSec`. If entered on its own, it returns a 400 error. - It can't be used at the same time with `sceneRange`. | | `analysisPersonCount` | Integer | Required | Number of people to detect when analyzing - 0-10 - When 0 is entered, people are not analyzed, which speeds up analysis. | | `tagIdList` | Array | Optional | ID of the person tag to be detected during analysis - See [Get person tag list](/docs/en/maiu-list-person-tags). - Length: 1-30 | | `sourceLanguage` | String | Optional | Language information of the original being analyzed - `KO` (default) \| `ENKO` \| `EN` \| `JA` \| `ZH-CN` \| `ZH-TW` - `KO`: Korean - `ENKO`: Korean + English - `EN`: English - `JA`: Japanese - `ZH-CN`: Chinese (Simplified) - `ZH-TW`: Chinese (Traditional) | | `detectAudioEffects` | Boolean | Optional | (During video analysis) Audio effect detection - `true` \| `false` (default) - Detect "applause," "laughter," and "background music" items when enabled. | ### 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](/docs/en/maiu-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C) | | `message` | String | - | [API processing result message](/docs/en/maiu-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C) | | `result` | Object | - | Analysis request submission information | | `result.assetId` | String | - | Media asset ID | | `result.createdTime` | String | - | Analysis request creation date and time - ISO 8601 format | | `result.createdUserName` | String | - | Username of the user who requested the analysis | Note The analysis progress is not included in the response. Check the analysis status via [Get media asset analysis status](/docs/en/mi-index-status). ### Response status codes For information about the HTTP status codes common to all Media Intelligence APIs, see [Media Intelligence response status codes](/docs/en/maiu-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). | 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" } } ```