Skip to Content

5장 문제: 이미지와 영상

공식 범위를 참고한 자체 제작 연습문제입니다. 공통 시험 유형을 연습하며 AI-103의 실제 문항 구성·난이도를 재현하지 않습니다. 공식 연습 평가 안내 (로그인 필요) · 공식 모듈 샘플 · 공식 시험 화면 체험

12문항 · 기록 불러오는 중

5.1 이미지 이해하기

이미지 설명이 실제 손상 부위를 놓쳤습니다. 요청에서 먼저 고칠 부분은?

사용자 사진: photo_17.png / 오른쪽 하단에 균열
실제 요청 payload:
  text="오른쪽 하단 손상을 설명해 줘. 파일: photo_17.png"
  images=[]
응답: 제공된 이미지에서 손상이 확인되지 않습니다.
선택 모델: 이미지 입력 지원
  1. 이미지 입력은 유지하고 손상 묘사 지침만 구체화한다
  2. 지원 형식으로 실제 이미지를 보내고 해당 부위를 재검토한다
  3. 이미지를 더 압축하고 파일명 문자열을 다시 전달한다
  4. 응답 문구를 완화하고 손상 없음으로 기록을 확정한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: B. 지원 형식으로 실제 이미지를 보내고 해당 부위를 재검토한다

파일명은 요청 텍스트에 있지만 images가 비어 있어 모델이 사진을 받은 증거가 없습니다. 입력 전송부터 바로잡아야 합니다.

두 제품 사진의 설명이 뒤바뀌었습니다. 연결 오류가 처음 발생한 곳은?

요청 입력: [{id:"A", image:"red.png"}, {id:"B", image:"blue.png"}]
모델 응답: [{id:"B", color:"blue"}, {id:"A", color:"red"}]
앱 연결: zip(요청 입력, 모델 응답)
화면: A=blue / B=red
응답 순서 보장: 없음
  1. 모델에 색상 예시를 추가하고 현재 zip 연결을 유지한다
  2. 이미지 해상도를 높이고 현재 zip 연결을 유지한다
  3. 응답 순서가 바뀌어도 고유 이미지 ID로 결과를 연결한다
  4. 응답을 색상명 순으로 정렬하고 요청과 zip으로 묶는다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: C. 응답 순서가 바뀌어도 고유 이미지 ID로 결과를 연결한다

응답의 ID별 색상은 맞지만 zip이 응답 순서를 요청 순서와 같다고 가정해 뒤바뀝니다. ID로 대응해야 합니다.

제조 연도를 묻는 이미지 응답을 검토합니다. 적절한 판정은?

사진: 오래된 외형의 장비 / 연식 표시는 보이지 않음
OCR: 모델명·제조 연도 검출 없음
조회 도구: 호출되지 않음
모델 응답: "2018년 제조입니다. 확신도 92%."
  1. 확신도 92%를 기준으로 2018년을 확정해 저장한다
  2. 오래된 외형을 기준으로 2018년 전후라고 확정한다
  3. OCR 결과가 비었으므로 해당 장비의 제조 연도가 없다고 본다
  4. 2018년을 확정하지 말고 식별 표식·제품 기록을 요청한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: D. 2018년을 확정하지 말고 식별 표식·제품 기록을 요청한다

이미지·OCR·도구 기록에 정확한 연도를 뒷받침할 근거가 없습니다. 모델의 자체 확신 숫자는 독립 검증이 아닙니다.

구매 화면의 제품 사진 대체 텍스트를 검토합니다. 현재 근거로 적절한 문장은?

사진: 빨간 손잡이 머그컵 / 옆면에 작은 흠집
측정 기록: 재질·용량 미제공
현재 대체 텍스트: "최고급 도자기 500mL 새 머그컵"
용도: 상품 상태를 파악하는 구매 화면
  1. 빨간 손잡이 머그컵, 옆면에 작은 흠집이 있음
  2. 빨간 손잡이의 새 도자기 머그컵, 용량 500mL
  3. 이미지 파일이며 머그컵 상품의 사진이 표시됨
  4. 빨간 손잡이가 있는 좋은 품질의 머그컵 상품

풀이 기록 기능을 불러오는 중…

해설 보기

정답: A. 빨간 손잡이 머그컵, 옆면에 작은 흠집이 있음

