--- title: "장면 요약 활용 결과 조회" slug: "mi-get-transformation-result" updated: 2026-10-20T01:05:17Z published: 2026-10-20T03:00:25Z canonical: "api.ncloud-docs.com/mi-get-transformation-result" --- > ## 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. # 장면 요약 활용 결과 조회 VPC 환경에서 이용 가능합니다. 요청한 변환 작업의 진행 상태와 결과를 조회합니다. 변환 상태가 `TRANSFORM_COMPLETED`인 경우 응답에 프리셋별 변환 결과(`result.output`)가 포함됩니다. 변환은 비동기로 처리되므로, [장면 요약 활용 요청](/docs/mi-request-transformation)으로 반환된 변환 작업 ID를 사용하여 완료 상태가 될 때까지 조회합니다. 참고 변환 결과(`result.output`)의 구조는 요청한 프리셋에 따라 달라집니다. `result.preset` 값을 기준으로 결과 구조를 구분해 주십시오. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | GET | /api/v1/workspaces/{workspace_name}/projects/{project_id}/assets/{asset_id}/scene-summary/transformations/{transformation_id} | ### 요청 헤더 Media Intelligence API에서 공통으로 사용하는 헤더에 대한 정보는 [Media Intelligence 요청 헤더](/docs/maiu-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `workspace_name` | String | Required | 워크스페이스 이름 | | `project_id` | String | Required | 프로젝트 ID - [프로젝트 목록 조회](/docs/maiu-list-projects) 참조 | | `asset_id` | String | Required | 미디어 에셋 ID - [미디어 에셋 목록 조회](/docs/mi-list-assets) 참조 | | `transformation_id` | String | Required | 변환 작업 ID - [장면 요약 활용 변환 요청](/docs/mi-request-transformation) 참조 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request GET 'https://mi.apigw.ntruss.com/api/v1/workspaces/my-workspace/projects/1234/assets/5678/scene-summary/transformations/2001' \ --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' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `code` | String | - | [API 처리 결과 코드](/docs/maiu-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C) | | `message` | String | - | [API 처리 결과 메시지](/docs/maiu-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C) | | `result` | Object | - | 변환 상태 및 결과 정보 | | `result.status` | String | - | 변환 상태 - `TRANSFORMING` \| `TRANSFORM_COMPLETED` \| `TRANSFORM_FAIL` - `TRANSFORMING`: 변환이 진행 중인 상태 - `TRANSFORM_COMPLETED`: 변환이 완료되어 결과 조회가 가능한 상태 - `TRANSFORM_FAIL`: 변환 중 오류가 발생하여 실패한 상태 | | `result.transformStatusMessage` | String | - | 변환 실패 시 오류 상세 메시지 - `TRANSFORM_FAIL`인 경우에만 반환 | | `result.preset` | String | - | 사용된 변환 프리셋 - `result.output` 구조를 구분하는 기준 | | `result.locale` | String | - | 변환 결과 언어 - 장면 요약 언어를 상속 - BCP 47 형식(`ko-KR`, `en-US`, `ja-JP`) | | `result.indexId` | Integer | - | 변환에 사용된 장면 요약이 속한 인덱스 ID - 변환 완료 시 반환 | | `result.presetVersion` | String | - | 프리셋 변환 정책 버전 - 변환 완료 시 반환 | | `result.engineVersion` | String | - | 변환 엔진 버전 - 변환 완료 시 반환 | | `result.outputFields` | Array | - | 적용된 출력 필드 - `SCENE_DIGEST` 프리셋에서 변환 완료 시 반환 | | `result.keywordCount` | Integer | - | 적용된 장면당 키워드 개수 - `SCENE_DIGEST` 프리셋에서 `keywords`를 포함한 경우 반환 | | `result.paragraphCount` | Integer | - | 적용된 장면당 요약 문단 개수 - `SCENE_DIGEST` 프리셋에서 `paragraphs`를 포함한 경우 반환 | | `result.usage` | Object | - | 사용량 정보 - 변환 완료 시 반환: [usage](/docs/mi-get-transformation-result#usage) | | `result.output` | Object | - | 프리셋별 변환 결과 - 변환 완료 시 반환 - `SCENE_DIGEST`: [output (SCENE_DIGEST)](/docs/mi-get-transformation-result#outputscenedigest) 참조 - `SCENE_METADATA`: [output (SCENE_METADATA)](/docs/mi-get-transformation-result#outputscenemetadata) 참조 | #### `usage` `usage`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `outputTokens` | Integer | - | 과금 기준 출력 토큰 수 | #### `output` (SCENE_DIGEST) `preset`이 `SCENE_DIGEST`인 경우의 `output`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `scenes` | Array | - | 장면별 요약 결과 목록 | | `scenes[].scene` | Integer | - | 장면 ID | | `scenes[].startMs` | Integer | - | 장면 시작 시간(밀리초) | | `scenes[].endMs` | Integer | - | 장면 종료 시간(밀리초) | | `scenes[].title` | String | - | 장면 대표 제목 - `outputFields`에 `title`을 포함한 경우 반환 | | `scenes[].keywords` | Array | - | 장면 핵심 키워드 목록 - 중요도 내림차순 정렬 - `outputFields`에 `keywords`를 포함한 경우 반환 | | `scenes[].paragraphs` | Array | - | 장면 요약 문단 목록 - `outputFields`에 `paragraphs`를 포함한 경우 반환 | #### `output` (SCENE_METADATA) `preset`이 `SCENE_METADATA`인 경우의 `output`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `scenes` | Array | - | 장면별 메타데이터 목록 | | `scenes[].scene` | Integer | - | 장면 ID | | `scenes[].startMs` | Integer | - | 장면 시작 시간 (밀리초) | | `scenes[].endMs` | Integer | - | 장면 종료 시간 (밀리초) | | `scenes[].timeRange` | Object | - | 표시용 시간 및 타임코드 정보 - 편집 도구 연계를 위해 제공될 수 있음 - `startTime`, `endTime`: `HH:MM:SS.mmm` 형식의 표시용 시간 - `startTimecode`, `endTimecode`: `HH:MM:SS:FF` 형식의 타임코드 - `frameRate`: 타임코드 계산 기준 frame rate | | `scenes[].tags` | Array | - | 검색·필터링용 태그 목록 | | `scenes[].content` | Object | - | 관찰 기반 장면 메타데이터: [content](/docs/mi-get-transformation-result#content) | #### `content` `content`에 대한 설명은 다음과 같습니다. 모든 하위 필드는 optional이며, 장면에서 관찰되지 않은 정보는 생략됩니다. 향후 새로운 필드가 추가될 수 있으므로, 정의되지 않은 필드는 무시하도록 구현해 주십시오. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `objects` | Array | - | 장면 내 주요 객체명 목록 - 인물은 포함하지 않음 | | `actions` | Array | - | 장면에서 관찰되는 주요 행위 목록 | | `environment` | Object | - | 배경 정보 - `place`: 관찰 가능한 장소 또는 배경 - `locationType`: `indoor`, `outdoor` 등 - `timeOfDay`: `daytime`, `night`, `unknown` 등 | | `composition` | Object | - | 촬영 구도 정보 - `shotType`: 샷 크기(예: `close_up`, `medium_shot`, `wide_shot`) - `cameraAngle`: 카메라 앵글(예: `eye_level`, `high_angle`, `low_angle`) - `cameraMovement`: 카메라 움직임(예: `static`, `pan`, `tilt`, `tracking`) | | `persons` | Array | - | 라벨링된 인물 목록 - `id`: 동일 에셋 내 인물 식별자 - `label`: 인물명 - 익명 인물은 포함하지 않음 | | `textInScene` | Array | - | 장면 내 등장하는 텍스트(자막·간판·화면 표시 등) 원문 | ### 응답 상태 코드 Media Intelligence API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Media Intelligence 응답 상태 코드](/docs/maiu-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 변환 진행 중(`TRANSFORMING`) 응답 예시입니다. ``` { "code": "0", "message": "success", "result": { "status": "TRANSFORMING", "transformStatusMessage": null, "preset": "SCENE_DIGEST", "locale": "en-US" } } ``` `SCENE_DIGEST` 프리셋의 변환 완료(`TRANSFORM_COMPLETED`) 응답 예시입니다. ``` { "code": "0", "message": "success", "result": { "status": "TRANSFORM_COMPLETED", "transformStatusMessage": null, "preset": "SCENE_DIGEST", "locale": "ko-KR", "indexId": 1001, "presetVersion": "1.0.0", "engineVersion": "1.0.0", "outputFields": ["title", "keywords", "paragraphs"], "keywordCount": 5, "paragraphCount": 1, "usage": { "outputTokens": 380 }, "output": { "scenes": [ { "scene": 1, "startMs": 0, "endMs": 5000, "title": "진행자의 인터뷰 오프닝", "keywords": ["광화문", "진행자", "인터뷰", "광장", "시작"], "paragraphs": [ "진행자가 광화문 광장에서 시민 인터뷰 프로그램의 시작을 알린다." ] }, { "scene": 2, "startMs": 5000, "endMs": 12000, "title": "시민 인터뷰 진행", "keywords": ["시민", "일상", "인터뷰", "거리", "대화"], "paragraphs": [ "다양한 시민들이 등장하여 각자의 일상과 생각을 공유한다." ] } ] } } } ``` `SCENE_METADATA` 프리셋의 변환 완료(`TRANSFORM_COMPLETED`) 응답 예시입니다. ``` { "code": "0", "message": "success", "result": { "status": "TRANSFORM_COMPLETED", "transformStatusMessage": null, "preset": "SCENE_METADATA", "locale": "ko-KR", "indexId": 1001, "presetVersion": "1.0.0", "engineVersion": "1.0.0", "usage": { "outputTokens": 640 }, "output": { "scenes": [ { "scene": 1, "startMs": 1000, "endMs": 3000, "timeRange": { "startTime": "00:00:01.000", "endTime": "00:00:03.000", "startTimecode": "00:00:01:00", "endTimecode": "00:00:03:00", "frameRate": 29.97 }, "tags": ["사무실", "노트북", "주간", "업무", "미디엄샷"], "content": { "objects": ["노트북", "책상"], "actions": ["노트북 사용", "대화"], "environment": { "place": "사무실", "locationType": "indoor", "timeOfDay": "daytime" }, "composition": { "shotType": "medium_shot", "cameraAngle": "eye_level" }, "persons": [ { "id": "person_1", "label": "김그린" } ], "textInScene": ["Q4 REPORT"] } } ] } } } ```