VPC 환경에서 이용 가능합니다.
요청한 변환 작업의 진행 상태와 결과를 조회합니다. 변환 상태가 TRANSFORM_COMPLETED인 경우 응답에 프리셋별 변환 결과(result.output)가 포함됩니다. 변환은 비동기로 처리되므로, 장면 요약 활용 요청으로 반환된 변환 작업 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 요청 헤더를 참조해 주십시오.
요청 경로 파라미터
파라미터에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
workspace_name |
String | Required | 워크스페이스 이름 |
project_id |
String | Required | 프로젝트 ID
|
asset_id |
String | Required | 미디어 에셋 ID
|
transformation_id |
String | Required | 변환 작업 ID |
요청 예시
요청 예시는 다음과 같습니다.
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 처리 결과 코드 |
message |
String | - | API 처리 결과 메시지 |
result |
Object | - | 변환 상태 및 결과 정보 |
result.status |
String | - | 변환 상태
|
result.transformStatusMessage |
String | - | 변환 실패 시 오류 상세 메시지
|
result.preset |
String | - | 사용된 변환 프리셋
|
result.locale |
String | - | 변환 결과 언어
|
result.indexId |
Integer | - | 변환에 사용된 장면 요약이 속한 인덱스 ID
|
result.presetVersion |
String | - | 프리셋 변환 정책 버전
|
result.engineVersion |
String | - | 변환 엔진 버전
|
result.outputFields |
Array<String> | - | 적용된 출력 필드
|
result.keywordCount |
Integer | - | 적용된 장면당 키워드 개수
|
result.paragraphCount |
Integer | - | 적용된 장면당 요약 문단 개수
|
result.usage |
Object | - | 사용량 정보
|
result.output |
Object | - | 프리셋별 변환 결과
|
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 | - | 장면 대표 제목
|
scenes[].keywords |
Array<String> | - | 장면 핵심 키워드 목록
|
scenes[].paragraphs |
Array<String> | - | 장면 요약 문단 목록
|
output (SCENE_METADATA)
preset이 SCENE_METADATA인 경우의 output에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
scenes |
Array | - | 장면별 메타데이터 목록 |
scenes[].scene |
Integer | - | 장면 ID |
scenes[].startMs |
Integer | - | 장면 시작 시간 (밀리초) |
scenes[].endMs |
Integer | - | 장면 종료 시간 (밀리초) |
scenes[].timeRange |
Object | - | 표시용 시간 및 타임코드 정보
|
scenes[].tags |
Array<String> | - | 검색·필터링용 태그 목록 |
scenes[].content |
Object | - | 관찰 기반 장면 메타데이터: content |
content
content에 대한 설명은 다음과 같습니다. 모든 하위 필드는 optional이며, 장면에서 관찰되지 않은 정보는 생략됩니다. 향후 새로운 필드가 추가될 수 있으므로, 정의되지 않은 필드는 무시하도록 구현해 주십시오.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
objects |
Array<String> | - | 장면 내 주요 객체명 목록
|
actions |
Array<String> | - | 장면에서 관찰되는 주요 행위 목록 |
environment |
Object | - | 배경 정보
|
composition |
Object | - | 촬영 구도 정보
|
persons |
Array<Object> | - | 라벨링된 인물 목록
|
textInScene |
Array<String> | - | 장면 내 등장하는 텍스트(자막·간판·화면 표시 등) 원문 |
응답 상태 코드
Media Intelligence API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Media Intelligence 응답 상태 코드를 참조해 주십시오.
응답 예시
변환 진행 중(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"]
}
}
]
}
}
}