보이는 형태·색상과 구매에 필요한 상태를 설명하고 미확인 재질·용량을 단정하지 않습니다.

상품 분석 결과를 고정 필드로 저장하려고 합니다. 분석기 출력과 앱의 불명 값 처리를 각각 선택하세요.

필요 필드: color, material, damage
현재 분석기: 자유 설명 생성
샘플 결과: "빨간 가방이며 가죽처럼 보입니다."
저장 앱: color="red", material="leather", damage=false
실제 사진: 소재 표식 없음 / 모서리 일부 가려짐
  1. 자유 설명만 출력
  2. 형식 있는 필드 출력
  3. 불명 값 유지
  4. 기본값으로 확정

풀이 기록 기능을 불러오는 중…

해설 보기

정답: 고정 필드가 필요한 저장 앱의 입력: 타입·필드 구조를 정한 JSON 결과 사용 / 사진으로 확인할 수 없는 소재·손상 값: 불명 상태를 유지하고 근거 확인·추가 검토로 연결

Content Understanding의 분석기는 구조화 필드와 출력 구성을 정의할 수 있습니다. 고정 필드는 타입 있는 결과로 처리하고 사진에 근거가 없는 소재·가려진 손상은 앱의 관례로 확정하지 않아야 합니다.

결함 위치 표시가 사진과 어긋납니다. 첫 수정 대상은?

분석 이미지: 1000×500
결과: defect="crack", box=[100,50,300,150] (픽셀 x1,y1,x2,y2)
화면 이미지: 500×250 / 같은 비율, 자르기 없음
현재 UI: box 좌표를 그대로 그림
관찰: 표시 상자가 실제 결함보다 오른쪽·아래에 있음
  1. 좌표를 표시 배율 0.5로 변환해 같은 사진에 그린다
  2. 원본 좌표를 유지하고 결함 설명 문구를 더 구체화한다
  3. 가로 좌표만 0.5배로 바꾸고 세로 좌표는 유지한다
  4. 현재 좌표에 여백 50픽셀을 더해 위치를 다시 그린다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: A. 좌표를 표시 배율 0.5로 변환해 같은 사진에 그린다

원본 픽셀 좌표를 절반 크기의 화면에 그대로 사용했습니다. 같은 기준으로 0.5배 변환한 좌표는 [50,25,150,75]입니다.

5.2 이미지 생성·편집하기

사양표는 특정 제품의 실제 보장이 아닌 가상 비교 자료입니다. 현재 요구에 맞는 후보는?

요구: 텍스트로 새 이미지 생성 / 승인 지역 R1 / 예산 ≤3단위
후보 A: 이미지 설명만 / R1 / 1단위
후보 B: 이미지 생성   / R2 / 2단위
후보 C: 이미지 생성   / R1 / 2단위
후보 D: 이미지 생성   / R1 / 5단위
품질 비교: 아직 미실시
  1. C로 생성 품질을 시험하고 출력 형식도 검증한다
  2. A로 생성 품질을 시험하고 설명 결과를 변환한다
  3. B로 생성 품질을 시험하고 지역 차이를 기록한다
  4. D로 생성 품질을 시험하고 비용 차이를 기록한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: A. C로 생성 품질을 시험하고 출력 형식도 검증한다

C만 생성 기능·지역·예산의 사전 조건을 모두 충족합니다. 사양 충족만으로 실제 이미지 품질이 통과한 것은 아닙니다.

간판만 수정해야 하는 편집 결과입니다. 다음 시도에서 먼저 바꿀 입력은?

요구: 간판의 "OLD"→"NEW" / 인물·구도 유지
현재 요청: text_only="간판이 NEW인 같은 거리"
출력: 간판 NEW / 인물·구도 변경
선택 모델의 편집 API: 원본 이미지·마스크 입력 지원
원본·마스크 전송 기록: 없음
  1. 텍스트 묘사를 늘리고 같은 text_only 요청을 반복한다
  2. 마스크 범위를 전체 화면으로 넓혀 원본을 편집한다
  3. 원본과 간판 마스크를 보내고 비편집 영역을 대조한다
  4. 원본의 해상도를 낮춰 text_only 결과와 비교한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: C. 원본과 간판 마스크를 보내고 비편집 영역을 대조한다

