영상 생성·분석하기
관련 기초 개념
5.3 영상 생성·분석하기
세부 학습 목표
- 영상 생성·remix 작업의 ID·조회·성공/실패·취소 조건을 관리한다.
- 생성형 편집과 정확한 구간·레이어 편집을 구별한다.
- 영상 구간·발화·프레임을 근거로 연결하고 누락·시간·일관성을 평가한다.
개요
- 영상 생성: 작업 제출 → 상태 조회 → 완료 결과 수집.
- 영상 편집: 생성형 변형과 정확한 시간·레이어 편집 구분.
- 영상 분석: 사건·발화·시간 구간을 원본 프레임과 연결.
생성 작업을 상태로 관리하기
-
긴 생성 작업은 HTTP 요청이 돌아와도 영상이 아직 준비되지 않을 수 있습니다.
제출 결과의 작업 ID를 보관하고 상태를 조회한 뒤, 성공한 작업의 결과를 가져옵니다. 대기·진행 상태를 실패로 간주해 같은 생성 요청을 계속 새로 보내면 비용과 작업 수가 증가합니다.
| 앱의 상태 | 다음 처리 |
|---|---|
| 접수·대기 | 작업 ID 보관, 제한된 간격으로 조회 |
| 실행 중 | 시간 제한·사용자 상태 표시, 취소 API 지원 여부 확인 |
| 완료 | 결과 수집, 정책·품질 검사 |
| 실패 | 원인 기록, 재시도 가능성 판단 |
| 결과 만료 | 다시 얻을 수 있는지 확인 후 별도 처리 |
-
이 표는 앱의 상태 모델입니다.
실제 SDK/REST 응답의 상태 이름·조회 메서드·결과 가용 시간은 선택한 API에서 확인합니다. 조회 재시도와 생성 작업 재제출은 서로 다른 동작입니다.
-
현재 Sora 2 문서는 생성과 remix 흐름을 안내하며 preview 표시가 있습니다.
입력 영상·참조 이미지·출력 길이·해상도·사용 정책은 모델과 API 버전에 따라 확인합니다. 기존 작업에 프롬프트를 바꿔 적었다고 이미 생성된 결과가 자동 갱신된다고 가정하지 않습니다. 앱의 대기 중단이 서버 생성 작업의 취소를 뜻하지는 않습니다. 선택한 API가 취소를 지원하는지 확인하고, 대기 중단 뒤에도 남은 작업과 비용을 관리합니다.
-
Remix가 특정 시간 구간이나 자막 레이어만 바꾸고 나머지 프레임을 동일하게 보존한다고 가정하지 않습니다.
이런 보존이 필수라면 타임라인 편집 도구에서 해당 구간과 레이어를 직접 수정합니다.
영상 분석은 시간 근거가 필요하다
-
“작업자가 안전 장비를 벗은 구간”을 찾으려면 전체 영상의 일반 요약만으로 부족합니다.
어느 구간에서 무엇을 보았는지와 해당 프레임·발화를 연결해야 사람이 검토할 수 있습니다.
-
CU 영상 분석에서는 시각 정보·전사·구간 정보를 조합한 Markdown/JSON 표현을 사용할 수 있습니다.
음성에 특정 단어가 있다고 시각 사건이 발생했다고 확정하지 않고, 실제 장면을 확인합니다. 전체 영상 모드와 구간 분할 모드도 목적에 따라 비교합니다.
구간 정보를 질의에 연결하는 로컬 예제
다음은 실제 CU 응답이 아닌 앱이 정규화한 가상 분석 결과입니다. 초 단위 시작·종료 시간을 보존합니다.
segments = [
{"start": 0, "end": 12, "event": "장비 준비"},
{"start": 12, "end": 18, "event": "보호구 재착용"},
{"start": 18, "end": 30, "event": "정상 작업"},
]
hits = [s for s in segments if "보호구" in s["event"]]
assert len(hits) == 1
assert hits[0]["start"] == 12
print(f"검토 구간: {hits[0]['start']}~{hits[0]['end']}초")기대 출력은 검토 구간: 12~18초입니다. 검색으로 찾은 설명을 원본의 해당 시점과 대조해야 실제 사건인지 판단할 수 있습니다. 교육 영상의 발화를 검색할 때도 문장과 시간을 연결하면 사용자가 그 구간으로 이동할 수 있습니다.
전처리와 분석의 한계 확인
-
영상 프레임의 글자가 작거나 물체가 멀리 있으면 시각 정보가 손실될 수 있습니다.
일부 프레임만 검사해서 전체 구간에 사건이 없었다고 결론내리지 않습니다. 분할·프레임 선택·전사·구간 경계의 오류와 최종 분석 오류를 나눠 봅니다.
-
영상 생성 결과에는 요구한 대상·행동·시간적 일관성과 금지 콘텐츠를, 영상 이해 결과에는 사건 위치·구간·발화 대응과 오탐·누락을 평가합니다.
두 작업을 같은 성공 지표 하나로 취급하지 않습니다.
영상 생성 비동기 작업 상태
-
Azure의 Sora 2 영상 생성은 2026년 10월 기준 미리 보기(Preview) 기능입니다.
작업을 비동기로 제출한 뒤 작업 식별자로 상태를 조회하고 완료 시 결과를 가져옵니다. 지원 지역·계정 자격·최대 길이·해상도·비용은 요청 전에 확인합니다.
-
상황: 영상 요청 직후 결과가 없자 앱이 같은 생성 요청을 10회 반복했습니다.
-
적용: 동일 요청을 반복 제출하지 말고 최초 영상 작업의 ID를 보관해 대기·진행·완료·실패 상태를 조회합니다.
앱에서 대기를 중단하는 것과 서버의 생성 작업 취소는 구분하며, 서버 취소는 선택한 API에서 지원하는지 먼저 확인합니다. 지역·쿼터·비용 조건도 확인합니다.
영상 프롬프트·참조 자료 구성
-
Sora 2의 영상 프롬프트는 장면·행동·카메라·출력 길이 등을 지정할 수 있으며 이미지 참조와 생성된 영상 기반 리믹스 등은 모델·입력 조건에 따라 지원됩니다.
이 기능은 2026년 10월 기준 Preview이고 시간적 일관성이나 제품 외형의 완전한 동일성을 보장하지 않습니다.
-
상황: 제품 소개 영상에서 동일한 제품이 여러 장면에 등장해야 합니다.
-
적용: 참조 이미지·길이·구도·장면 지시를 지원 범위 내에서 설정한 뒤 결과의 제품 외형·장면 연속성을 검수합니다.
생성형 영상은 동일성을 보증하지 않습니다.
생성 영상의 부분 편집
-
Sora 2의 영상 리믹스(Preview)는 기존 생성 영상을 프롬프트에 따라 재해석하는 기능입니다.
특정 3초 구간의 자막 색상만 정확히 변경하고 다른 프레임을 완전히 보존하는 타임라인 편집과는 다릅니다. 픽셀·프레임 단위 변경이 필요하면 비선형 영상 편집 도구에서 레이어와 시간 구간을 직접 수정합니다.
-
상황: 편집 가능한 자막 레이어가 있는 15초 영상에서 마지막 3초의 자막 색상만 변경하고 나머지 프레임은 유지해야 합니다.
-
적용: 타임라인 편집기에서 마지막 3초에 해당하는 자막 레이어의 색상만 변경합니다.
자막이 이미 영상 픽셀에 합성된 경우에는 원본 프로젝트 복원이나 별도 복원 작업이 필요합니다. Sora 2 Remix는 생성 영상을 변형하는 기능이며 다른 프레임의 동일성을 보장하지 않습니다.
영상 구간 분석과 근거 확인
-
생성 영상과 기존 영상의 내용 분석은 서로 다른 작업입니다.
생성에는 Sora 2 등의 생성 모델을, 시간별 구간 추출·장면 설명·구조화된 결과에는 Content Understanding 영상 Analyzer 등을 검토합니다. 영상 분석 모델은 프레임 샘플링을 하므로 매우 짧은 사건은 누락될 수 있습니다.
-
상황: 검사 영상의 00:24에서 경고등이 켜지는지 확인하려 합니다.
-
적용: 00:24 전후 프레임과 시간 정보를 포함해 분석하고 사람이 원본을 확인합니다.
매우 짧게 켜진 경고등은 영상 샘플링에 누락될 수 있으므로 원본 프레임의 확인이 필요합니다.
확인 문제
공식 범위를 참고한 자체 제작 연습문제입니다. 공통 시험 유형을 연습하며 AI-103의 실제 문항 구성·난이도를 재현하지 않습니다. 공식 연습 평가 안내 (로그인 필요) · 공식 모듈 샘플 · 공식 시험 화면 체험
영상 생성 작업이 아직 진행 중입니다. 아래 코드의 수정은?
POST generate → {"id":"J8","status":"queued"}
app:
video = download("/jobs/J8/content")
mark_complete(video)
GET content → HTTP 409 not_ready
이 교육용 API 계약: completed 뒤 content 조회- 409마다 새 생성 요청을 보내 먼저 끝난 결과를 받는다
- J8 상태를 대기·조회하고 완료 뒤 결과를 받는다
- 접수 성공을 기준으로 결과 URL을 공개하고 완료로 남긴다
- 고정 시간만 기다린 뒤 상태 확인 없이 결과를 다운로드한다
풀이 기록 기능을 불러오는 중…
해설 보기
정답: B. J8 상태를 대기·조회하고 완료 뒤 결과를 받는다
queued는 접수 상태이며 다운로드 준비가 끝났다는 의미가 아닙니다. 같은 작업을 조회하고 실패·시간 초과도 처리해야 합니다.
가상 API의 지원 계약을 보고 기존 동작을 유지할 경로를 고르세요.
요구: 영상 V7의 동작 유지 / 배경만 변경
text_generate(prompt): 새 영상 생성
remix(source_video_id, prompt): 기존 생성 영상 수정
지원: 현재 모델·버전에서 V7 remix 가능
현재 코드: text_generate("V7과 같은 동작, 배경만 변경")- 현재 text_generate를 유지하고 V7 설명을 길게 쓴다
- 이전 생성의 시드를 재사용하고 텍스트 요청으로 다시 생성한다
- V7의 마지막 프레임만 쓰고 전체 동작 보존을 확정한다
- V7을 remix 입력으로 주고 동작·배경을 따로 비교한다
풀이 기록 기능을 불러오는 중…
해설 보기
정답: D. V7을 remix 입력으로 주고 동작·배경을 따로 비교한다
현재 계약에서 기존 영상을 입력받는 경로는 remix입니다. 이를 사용해도 동작 보존은 결과를 원본과 대조해야 확인할 수 있습니다.
검토자가 안전 장비 미착용 장면으로 바로 이동해야 합니다. 결과 계약의 수정은?
분석 결과: "작업자가 안전모를 벗음" 원본 영상: V12 / 길이 30분 내부 분석 기록: start=742.1s / end=749.6s / person=P2 최종 내보내기: summary 문자열만 저장 검토 화면: 영상 전체 처음부터 재생
- 요약을 더 길게 쓰고 원본 영상의 길이를 함께 저장한다
- 대표 프레임 하나만 저장하고 영상 시간은 제거한다
- 요약에 원본 ID·시간 구간·대상 식별자를 연결한다
- 미착용 점수만 저장하고 요약·시간 구간을 제거한다
풀이 기록 기능을 불러오는 중…
해설 보기
정답: C. 요약에 원본 ID·시간 구간·대상 식별자를 연결한다
내부 기록에 있는 시간·대상 정보가 내보내기에서 사라졌습니다. 해당 장면으로 이동하고 관찰을 확인할 수 있는 근거 위치를 보존해야 합니다.
참고 자료
- Video generation with Sora 2 (preview)
- Azure Content Understanding in Foundry Tools video solutions
- AudioVisual analysis: Markdown representation
- Generate videos with Microsoft Foundry
자료 확인: 2026-10-22 · 적용 사례 교정: 2026-10-23. 사례는 교육용이며 Azure API 호출·요금은 실행 검증하지 않았습니다.
직접 적용하기
교육용 가상 상황
영상 전체를 분석했다고 설명했지만 실제 입력은 00:10과 00:20의 두 프레임뿐입니다.
그 입력으로 말할 수 있는 범위와 추가로 필요한 자료를 설명하세요.
답안 저장 기능을 불러오는 중…
검증 기준과 해설 보기
- 두 프레임에서 관찰한 내용과 영상 전체 판단을 구분한다.
- 미관찰 구간의 동작·인과를 단정하지 않는다.
- 필요한 구간·프레임·시간 정보를 요청한다.
두 시점의 화면 정보만으로 전체 영상의 연속 동작을 확인했다고 할 수 없습니다. 실제 제공된 구간을 밝히고 판단에 필요한 장면과 시간 정보를 추가로 확보합니다.
복습하기
- 프레임 설명으로 연속 동작을 모두 알 수 있나요?
- 분석과 생성은 어떤 점이 다른가요?
- 시간 표시는 왜 필요한가요?
답변 확인 기준
- 프레임 설명으로 연속 동작을 모두 알 수 있나요?
관찰하지 않은 시간 구간의 정보가 빠질 수 있습니다.
- 분석과 생성은 어떤 점이 다른가요?
관찰한 내용의 설명과 새로운 영상 제작은 다른 작업입니다.
- 시간 표시는 왜 필요한가요?
주장과 실제 장면·구간을 대조할 수 있게 합니다.