{
  "status": "completed",
  "completed_count": 30,
  "applicable_count": 30,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "scene_heading": "S#1. 숲속 / 해 질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "짙은 그림자가 깔린 숲의 수풀을 헤치며 달리는 자세로 한쪽 발이 공중에 떠 있는 찢어진 옷차림의 한국인 남자 전신.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "허공을 향해 입을 크게 벌린 채 공포에 질려 굳어버린 한국인 남자의 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "남자의 등 뒤를 향해 공중에 뜬 채 날아드는 검은 인간형 실루엣.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자",
              "검은 인간형 실루엣"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "바닥에 엎어진 한국인 남자의 어깨를 두 손으로 강하게 움켜쥔 검은 실루엣의 정지된 모습.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자",
              "검은 실루엣"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 2,
        "scene_heading": "S#2. 도시 뒷골목 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "희미한 가로등 불빛 아래, 전봇대에 등을 기댄 채 바짝 밀착해 서 있는 한국인 남녀의 측면.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자",
              "한국인 여자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "짙은 그림자 속에서 선명하게 붉은빛을 뿜어내는 한국인 남자의 두 눈동자.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "한국인 여자의 목덜미에 깊게 박힌 한국인 남자의 이빨과 그 주변에 맺힌 붉은 핏자국.",
            "based_on_beat": 1,
            "characters": [
              "한국인 여자",
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "전봇대 밑동에 목이 꺾인 채 축 늘어진 한국인 여자의 상반신.",
            "based_on_beat": 1,
            "characters": [
              "한국인 여자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "검붉은 핏자국이 번진 어두운 골목길 바닥에 널브러진 여자의 시신을 비추는 넓고 서늘한 구도.",
            "based_on_beat": 2,
            "characters": [
              "여자"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 3,
        "scene_heading": "S#3. 현장 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "노란색 폴리스 라인 테이프를 쥔 채 형체를 알 수 없는 시신을 에워싸고 굳은 표정으로 서 있는 한국인 경찰들의 모습.",
            "based_on_beat": 1,
            "characters": [
              "한국인 경찰들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "사건 현장을 향해 팔을 꼿꼿하게 뻗은 자세로 멈춰 선 혜수와 그 주위를 둘러싼 형사들의 굳건한 모습.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "형사들"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 4,
        "scene_heading": "S#4. 옥탑방 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "안개가 깔린 해안 도시 변두리, 낡은 빌라 옥상 위로 널린 빨래가 바람에 살짝 들린 순간을 내려다본 부감 구도.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 5,
        "scene_heading": "S#5. 옥탑방 안 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "앞치마를 멘 채 거실 TV 화면에 시선을 고정한 민숙의 무겁고 굳은 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "열린 방문 앞에 서서 양팔을 위로 뻗은 기지개 자세를 취한 수리영의 전신.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "방문을 열고 나와 양팔을 위로 뻗은 기지개 자세로 멈춘 수리영의 전신.",
            "validator_reason": "'방문을 열고 나와'라는 시간 순차적 동작을 제거하고 기지개 켜는 정지 자세만 남겼습니다.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "TV 리모컨의 전원 버튼을 손가락으로 꽉 누른 채 멈춰 있는 민숙의 손 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "김이 모락모락 피어오르는 검은 약초 물이 담긴 컵을 앞으로 내민 민숙의 상체.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "컵을 입술에 댄 채 미간을 잔뜩 찌푸린 수리영의 얼굴.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "한쪽 운동화를 신은 자세로 현관에서 뒤를 돌아본 채 밝게 미소 짓는 수리영의 모습.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "한쪽 운동화를 신은 자세로 현관에서 뒤를 돌아보며 밝게 미소 짓는 수리영의 모습.",
            "validator_reason": "'돌아보며'라는 동시 진행형 표현을 정지 상태인 '돌아본 채'로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "민숙의 어깨 쪽으로 고개를 숙인 채 두 눈을 감고 미소 짓는 수리영의 평온한 옆얼굴.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "민숙의 핏기 없는 손목 안쪽에 뚜렷하게 도드라진 짙은 원형 표식 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "고개를 살짝 기울인 채 민숙의 손목 표식에 시선을 고정한 수리영의 굳은 눈빛.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "S#6. 해안가 도로 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "바닷바람이 부는 해안가 도로 위, 이어폰을 낀 채 자전거 페달을 힘차게 밟고 있는 수리영의 활기찬 측면, 머리카락과 옷깃이 뒤로 흩날리는 역동적인 순간.",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "바닷바람이 부는 해안가 도로 위, 이어폰을 낀 채 자전거 페달을 밟는 자세로 멈춘 수리영의 활기찬 측면.",
            "validator_reason": "이동 동작을 묘사할 때 '멈춘'과 같은 정지 강조 표현 대신 추진력과 방향성이 보존된 mid-action 상태로 수정",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 7,
        "scene_heading": "S#7. 유기견 보호원 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "철장 벽에 두 앞발을 올린 채 이빨을 사납게 드러내고 얼어붙은 맹견 로트와일러의 정면.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "미동조차 없이 맹견을 똑바로 응시하는 수리영의 매서운 눈빛 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "고개를 바닥에 바짝 붙인 채 얌전히 엎드려 있는 로트와일러의 전신.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "로트와일러의 엉덩이 근육에 주사기 바늘이 꽂혀 있는 순간을 잡은 50대 한국인 남성 수의사의 손.",
            "based_on_beat": 1,
            "characters": [
              "50대 한국인 남성 수의사"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "귀에 휴대전화를 댄 채 입술을 굳게 다물고 바닥을 응시하는 수리영의 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "하얀 거품이 묻은 두 손으로 욕조 안의 젖은 개 등허리를 짚은 채 멈춘 수리영의 모습.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 8,
        "scene_heading": "S#8. 번화가·대형 마트 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "붉은 네온사인이 비치는 번화가 마트 유리창 앞에 자전거를 비스듬히 세운 수리영의 모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "마트 진열대 사이에서 미간을 살짝 찌푸린 채 주위를 둘러보는 포즈로 멈춘 수리영의 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "유니폼을 입은 중년 한국인 여직원을 향해 놀란 듯 눈을 동그랗게 뜬 수리영의 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "여직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "양손으로 커다란 종이박스를 든 채 고개를 돌려 수리영 쪽을 응시하는 남자 직원의 모습.",
            "based_on_beat": 2,
            "characters": [
              "남자 직원",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "어두운 마트 밖 길거리에 홀로 서서 휴대전화 액정을 멍하게 내려다보는 수리영의 전신.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "S#9. 해안가 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "자전거 전조등 불빛만이 비치는 어두운 해안 도로 위, 상체를 앞으로 굽히고 핸들을 꽉 쥔 채 한쪽 페달을 힘껏 밟아 내리는 중간 자세인 수리영의 측면, 머리카락이 진행 반대 방향으로 휘날리는 고정된 상태.",
            "based_on_beat": 0,
            "characters": [
              "수리영"
            ],
            "original_description": "자전거 전조등 불빛만이 비치는 어두운 해안 도로 위, 상체를 앞으로 굽히고 핸들을 꽉 쥔 수리영의 측면.",
            "validator_reason": "원문의 자전거를 타고 달리는 추진력을 보존하기 위해 페달을 밟는 mid-action 자세와 뒤로 휘날리는 머리카락 묘사를 추가함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 10,
        "scene_heading": "S#10. 옥탑방 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 옥상 바닥, 먼지 묻은 한국인 남자의 구두코 위로 바싹 마른 약초 잎사귀가 닿아 있는 순간.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "굳게 닫힌 옥탑방 철문 틈새에 구겨진 전단지를 억지로 밀어 넣은 한국인 남자의 거친 손 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "불이 꺼진 옥탑방의 반투명한 유리창 위로 짙고 거대하게 드리워진 한국인 남자의 실루엣.",
            "based_on_beat": 2,
            "characters": [
              "한국인 남자"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "방 안, 민숙의 어깨에 깊게 이빨을 박아 넣은 어두운 형상과 고통으로 잔뜩 일그러진 민숙의 얼굴.",
            "based_on_beat": 2,
            "characters": [
              "민숙",
              "어두운 형상"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "S#11. 옥탑 방 밖 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어둡고 가파른 옥탑방 외부 계단 첫 단에 발을 내디딘 자세로 굳어버린 수리영의 전신.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "계단 중간에 멈춰 서서 한 손으로 코와 입을 강하게 틀어막은 채 눈살을 찌푸린 수리영의 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "옥상 끝에 얼어붙은 듯 선 채 열린 입구를 향해 시선을 고정한 수리영의 뒷모습.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "내부의 짙은 어둠을 훤히 드러낸 채 반쯤 틈이 벌어져 있는 낡고 녹슨 현관 철문.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "S#12. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "열린 현관문 앞에 가방을 멘 채 실내를 향해 시선을 고정하고 서 있는 수리영의 정면.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "열린 현관문 앞에 가방을 멘 채 안을 살피며 멈춰 선 수리영의 정면.",
            "validator_reason": "'살피며'라는 진행형 동작을 시선이 고정된 정지 상태로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "식탁 위, 찻잔 두 개 중 하나가 엎어진 채 멈춰 있는 상태 클로즈업.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "자신의 방문 손잡이를 거머쥔 채 멈춰 있는 수리영의 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "열린 방문 틈 사이로, 바닥에 흥건한 붉은 피와 커튼 쪽으로 이어진 핏빛 발자국이 보이는 시점 구도.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "핏자국이 이어진 커튼 자락을 꽉 쥔 수리영의 거친 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "젖혀진 커튼 옆으로, 바닥에 주저앉은 채 고개를 푹 숙이고 미동도 없는 민숙의 시신.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "original_description": "커튼이 젖혀진 뒤, 바닥에 주저앉은 채 고개를 푹 숙이고 미동도 없는 민숙의 시신.",
            "validator_reason": "'~한 뒤'라는 시간 연결어를 제거하고 한 순간의 고정된 시각적 상태로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "민숙의 시신을 향해 두 눈을 크게 뜨고 입을 벌린 채 굳어버린 수리영의 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "살점이 뜯겨나가고 붉은 피가 흘러내린 채 멈춘 민숙 시신의 어깨와 쇄골 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "한 걸음 뒤로 물러선 자세로 두 손을 가슴에 모으고 얼어붙은 수리영의 전신.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "귀에 휴대전화를 바싹 댄 채 눈물이 맺힌 눈으로 바닥을 응시하는 수리영의 상체.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "축 늘어진 민숙의 굳은 손 안에 반쯤 구겨진 사진 한 장이 쥐어져 있는 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "사진 쪽으로 손을 뻗은 자세로 멈춘 수리영의 어깨 너머로 보이는 민숙의 손.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "민숙의 차가운 손목에 새겨진 문신이 선명한 붉은색으로 물든 형태 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 14,
            "description": "침대 위 벽면에 피로 칠한 듯한 거대한 붉은 원이 뚜렷하게 새겨져 있는 징후 클로즈업.",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 15,
            "description": "붉은 원이 그려진 벽을 향해 고개를 젖히고 입을 크게 벌린 수리영의 일그러진 표정.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "S#13. 옥탑방 외곽 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 건물 외부 계단을 두 칸 건너뛰듯 내딛어 한쪽 발이 공중에 뜬 수리영의 모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "계단 아래 도로변, 사이렌 불빛을 받으며 초점 없는 눈으로 멍하게 멈춰 선 수리영의 정면.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "열린 차 문 옆에 선 자세로 수리영을 향해 놀란 눈으로 굳어버린 혜수의 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "혜수를 올려다보며 눈물이 고인 채 입술을 살짝 벌리고 굳은 수리영의 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "수리영"
            ],
            "original_description": "혜수를 올려다보며 눈물이 고인 채 입술을 바르르 떠는 표정의 수리영 얼굴 클로즈업.",
            "validator_reason": "'바르르 떠는'은 연속된 동작이므로 단일 정지 상태인 '살짝 벌리고 굳은'으로 수정함.",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "눈썹이 치켜올라간 채 충격에 빠져 입을 벌리고 굳어버린 혜수의 표정.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "original_description": "수리영의 말을 듣고 눈썹을 치켜올리며 충격에 빠진 혜수의 표정.",
            "validator_reason": "'말을 듣고', '치켜올리며' 등 인과 및 연속 동작 표현을 제거하고 충격을 받은 결과 상태로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "옥탑방 외부 계단을 향해 뛰어오르며 한쪽 발을 허공에 띄운 혜수와 김형사의 뒷모습.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "김형사"
            ],
            "original_description": "옥탑방 외부 계단을 향해 몸을 돌려 발을 힘껏 내딛는 혜수와 김형사의 뒷모습.",
            "validator_reason": "'몸을 돌려 발을 내딛는'과 같은 순차적 동작을 제거하고 계단으로 도약하는 mid-action 순간으로 묘사함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 14,
        "scene_heading": "S#14. 옥탑방 안 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "현관 밖으로 나온 자세로 미간을 찌푸린 채 양손을 허리에 얹은 김형사의 상체.",
            "based_on_beat": 1,
            "characters": [
              "김형사"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "김형사 뒤에서 의아한 표정으로 수리영을 향해 고개를 돌린 채 멈춰 선 혜수의 모습.",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "수리영",
              "혜수"
            ],
            "original_description": "김형사 뒤에서 의아한 표정으로 수리영을 돌아보며 멈춰 선 혜수의 모습.",
            "validator_reason": "'돌아보며'의 동시진행 뉘앙스를 '돌린 채'의 정지 상태로 변경하여 한 찰나를 강조함.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "열린 방문 앞에서 핏자국 하나 없이 깨끗한 바닥을 멍하니 내려다보는 수리영의 창백한 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "핏자국과 시신이 모두 사라진 채 텅 빈 커튼 뒤 공간을 비추는 썰렁한 방 안 구도.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "식탁 위, 엎어진 찻잔 없이 깨끗하게 치워진 빈 테이블을 가리킨 채 멈춘 수리영의 손가락.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "수리영을 향해 인상을 구기며 한 손을 내저은 자세로 정지한 김형사의 짜증 섞인 옆얼굴.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "김형사"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "김형사를 향해 날카롭게 눈을 치켜뜬 채 쏘아보는 혜수의 매서운 시선.",
            "based_on_beat": 2,
            "characters": [
              "김형사",
              "혜수"
            ],
            "original_description": "김형사를 향해 날카롭게 눈을 치켜뜨며 쏘아보는 혜수의 매서운 시선.",
            "validator_reason": "'치켜뜨며'의 진행 뉘앙스를 '치켜뜬 채'로 변경하여 고정된 시선을 강조함.",
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "두 손으로 얼굴을 감싼 채 바닥에 시선을 고정하고 얼어붙은 수리영의 상체.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "수리영의 어깨를 두 손으로 따뜻하게 감싸 쥔 채 다정한 눈빛으로 바라보는 혜수의 정면.",
            "based_on_beat": 3,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "수리영의 어깨를 두 손으로 따뜻하게 감싸 쥐고 다정한 눈빛으로 바라보는 혜수의 정면.",
            "validator_reason": "'감싸 쥐고'의 동작 연결을 '감싸 쥔 채'의 고정 상태로 변경함.",
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "수리영의 방 한쪽, 인형이 달린 백팩이 이전과 약간 다른 각도로 비스듬히 놓여 있는 정물 컷.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "S#15. 해안가. 버스정류장 부근 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "짙은 어둠이 깔린 해안가 벤치에 고개를 푹 숙인 채 멈춰 앉은 수리영의 멍한 옆모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "수리영의 눈앞으로 시원한 음료수 캔을 내민 채 미소 짓는 혜수의 손과 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "벤치에서 일어선 자세로 혜수를 향해 고개를 끄덕인 채 굳은 수리영의 결연한 표정.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "벤치에서 일어선 자세로 혜문을 향해 고개를 끄덕인 채 굳은 수리영의 결연한 표정.",
            "validator_reason": "원문에 없는 오타 '혜문'을 실제 씬의 인물인 '혜수'로 수정함.",
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "어두운 도로를 향해 달리는 수리영의 측면, 한쪽 발이 허공에 들려 있고 옷자락이 뒤로 휘날리는 mid-stride 찰나.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "어두운 도로를 향해 몸을 돌려 한쪽 발을 높이 든 달리기 자세로 멈춘 수리영의 측면.",
            "validator_reason": "단순 '멈춘' 표현 대신 달리는 동작의 방향성과 추진력을 살리기 위해 mid-action 모먼트로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "멀리 보이는 수리영의 뒷모습을 향해 한 손을 입가에 댄 채 외치고 있는 혜수의 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "멀어지는 수리영의 뒷모습을 향해 한 손을 입가에 댄 채 외치는 혜수의 상체.",
            "validator_reason": "'멀어지는'이라는 연속/시간 진행 동작 표현을 고정된 시각적 상태인 '멀리 보이는'으로 수정함.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "어두운 그림자 너머로, 멈춰 선 혜수와 한쪽 발을 허공에 뻗은 mid-stride 자세의 수리영이 함께 담긴 서늘한 풀샷.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "수리영"
            ],
            "original_description": "멀리 멈춰 선 혜수와 뛰어가는 수리영을 어두운 그림자 너머로 지켜보는 듯한 서늘한 풀샷.",
            "validator_reason": "'뛰어가는'이라는 연속 동작을 찰나의 달리기 고정 자세(mid-stride)로 수정하여 정지 순간으로 맞춤.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "S#16. 경찰서 사무실 / N",
        "shots": [
          {
            "shot_index": 1,
            "description": "형광등 불빛이 비치는 경찰서 사무실 안, 휴대전화를 귀에 바싹 댄 채 미간을 찌푸린 혜수의 상체.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "모니터 화면을 보며 펜을 쥔 채 의자에 삐딱하게 기대어 앉은 김형사의 모습.",
            "based_on_beat": 1,
            "characters": [
              "김형사"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "김형사의 책상 위로 휴대전화 액정을 내민 채 단호한 눈빛으로 내려다보는 혜수의 정면.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "김형사"
            ],
            "original_description": "김형사의 책상 위로 휴대전화 액정을 내밀며 단호한 눈빛으로 내려다보는 혜수의 정면.",
            "validator_reason": "'내밀며'라는 동작 진행 표현을 '내민 채'라는 고정 상태로 수정하여 정지된 순간을 명확히 함.",
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "귀찮은 듯 입술을 비죽 내밀고 손가락으로 달력 쪽을 가리키며 멈춘 김형사의 얼굴.",
            "based_on_beat": 2,
            "characters": [
              "김형사"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "두 주먹을 책상에 짚고 김형사를 향해 상체를 바짝 숙인 혜수의 강경한 자세.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "김형사"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 17,
        "scene_heading": "S#17. 옥탑방 / 동틀무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "동이 터오는 푸르스름한 새벽빛 아래, 담벼락 위를 걷는 자세로 한쪽 앞발을 든 검은 고양이의 측면 실루엣.",
            "based_on_beat": 0,
            "characters": [
              "검은 고양이"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "환하게 불이 켜진 낡은 옥탑방 창문을 향해 고개를 돌린 채 멈춰 있는 검은 고양이의 눈동자.",
            "based_on_beat": 0,
            "characters": [
              "검은 고양이"
            ],
            "original_description": "환하게 불이 켜진 낡은 옥탑방 창문을 향해 고개를 돌려 멈춘 검은 고양이의 눈동.",
            "validator_reason": "문장 끝의 불완전한 단어('눈동')를 '눈동자'로 수정하고, 고개를 돌린 고정 상태를 강조하여 단일 찰나를 묘사했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "옥상 담장을 훌쩍 뛰어오른 자세로 허공에 떠 있는 고양이의 역동적인 찰나.",
            "based_on_beat": 0,
            "characters": [
              "고양이"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 18,
        "scene_heading": "S#18. 안방 안 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "침대 모서리에 머리를 기댄 채 두 눈을 감고 웅크려 앉아있는 수리영의 지친 측면.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "허공을 향해 번쩍 눈을 뜬 채 멍하게 응시하는 수리영의 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "굳게 닫힌 자신의 방문 손잡이를 거머쥔 채 멈춰 선 수리영의 손.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "열린 방문 틈으로 보이는 깨끗하게 정돈된 빈 방의 서늘한 전경.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "커튼을 활짝 젖힌 채 창밖의 빛을 받으며 깊게 안도하는 표정의 수리영 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "켜진 휴대전화 액정을 내려다보며 눈을 동그랗게 뜬 수리영의 놀란 표정.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "휴대전화를 귀에 댄 채 한 손을 허리에 얹고 심각하게 입술을 굳게 다문 수리영의 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "인형이 달린 낡은 백팩의 한쪽 어깨끈을 꽉 쥔 채 거실 한가운데 멈춰 선 수리영의 전신.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "물방울이 맺힌 얼굴로 세면대를 짚고 욕실 거울을 멍하니 바라보는 수리영의 정면.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "거울 속 욕실 벽면에 거대하고 선명한 붉은 원이 기이하게 떠오른 섬뜩한 2D 환영.",
            "based_on_beat": 4,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "빈 벽을 향해 고개를 돌린 채 얼어붙은 수리영의 뒷모습.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "물컵을 쥔 채 식탁 위에 놓인 민숙과 수리영의 다정한 사진 액자를 내려다보는 수리영의 모습.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "민숙"
            ],
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "사진 속 환하게 웃는 민숙의 얼굴 이미지가 기괴하게 뭉개져 아래로 흘러내린 고정된 형태의 평면적 환영.",
            "based_on_beat": 4,
            "characters": [
              "민숙"
            ],
            "original_description": "사진 속 환하게 웃는 민숙의 얼굴 이미지가 기괴하게 뭉개지며 흘러내리는 듯한 평면적 환영.",
            "validator_reason": "'뭉개지며 흘러내리는'이라는 연속 동작 표현을 고정된 시각적 상태로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 14,
            "description": "사진 액자를 향해 입을 크게 벌리고 양손으로 머리를 감싼 채 멈춘 수리영의 표정.",
            "based_on_beat": 5,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 15,
            "description": "눈을 질끈 감은 채 한 손바닥으로 자신의 뺨을 강하게 후려치는 mid-impact 순간, 접촉 지점에서 충격이 느껴지는 수리영의 얼굴 클로즈업.",
            "based_on_beat": 5,
            "characters": [
              "수리영"
            ],
            "original_description": "눈을 질끈 감고 자신의 뺨에 손바닥을 강하게 밀착시킨 채 멈춘 수리영의 얼굴 클로즈업.",
            "validator_reason": "뺨을 치는 능동적 동작이 모호한 정적 접촉으로 약화되었으므로 mid-impact 순간으로 재작성했습니다.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 19,
        "scene_heading": "S#19. 마트 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "한산한 마트 진열대 앞, 걷는 자세로 한쪽 발을 허공에 띄운 수리영의 전신.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "남자 직원 앞에 똑바로 서서 시선을 고정한 수리영의 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "남자 직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "수리영을 향해 눈을 동그랗게 뜨고 입을 살짝 벌린 남자 직원의 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "남자 직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "마트 밖, 건물 외벽에 매달린 낡은 CCTV 카메라를 손가락으로 가리킨 채 멈춘 수리영의 측면.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "수리영의 손끝이 가리키는 CCTV 카메라를 올려다보는 남자 직원의 뒷모습.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "남자 직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "휴대전화를 귀에 바싹 댄 채 심각한 표정으로 허공을 응시하는 수리영의 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 20,
        "scene_heading": "S#20. 마트 총무과 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 마트 보안실, 켜진 모니터 화면에 시선을 고정한 40대 한국인 남성 보안 직원의 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "보안 직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "보안 직원 뒤에서 모니터를 향해 상체를 바짝 숙인 수리영의 긴장된 측면.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "보안 직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "모니터 화면 속, 짙은 그림자에 가려 형체만 겨우 보이는 두 사람의 흐릿한 흑백 정지 영상.",
            "based_on_beat": 1,
            "characters": [
              "두 사람"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "화면을 보며 미간을 잔뜩 찌푸린 채 멈춘 혜수의 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "한 손으로 입을 틀어막은 채 굳어버린 수리영의 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "보안 직원을 향해 단호한 눈빛으로 멈춰 선 혜수의 정면.",
            "based_on_beat": 2,
            "characters": [
              "혜수",
              "보안 직원"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "USB 메모리를 손가락 사이에 꽉 쥔 혜수의 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 21,
        "scene_heading": "S#21. 경찰서 안 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "환한 형광등 불빛 아래, 혜수와 함께 경찰서 사무실 안으로 걸음을 옮기는 도중, 한쪽 발을 막 내딛은 mid-stride 상태의 수리영과 혜수의 정면.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "혜수"
            ],
            "original_description": "환한 형광등 불빛 아래, 혜수와 함께 경찰서 사무실로 들어선 수리영의 정면.",
            "validator_reason": "이동 동작(들어오는)의 motion direction을 보존하기 위해 mid-stride 상태의 찰나로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "혜수에게 종이 서류를 내민 채 무표정하게 멈춰 있는 김형사의 상체.",
            "based_on_beat": 1,
            "characters": [
              "김형사",
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "혜수의 빈 책상 앞 의자에 홀로 앉아 어깨를 잔뜩 웅크린 수리영의 모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "책상 위에 어지럽게 널린 끔찍한 시신 사진들을 내려다보는 수리영의 굳은 시선 구도.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "사진 속 살점이 뜯겨나간 형상을 보고 두 눈을 크게 뜬 수리영의 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "빈 책상 옆, 켜져 있는 컴퓨터 모니터 화면에 바다 지도의 GPS 좌표가 선명하게 떠 있는 상태.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "모니터 화면에 시선을 고정한 채 마우스 위에 손을 얹고 정지한 수리영의 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "한 손으로 볼펜을 꽉 쥔 채 작은 종이에 숫자를 쓰고 있는 순간, 펜촉이 종이를 누르고 있는 상태의 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "original_description": "한 손으로 볼펜을 꽉 쥔 채 작은 종이에 숫자를 눌러쓴 정지 컷.",
            "validator_reason": "메타 용어('정지 컷')를 제거하고, 글씨를 쓰는 동작의 찰나를 펜촉이 닿은 상태로 시각화하여 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "메모가 적힌 종이를 접어 주먹 안에 꽉 쥔 수리영의 손 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "경찰서 사무실 문을 향해 한쪽 발을 내디딘 자세로 주변을 살피는 수리영의 정면.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 22,
        "scene_heading": "S#22. 경찰서 밖 / D",
        "shots": [
          {
            "shot_index": 1,
            "description": "경찰서 앞, 자전거 안장에 엉덩이를 댄 채 한 발을 페달에 올린 수리영의 측면.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "상체를 앞으로 숙이고 핸들을 꽉 쥔 채 한쪽 무릎을 구부려 힘차게 페달을 밟고 앞으로 나아가는 순간의 수리영 전신, 머리카락이 바람에 뒤로 흩날리고 있다.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "상체를 앞으로 숙이고 핸들을 꽉 쥔 채 출발 자세로 정지한 수리영의 전신.",
            "validator_reason": "원문의 이동/추진 동작 방향성을 보존하기 위해 '정지한' 표현을 삭제하고 역동적인 mid-action 자세로 재작성함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 23,
        "scene_heading": "S#23. 어느 PC방 / 실내",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 PC방 조명 아래, 모니터 불빛을 받으며 화면에 집중한 수리영의 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "키보드 위에 놓인 수리영의 두 손 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "모니터 화면 속, 붉은색 핀이 꽂힌 해상 지도 이미지의 정지 상태.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "출력된 여러 장의 종이 지도를 양손으로 반듯하게 쥔 수리영의 손.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "지도를 반으로 접어 열린 가방 입구에 밀어 넣은 채 멈춘 수리영의 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 24,
        "scene_heading": "S#24. 해안가 / 소나기",
        "shots": [
          {
            "shot_index": 1,
            "description": "먹구름이 짙게 깔린 해안가 도로 위, 세찬 빗줄기가 떨어지는 스산한 풍경의 정지된 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "쏟아지는 빗속에서 자전거 페달을 밟는 자세로 한쪽 다리가 곧게 펴진 수리영의 전신.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "빗물이 맺힌 앞머리 사이로 매섭게 앞을 노려보는 수리영의 젖은 얼굴 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "자전거 바퀴 아래로 빗물이 둥글게 튀어 오르다 공중에 멈춘 물보라 컷.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 25,
        "scene_heading": "S#25. 옥탑방 안 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "열린 옥탑방 현관문 앞에서 입을 반쯤 벌린 채 굳어버린 수리영의 정면.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "바닥에 쓰러진 식탁 의자와 사방에 흩어진 물건들로 난장판이 된 거실 전경.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "자신의 방문 앞에 멈춰 서서 안쪽을 응시하는 수리영의 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "방 안쪽 벽면, 거칠게 그려진 붉은 원 한가운데 피 묻은 낡은 흑백 사진이 꽂혀 있는 섬뜩한 정물.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "벽에 꽂힌 사진을 향해 한쪽 손을 뻗은 자세로 멈춘 수리영의 상체.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "손에 쥔 피 묻은 흑백 사진 속, 지붕 위 둥근 원 장식이 있는 시골 식당과 두 소녀의 모습 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "두 소녀"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "다리에 힘이 풀린 듯 침대 모서리에 걸터앉은 자세로 굳어버린 수리영의 전신.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "낡은 가방을 한쪽 어깨에 멘 채 현관문 쪽으로 한 발을 내딛는 순간, 몸이 문 쪽으로 기울어진 수리영의 측면.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "낡은 가방을 한쪽 어깨에 멘 채 현관문 쪽으로 몸을 돌린 수리영의 측면.",
            "validator_reason": "원문 흐름의 바깥으로 나가는 이동 동작에 비해 정지 자세로만 표현되어 motion direction을 보존한 한 찰나로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "구겨진 옛날 사진을 주먹 안에 꽉 쥔 채 멈춰 있는 수리영의 손 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 26,
        "scene_heading": "S#26. 포구 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "짙은 안개가 깔린 텅 빈 포구, 갯바위 위에 멍하니 앉아 있는 수리영의 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "화면이 켜진 휴대전화를 내려다보는 수리영의 굳은 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "original_description": "진동하는 휴대전화 화면에 뜬 발신자 이름을 내려다보는 수리영의 굳은 얼굴.",
            "validator_reason": "'진동하는'은 시간 경과가 필요한 상태이므로, 찰나에 인지 가능한 화면이 켜진 상태로 수정.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "바다의 짙은 안개 속에서 흐릿하게 실루엣만 드러낸 작은 어선의 뱃머리.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "선창에 한 발을 디딘 채 닻줄을 쥐고 서 있는 인우의 전신.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "original_description": "배에서 내려 선창에 한 발을 디딘 채 닻줄을 쥐고 멈춰 선 인우의 전신.",
            "validator_reason": "'배에서 내려'라는 이전 동작의 묘사를 제외하고 현재 고정된 자세만 남김.",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "인우를 향해 멈춰 선 채 똑바로 올려다보는 수리영의 정면.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ],
            "original_description": "인우를 향해 다가가던 걸음을 멈추고 똑바로 올려다보는 수리영의 정면.",
            "validator_reason": "'다가가던 걸음을 멈추고'라는 두 동작의 연속성을 배제하고 멈춰 선 고정 상태로 수정.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "무심한 표정으로 바다 쪽을 바라보는 인우의 옆얼굴.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "original_description": "무심한 표정으로 고개를 돌려 바다 쪽을 바라보는 인우의 옆얼굴.",
            "validator_reason": "'고개를 돌려'라는 동작 표현을 제외하고 시선이 고정된 상태로 수정.",
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "휴대전화를 입가에 댄 채 바다를 응시하는 수리영의 상체.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "original_description": "배에 올라타기 전, 휴대전화를 입가에 댄 채 바다를 응시하는 수리영의 상체.",
            "validator_reason": "'배에 올라타기 전'이라는 시간적 전후 관계를 나타내는 표현을 제거.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 27,
        "scene_heading": "S#27. 옥탑방 안 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "난장판이 된 옥탑방 거실 한가운데, 휴대전화를 귀에 댄 채 눈을 크게 뜬 혜수의 굳은 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "혜수 뒤에서 팔짱을 낀 채 심드렁한 표정으로 짝다리를 짚고 선 김형사의 전신.",
            "based_on_beat": 1,
            "characters": [
              "혜수",
              "김형사"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "휴대전화를 내린 채 창밖의 어스름한 빛을 멍하니 바라보는 혜수의 창백한 측면.",
            "based_on_beat": 1,
            "characters": [
              "혜수"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "바람에 밀려 비스듬히 열린 채 고정된 낡은 옥탑방 현관문의 서늘한 구도.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "바람에 살짝 흔들린 채 비스듬히 열려 있는 낡은 옥탑방 현관문의 서늘한 구도.",
            "validator_reason": "'흔들린 채'라는 연속적 움직임을 암시하는 표현을 배제하고 단일 고정 상태로 수정함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 28,
        "scene_heading": "S#28. 바다 + 갑판 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "노을 지는 갑판 위에 앉아 지도를 쥔 손을 앞으로 내민 자세로 멈춘 수리영의 상체.",
            "based_on_beat": 1,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "수리영이 든 지도를 내려다보며 미간을 잔뜩 찌푸린 인우의 굳은 표정.",
            "based_on_beat": 1,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "낡은 흑백 사진을 쥔 채 인우의 눈앞으로 바짝 내민 수리영의 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "사진을 본 순간 두 눈을 크게 뜨고 입술을 뗀 채 심하게 당황하여 얼어붙은 인우의 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "갑판에서 몸을 일으키며 한쪽 다리에 체중을 싣고 조타실을 향해 상체를 비튼 인우의 mid-action 순간, 옷자락이 움직임의 반대 방향으로 펄럭이는 모습.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "original_description": "갑판에서 벌떡 일어난 자세로 조타실을 향해 어깨를 확 돌린 인우의 역동적인 순간.",
            "validator_reason": "추진력이 있는 역동적 움직임을 구체적인 mid-action 자세로 변환하여 동작 방향과 힘을 보존함.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "조타실 입구를 두 팔로 가로막은 자세로 굳게 버틴 수리영의 정면.",
            "based_on_beat": 3,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 29,
        "scene_heading": "S#29. 조타실 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "어두운 조타실 내부, 양손으로 타륜을 강하게 움켜쥔 채 뒤를 돌아보는 자세로 멈춰 선 인우의 상체.",
            "based_on_beat": 1,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "타륜을 쥔 인우를 향해 두 주먹을 꽉 쥐고 매섭게 노려보는 수리영의 분노한 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "인우",
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "낡은 흑백 사진 속 어린 소녀의 얼굴을 손가락으로 꾹 짚은 채 정지한 수리영의 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "시선이 허공에 머문 채 핏기가 가신 창백한 얼굴로 사색이 되어 굳어버린 인우의 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "인우의 어깨 너머 조타실 벽면에 기괴하게 그려진 수많은 붉은 원들이 뚜렷하게 보이는 시점 구도.",
            "based_on_beat": 3,
            "characters": [
              "인우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "벽면의 붉은 원들을 향해 시선을 고정한 채 공포에 질려 입을 반쯤 벌린 수리영의 표정.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "눈이 반쯤 감긴 채 상체를 앞으로 무기력하게 기울여 쓰러지기 직전의 멈춰 있는 수리영 측면.",
            "based_on_beat": 4,
            "characters": [
              "수리영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "의식을 잃은 수리영의 머리가 인우의 어깨에 툭 얹혀진 상태와 그 모습을 서늘하게 내려다보는 인우의 굳은 정면.",
            "based_on_beat": 4,
            "characters": [
              "수리영",
              "인우"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 30,
        "scene_heading": "S#30. 바다 / 해질 무렵",
        "shots": [
          {
            "shot_index": 1,
            "description": "붉은 황금빛 노을이 바다 위로 짙게 깔린 가운데 홀로 떠 있는 낡은 소형 어선의 전경.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 2,
            "description": "어선 앞을 거대한 장벽처럼 가로막고 선 짙고 잿빛인 바다 안개 띠의 경계선 구도.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "어선의 뱃머리가 짙은 안개 속으로 절반쯤 진입하며 잔잔한 물살을 가르는 서늘하고 적막한 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "어선의 뱃머리가 짙은 안개 속으로 절반쯤 삼켜진 채 멈춰 있는 서늘하고 적막한 찰나.",
            "validator_reason": "이동 중인 배에 대해 정지를 강조하는 표현('멈춰 있는')을 사용하여 추진력이 누락되었으므로, 안개 속으로 진입 중인 순간으로 수정함.",
            "character_ids": []
          }
        ]
      }
    ],
    "total_shots": 173,
    "changed_shots": 32
  },
  "step_id": "shot_validator",
  "run_id": "409658fc-9bd6-4eba-aaef-0344ac599b5c",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-06-02T08:31:07.990389+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}