텍스트만으로 재생성해 원래 인물·구도를 유지할 증거가 부족합니다. 지원되는 편집 입력으로 대상을 한정하고 바깥 영역도 검증해야 합니다.

서로 다른 생성 모델을 같은 래퍼로 호출합니다. 다음 수정은?

# 아래는 교육용 모델 계약
A 지원 size=[1024x1024], output=base64
B 지원 size=[1280x720],  output=job_id
wrapper(size="1024x1024"):
  result = call(selected_model, size=size)
  return download(result["url"])
A: KeyError(url) / B: unsupported size
  1. 모델별 크기 검증과 결과 유형별 처리 분기를 둔다
  2. 공통 크기를 1280x720으로 바꾸고 URL 처리를 유지한다
  3. 공통 크기를 유지하고 base64만 URL 문자열로 바꾼다
  4. 공통 크기를 유지하고 오류 재시도 횟수만 늘린다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: A. 모델별 크기 검증과 결과 유형별 처리 분기를 둔다

A는 base64를 반환하고 B는 작업 ID를 반환하며 허용 크기도 다릅니다. 입력 옵션과 비동기·출력 계약을 각각 처리해야 합니다.

5.3 영상 생성·분석하기

영상 생성 작업이 아직 진행 중입니다. 아래 코드의 수정은?

POST generate → {"id":"J8","status":"queued"}
app:
  video = download("/jobs/J8/content")
  mark_complete(video)
GET content → HTTP 409 not_ready
이 교육용 API 계약: completed 뒤 content 조회
  1. 409마다 새 생성 요청을 보내 먼저 끝난 결과를 받는다
  2. J8 상태를 대기·조회하고 완료 뒤 결과를 받는다
  3. 접수 성공을 기준으로 결과 URL을 공개하고 완료로 남긴다
  4. 고정 시간만 기다린 뒤 상태 확인 없이 결과를 다운로드한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: B. J8 상태를 대기·조회하고 완료 뒤 결과를 받는다

queued는 접수 상태이며 다운로드 준비가 끝났다는 의미가 아닙니다. 같은 작업을 조회하고 실패·시간 초과도 처리해야 합니다.

가상 API의 지원 계약을 보고 기존 동작을 유지할 경로를 고르세요.

요구: 영상 V7의 동작 유지 / 배경만 변경
text_generate(prompt): 새 영상 생성
remix(source_video_id, prompt): 기존 생성 영상 수정
지원: 현재 모델·버전에서 V7 remix 가능
현재 코드: text_generate("V7과 같은 동작, 배경만 변경")
  1. 현재 text_generate를 유지하고 V7 설명을 길게 쓴다
  2. 이전 생성의 시드를 재사용하고 텍스트 요청으로 다시 생성한다
  3. V7의 마지막 프레임만 쓰고 전체 동작 보존을 확정한다
  4. V7을 remix 입력으로 주고 동작·배경을 따로 비교한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: D. V7을 remix 입력으로 주고 동작·배경을 따로 비교한다

현재 계약에서 기존 영상을 입력받는 경로는 remix입니다. 이를 사용해도 동작 보존은 결과를 원본과 대조해야 확인할 수 있습니다.

검토자가 안전 장비 미착용 장면으로 바로 이동해야 합니다. 결과 계약의 수정은?

분석 결과: "작업자가 안전모를 벗음"
원본 영상: V12 / 길이 30분
내부 분석 기록: start=742.1s / end=749.6s / person=P2
최종 내보내기: summary 문자열만 저장
검토 화면: 영상 전체 처음부터 재생
  1. 요약을 더 길게 쓰고 원본 영상의 길이를 함께 저장한다
  2. 대표 프레임 하나만 저장하고 영상 시간은 제거한다
  3. 요약에 원본 ID·시간 구간·대상 식별자를 연결한다
  4. 미착용 점수만 저장하고 요약·시간 구간을 제거한다

풀이 기록 기능을 불러오는 중…

해설 보기

정답: C. 요약에 원본 ID·시간 구간·대상 식별자를 연결한다

내부 기록에 있는 시간·대상 정보가 내보내기에서 사라졌습니다. 해당 장면으로 이동하고 관찰을 확인할 수 있는 근거 위치를 보존해야 합니다.