{
  "status": "completed",
  "completed_count": 16,
  "applicable_count": 16,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "scene_heading": "1. 바다 속 – 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": [],
            "original_description": "우악스럽게 입을 벌린 거대한 낡은 크레인 집게가 수면 아래로 내려와 멈춘 모습.",
            "validator_reason": "원문의 다가오는 동작을 방향성이 보존된 mid-action freeze로 변경.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "놀란 물고기의 몸통이 화면 밖을 향해 급격히 꺾인 정지 순간.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "크레인 집게가 로봇 손가락이 묻힌 쓰레기 더미를 완전히 꽉 움켜쥔 상태.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 2,
        "scene_heading": "2. 쓰레기 수거선 – D",
        "shots": [
          {
            "shot_index": 1,
            "description": "수면에 떠 있는 반 토막 난 선박과 잔해들 사이를 헤치며 전진하는 거대한 쓰레기 수거선의 뱃머리, 뱃머리에 부딪힌 물살과 잔해들이 양옆으로 밀려나는 찰나.",
            "based_on_beat": 1,
            "characters": [],
            "original_description": "수면에 떠 있는 반 토막 난 선박과 잔해들 사이를 비집고 들어간 거대한 쓰레기 수거선의 뱃머리.",
            "validator_reason": "원문의 이동/추진 동작(나아가고 있다)의 방향성과 추진력을 시각적으로 보존하기 위해 mid-action 상태로 재작성했습니다.",
            "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": 3,
        "scene_heading": "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": []
          },
          {
            "shot_index": 3,
            "description": "트럭 짐칸의 거친 고철 더미 사이에 깊숙이 처박혀 있는 로봇의 낡은 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "로봇"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 4,
        "scene_heading": "4. 고급주택가. 자동차 안 – 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": 2,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "고급 주택 입구를 향해 걸음을 내딛는 도중 한 발이 땅에서 막 떨어진 찰나, 한 손가락으로 자신의 귀를 짚고 있는 현우.",
            "based_on_beat": 2,
            "characters": [
              "현우"
            ],
            "original_description": "길 건너 고급 주택 입구 앞에 선 현우가 한 손가락으로 자신의 귀를 짚고 있는 멈춘 자세.",
            "validator_reason": "원문의 '다가가며'라는 이동 동작이 '선', '멈춘 자세'로 변환되어 motion direction이 누락되었으므로, 걷는 중인 mid-action 찰나로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "차 안에 앉은 페드로가 손가락으로 자신의 귀에 꽂힌 이어폰을 누른 채 정면을 응시하는 모습.",
            "based_on_beat": 2,
            "characters": [
              "페드로"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 5,
        "scene_heading": "5. 고급주택가 + 집안 거실 – D",
        "shots": [
          {
            "shot_index": 1,
            "description": "양손으로 높은 담벼락을 짚고 한쪽 다리를 담장 위로 넘기며 허공에 뜬 현우의 역동적인 뒷모습.",
            "based_on_beat": 1,
            "characters": [
              "현우"
            ],
            "original_description": "저택의 높은 담벼락 위를 양손으로 단단히 짚고 올라선 현우의 뒷모습.",
            "validator_reason": "원문의 '담벼락을 넘는' 이동 동작을 mid-action freeze 원칙에 따라 보존했습니다.",
            "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": 2,
            "characters": [
              "젊은 아시아계 여성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "한 손으로 열린 창문틀을 잡고, 다른 손으로 스마트폰을 귀에 바짝 가져다 댄 젊은 아시아계 여성.",
            "based_on_beat": 2,
            "characters": [
              "젊은 아시아계 여성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "차 안에서 펼쳐진 노트북 자판 위에 두 손가락을 올려둔 페드로의 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "페드로"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "입을 크게 벌리고 눈동자가 위로 완전히 넘어간 채 뒤로 기울어진 젊은 아시아계 여성의 찰나.",
            "based_on_beat": 2,
            "characters": [
              "젊은 아시아계 여성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "눈을 감은 젊은 아시아계 여성의 상체를 양팔로 단단히 안아 든 현우의 모습.",
            "based_on_beat": 2,
            "characters": [
              "현우",
              "젊은 아시아계 여성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "유리창 안쪽에 선 커다란 셰퍼드가 날카로운 이빨을 드러낸 채 주둥이를 벌리고 있는 정지 순간.",
            "based_on_beat": 3,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 14,
            "description": "두 팔이 양옆으로 벌어진 채 굳어버린 현우와, 그의 손에서 벗어나 공중을 가르며 바닥으로 떨어지는 중인 젊은 아시아계 여성.",
            "based_on_beat": 3,
            "characters": [
              "현우",
              "젊은 아시아계 여성"
            ],
            "original_description": "여성을 놓치고 두 팔이 양옆으로 벌어진 채 굳어버린 현우의 놀란 자세.",
            "validator_reason": "'놓치고'라는 이전 상태 대신, 여성이 바닥으로 떨어지는 동시적인 정지 순간으로 묘사했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 15,
            "description": "거실 바닥에 등을 대고 완전히 널브러진 젊은 아시아계 여성의 전신.",
            "based_on_beat": 3,
            "characters": [
              "젊은 아시아계 여성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 16,
            "description": "셰퍼드의 턱이 바닥에 쓰러진 젊은 아시아계 여성의 머리 측면을 강하게 물고 있는 상태.",
            "based_on_beat": 3,
            "characters": [
              "젊은 아시아계 여성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 17,
            "description": "(얼굴 가죽이 뜯겨나가 내부의 은빛 금속 골격이 훤히 드러난 젊은 아시아계 여성)의 머리 클로즈업.",
            "based_on_beat": 3,
            "characters": [
              "젊은 아시아계 여성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 18,
            "description": "2층으로 향하는 나무 계단을 오르는 도중, 한 발은 단을 딛고 다른 발은 다음 단을 향해 들어 올린 mid-stride 자세의 현우.",
            "based_on_beat": 4,
            "characters": [
              "현우"
            ],
            "original_description": "집안 내부 2층으로 향하는 나무 계단 중간을 발로 딛고 선 현우의 역동적인 멈춤 자세.",
            "validator_reason": "원문의 '뛰어오르는' 이동 동작 방향과 추진력을 살리기 위해 mid-action freeze 룰을 적용했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 19,
            "description": "침대 위에서 두꺼운 이불을 끌어안고 눈을 부릅뜬 채 얼어붙은 아시아계 노인 부부.",
            "based_on_beat": 4,
            "characters": [
              "아시아계 노인 부부"
            ],
            "character_ids": []
          },
          {
            "shot_index": 20,
            "description": "침대 쪽을 향해 하얀 치아를 드러내고 입꼬리를 올리며 멈춘 현우의 얼굴.",
            "based_on_beat": 4,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 21,
            "description": "셰퍼드가 두 앞발을 계단 위쪽 단에 딛고 뒷다리가 허공에 뜬 도약의 찰나.",
            "based_on_beat": 4,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 22,
            "description": "자동차 가속 페달을 바닥 끝까지 꽉 밟아 누른 페드로의 신발 클로즈업.",
            "based_on_beat": 4,
            "characters": [
              "페드로"
            ],
            "character_ids": []
          },
          {
            "shot_index": 23,
            "description": "활짝 열린 2층 창문틀 위로 두 발을 올린 채 바깥을 내려다보는 현우의 뒷모습.",
            "based_on_beat": 4,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 24,
            "description": "현우의 종아리를 꽉 물고 창문 밖 허공에 매달려 있는 셰퍼드의 모습.",
            "based_on_beat": 4,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 25,
            "description": "현우의 뻗은 발끝이 셰퍼드의 턱 부위를 강하게 타격한 채 멈춰 있고, 그 충격으로 셰퍼드의 몸이 허공으로 밀려나는 mid-impact 순간.",
            "based_on_beat": 4,
            "characters": [
              "현우"
            ],
            "original_description": "현우의 다리가 앞으로 곧게 뻗어 있고, 셰퍼드가 입을 벌린 채 허공으로 밀려난 공중 정지 순간.",
            "validator_reason": "원문의 '쳐내는' 능동적 신체 접촉 동작의 타격점을 명확히 하는 mid-impact 순간으로 재작성했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 26,
            "description": "2층에서 떨어져 지면 바닥에 두 발을 딛고 무릎을 깊게 굽힌 채 착지한 현우.",
            "based_on_beat": 5,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 27,
            "description": "몸을 완전히 일으켜 세우고 두 발로 똑바로 선 현우의 정면.",
            "based_on_beat": 5,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 28,
            "description": "현우를 중심으로 반원형으로 둘러선 채 권총을 똑바로 겨누고 있는 경찰들의 무리.",
            "based_on_beat": 5,
            "characters": [
              "경찰들",
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 29,
            "description": "어깨를 돌려 차가 사라진 텅 빈 아스팔트 도로를 흘끗 쳐다보는 현우의 측면 얼굴.",
            "based_on_beat": 5,
            "characters": [
              "현우"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 6,
        "scene_heading": "6. 인천 난민촌 소개 몽타주 – D",
        "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": [
              "아시아계 아이들"
            ],
            "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": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "지나가는 덤프트럭을 향해 한쪽 팔을 뻗고 입을 크게 벌린 아시아계 아줌마의 일그러진 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "아시아계 아줌마"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "아시아계 취객의 손을 떠나 덤프트럭 짐칸 쪽으로 허공에 떠 있는 초록색 유리병.",
            "based_on_beat": 1,
            "characters": [
              "아시아계 취객"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "트럭 운전석 밖으로 튀어나온 사이드미러에 비친 덤프트럭 운전사의 입꼬리가 올라간 미소.",
            "based_on_beat": 1,
            "characters": [
              "덤프트럭 운전사"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 7,
        "scene_heading": "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": "입술을 둥글게 오므린 채 멀어지는 덤프트럭 쪽을 향해 고개를 내민 라울.",
            "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": 1,
            "characters": [
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "앰버의 두 손이 두꺼운 렌치를 로봇 팔의 관절 부위에 깊숙이 끼워 넣고 힘을 준 정지 자세.",
            "based_on_beat": 1,
            "characters": [
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 8,
            "description": "라울이 자신의 가슴 쪽으로 손목을 꺾은 채 허공에 고정되어 있는 손짓.",
            "based_on_beat": 1,
            "characters": [
              "라울"
            ],
            "original_description": "라울이 자신의 가슴 쪽으로 손바닥을 꺾어 까딱거리는 정지된 손짓.",
            "validator_reason": "'까딱거리는'이라는 연속 동작을 제외하고 멈춰 있는 고정 상태로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "주변 쓰레기 더미 한가운데 우뚝 서 있는, 겉면이 깨지고 먼지가 뽀얗게 쌓인 낡은 주크박스.",
            "based_on_beat": 2,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "주크박스 바로 앞에 선 채 유리가 깨진 전면 패널을 빤히 올려다보는 앰버의 뒷모습.",
            "based_on_beat": 2,
            "characters": [
              "앰버"
            ],
            "original_description": "주크박스 바로 앞까지 다가가 유리가 깨진 전면 패널을 빤히 올려다보는 앰버의 뒷모습.",
            "validator_reason": "'다가가'와 '올려다보는'이라는 두 동작 간의 시간 차이를 없애고 단일 정지 상태로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "양손으로 주크박스의 양옆을 꽉 붙잡고 기계를 한쪽으로 기울인 상태의 라울.",
            "based_on_beat": 2,
            "characters": [
              "라울"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 8,
        "scene_heading": "8. 쓰레기장 공터 – D",
        "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": [
              "라울",
              "앰버"
            ],
            "original_description": "거대한 쓰레기 산 위에서 각자 쓰레기 더미를 파헤치며 허리를 굽힌 라울과 앰버의 모습.",
            "validator_reason": "'파헤치며'라는 연속 동작을 손을 뻗은 채 멈춘 고정 자세로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 3,
            "description": "앰버가 쓰레기 속에서 꺼낸 낡은 나팔 모양 스피커를 두 손으로 높이 치켜든 정지 자세.",
            "based_on_beat": 1,
            "characters": [
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "라울이 양손에 기계 부품과 LP판을 꽉 쥔 채 앰버 곁에 주저앉은 순간.",
            "based_on_beat": 1,
            "characters": [
              "라울",
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "앰버의 두 손이 분해된 주크박스 몸체에 나팔 스피커 선을 꽉 끼운 채 멈춘 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "주크박스의 턴테이블 위에 놓인 낡은 LP판에 바늘이 맞닿아 멈춘 정지 순간.",
            "based_on_beat": 1,
            "characters": [],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "음악이 흘러나오는 주크박스 앞에서 서로 마주 보며 환하게 웃음 짓고 있는 라울과 앰버의 찰나.",
            "based_on_beat": 1,
            "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": 2,
            "characters": [
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "라울과 앰버가 바닥에 엉덩방아를 찧은 채 양팔로 땅을 짚고 얼어붙은 자세.",
            "based_on_beat": 2,
            "characters": [
              "라울",
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "쓰레기 더미 위로 거대한 고릴라 형태의 낡은 로봇, 찰리의 상체가 절반쯤 드러나 멈춘 모습.",
            "based_on_beat": 2,
            "characters": [
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "푸른 섬광이 선명하게 켜진 찰리의 둥근 기계 눈 클로즈업.",
            "based_on_beat": 2,
            "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": []
          },
          {
            "shot_index": 16,
            "description": "카메라 렌즈 너머로 앰버의 얼굴과 그 옆에 '소영'이라는 작은 프로필 창이 떠 있는 찰리의 1인칭 시점 정지 화면.",
            "based_on_beat": 3,
            "characters": [
              "찰리",
              "앰버",
              "소영"
            ],
            "character_ids": []
          },
          {
            "shot_index": 17,
            "description": "찰리의 거대한 두 기계 팔이 앰버의 상체를 꽉 끌어안고 멈춘 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "찰리",
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 18,
            "description": "라울이 뒤쪽 흙바닥에 주저앉은 채 양손으로 자신의 입을 틀어막은 두려운 표정.",
            "based_on_beat": 3,
            "characters": [
              "라울"
            ],
            "character_ids": []
          },
          {
            "shot_index": 19,
            "description": "앰버의 얼굴 위로 붉은색 'NEGATIVE' 경고 창이 겹쳐 뜬 찰리의 1인칭 시점 정지 화면.",
            "based_on_beat": 3,
            "characters": [
              "찰리",
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 20,
            "description": "양팔을 아래로 내린 채 시선을 바닥으로 향하고 있는 찰리의 멈춘 자세.",
            "based_on_beat": 3,
            "characters": [
              "찰리"
            ],
            "original_description": "앰버를 안고 있던 두 팔을 풀고 시선을 아래로 툭 떨어뜨린 찰리의 멈춘 자세.",
            "validator_reason": "'풀고 떨어뜨린'이라는 두 동작을 팔을 내린 고정 자세의 찰나로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 21,
            "description": "앰버가 찰리를 향해 한쪽 손을 쭉 뻗고 멈춘 측면.",
            "based_on_beat": 4,
            "characters": [
              "앰버",
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 22,
            "description": "찰리가 굵은 기계 손가락으로 주크박스 쪽을 똑바로 가리키며 멈춘 자세.",
            "based_on_beat": 4,
            "characters": [
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 23,
            "description": "주크박스 옆에서 기계 턱을 벌리고 입꼬리를 올린 채 몸을 살짝 기울인 찰리의 미소.",
            "based_on_beat": 4,
            "characters": [
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 24,
            "description": "앰버의 손가락이 주크박스의 정지 버튼을 꾹 누른 상태의 클로즈업.",
            "based_on_beat": 4,
            "characters": [
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 25,
            "description": "기계 턱을 아래로 축 늘어뜨린 채 정면을 멍하게 응시하는 찰리의 슬픈 굳은 얼굴.",
            "based_on_beat": 4,
            "characters": [
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 26,
            "description": "낡은 가죽 재킷을 입고 한 발을 앞으로 내디딘 채 멈춘 다수의 아시아계 젊은 남성 무리.",
            "based_on_beat": 5,
            "characters": [
              "아시아계 젊은 남성 무리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 27,
            "description": "라울이 앰버의 팔목을 꽉 쥔 채 쓰레기 더미 아래로 몸을 깊이 숙인 정지 자세.",
            "based_on_beat": 5,
            "characters": [
              "라울",
              "앰버"
            ],
            "character_ids": []
          },
          {
            "shot_index": 28,
            "description": "앰버가 거대한 찰리의 몸통을 빤히 올려다보고 있는 굳은 표정.",
            "based_on_beat": 5,
            "characters": [
              "앰버",
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 29,
            "description": "낡고 거대한 롱코트와 챙 넓은 중절모를 푹 눌러쓴 채 서 있는, 뚱뚱한 실루엣을 한 찰리의 뒷모습.",
            "based_on_beat": 6,
            "characters": [
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 30,
            "description": "맥주병을 입술에 댄 아시아계 젊은 남성이 어깨너머로 롱코트를 입은 찰리의 뒷모습을 곁눈질하는 얼굴.",
            "based_on_beat": 6,
            "characters": [
              "아시아계 젊은 남성",
              "찰리"
            ],
            "character_ids": []
          },
          {
            "shot_index": 31,
            "description": "거대한 판잣집들이 빽빽하게 들어선 난민촌 전경을 배경으로, 한쪽 발을 허공에 든 채 앞으로 걷고 있는 도중인 앰버, 페드로, 코트를 입은 찰리의 뒷모습.",
            "based_on_beat": 6,
            "characters": [
              "앰버",
              "페드로",
              "찰리"
            ],
            "original_description": "거대한 판잣집들이 빽빽하게 들어선 난민촌 전경을 배경으로, 나란히 걷는 발걸음을 뗀 정지 순간의 앰버, 페드로, 코트를 입은 찰리의 뒷모습.",
            "validator_reason": "이동 동작의 추진력을 살리기 위해 한쪽 발을 들고 걷는 도중의 찰나로 수정했습니다.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 9,
        "scene_heading": "9. 인공제방 – 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": 1,
            "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": 2,
            "characters": [
              "미연"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "미연과 다국적 난민 무리가 대머리 중년 남성 앞을 반원 형태로 에워싸고 선 정지 구도.",
            "based_on_beat": 2,
            "characters": [
              "미연",
              "다국적 난민 무리",
              "대머리 중년 남성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "미간을 한껏 찌푸린 채 대머리 중년 남성을 똑바로 노려보는 미연의 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "미연",
              "대머리 중년 남성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "확성기를 든 채 손가락으로 공사 장비 쪽을 삿대질하며 굳어버린 대머리 중년 남성의 일그러진 표정.",
            "based_on_beat": 2,
            "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": []
          },
          {
            "shot_index": 16,
            "description": "두 팔을 양옆으로 넓게 뻗어 난민들의 앞을 굳건히 가로막은 한국계 군인들의 정면.",
            "based_on_beat": 3,
            "characters": [
              "한국계 군인들"
            ],
            "character_ids": []
          },
          {
            "shot_index": 17,
            "description": "한 손으로 군용 트럭 조수석 문손잡이를 쥔 채, 고개를 뒤로 돌려 군중 쪽을 응시하며 멈춘 대머리 중년 남성의 측면.",
            "based_on_beat": 3,
            "characters": [
              "대머리 중년 남성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 18,
            "description": "대머리 중년 남성 앞을 가로막고 서서 두 팔을 벌린 채 입을 크게 벌린 미연의 모습.",
            "based_on_beat": 3,
            "characters": [
              "미연",
              "대머리 중년 남성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 19,
            "description": "한국계 군인의 두 팔이 다국적 난민 남성의 어깨를 강하게 내리눌러, 남성의 상체가 흙바닥을 향해 꺾이는 충격의 순간.",
            "based_on_beat": 3,
            "characters": [
              "한국계 군인",
              "다국적 난민 남성"
            ],
            "original_description": "한국계 군인의 두 팔이 다국적 난민 남성의 상체를 흙바닥으로 강하게 짓누른 멈춘 상태.",
            "validator_reason": "폭력적인 능동 접촉을 모호한 정적 상태('멈춘 상태')로 표현한 것을 힘의 방향과 충격이 명확히 드러나는 mid-impact 순간으로 재작성함.",
            "character_ids": []
          },
          {
            "shot_index": 20,
            "description": "진흙 바닥에 얼굴이 완전히 처박힌 채 납작하게 쓰러진 다국적 난민 남성의 전신.",
            "based_on_beat": 3,
            "characters": [
              "다국적 난민 남성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 21,
            "description": "쓰러진 난민 남성을 향해 상체를 깊이 숙이고 두 손을 뻗은 미연의 굳은 정지 순간.",
            "based_on_beat": 3,
            "characters": [
              "미연",
              "난민 남성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 22,
            "description": "군용 트럭 조수석에 올라탄 채 반쯤 열린 차문의 손잡이를 꽉 쥐고 당기는 자세로 멈춘 대머리 중년 남성의 상체.",
            "based_on_beat": 3,
            "characters": [
              "대머리 중년 남성"
            ],
            "original_description": "군용 트럭 조수석에 올라타 닫히는 문손잡이를 꽉 쥔 채 멈춘 대머리 중년 남성의 상체.",
            "validator_reason": "'닫히는'이라는 시간 진행형 동사를 고정된 상태와 자세로 수정하여 한 찰나를 명확히 묘사함.",
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 10,
        "scene_heading": "10. 난민 재판소 – 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": 2,
            "characters": [
              "현우",
              "경찰"
            ],
            "original_description": "현우의 양팔을 단단히 잡고 출입문 쪽으로 상체를 젖히며 힘껏 끌어당기는 경찰들의 정지 자세.",
            "validator_reason": "'잡고'라는 순차적 연결어를 '붙잡은 채'로 수정하여 단일 찰나로 명확히 함.",
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "탁자 너머 재판관을 향해 두 팔을 뻗은 채 허공으로 솟구쳐 오른 현우의 공중 도약 찰나.",
            "based_on_beat": 3,
            "characters": [
              "현우",
              "재판관"
            ],
            "original_description": "탁자 너머 재판관을 향해 두 팔을 뻗고 허공으로 솟구쳐 오른 현우의 공중 도약 찰나.",
            "validator_reason": "'뻗고'라는 연결어를 '뻗은 채'로 수정하여 두 동작이 동시 정지된 상태로 만듦.",
            "character_ids": []
          },
          {
            "shot_index": 10,
            "description": "탁자 뒤 의자에서 엉덩이가 바닥 쪽으로 빠진 채 상체가 뒤로 완전히 기울어진 한국계 재판관의 정지 찰나.",
            "based_on_beat": 3,
            "characters": [
              "재판관"
            ],
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "바닥에 넘어진 재판관의 가슴 위로 올라탄 채 양손으로 멱살을 꽉 틀어쥐고 멈춘 현우의 자세.",
            "based_on_beat": 3,
            "characters": [
              "현우",
              "재판관"
            ],
            "original_description": "바닥에 넘어진 재판관의 가슴 위로 올라타 양손으로 멱살을 꽉 틀어쥔 채 멈춘 현우의 자세.",
            "validator_reason": "'올라타'라는 시간 진행을 암시하는 표현을 '올라탄 채'로 변경하여 연속 동작을 차단함.",
            "character_ids": []
          },
          {
            "shot_index": 12,
            "description": "검은색 경찰 곤봉을 현우의 뒷머리를 향해 힘껏 내리치는 도중 허공에 멈춘 경찰의 역동적인 상체 찰나.",
            "based_on_beat": 3,
            "characters": [
              "현우",
              "경찰"
            ],
            "original_description": "현우의 뒷머리 위로 검은색 경찰 곤봉을 높이 치켜든 채 멈춰 선 경찰의 상체.",
            "validator_reason": "단순히 치켜든 정지 자세를 원문의 타격 추진력을 보존하는 능동적인 mid-action 순간으로 수정함.",
            "character_ids": []
          },
          {
            "shot_index": 13,
            "description": "재판소 바닥에 뺨을 댄 채 눈을 완전히 감고 축 늘어진 현우의 기절한 모습.",
            "based_on_beat": 3,
            "characters": [
              "현우"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 11,
        "scene_heading": "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": 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": 1,
            "characters": [
              "권총을 든 복면 남성",
              "미군 군복 차림의 백인 남성"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "흑백 화면, 바닥에 뒤엉켜 쓰러진 두 남성 위로, 또 다른 복면 쓴 백인 남성의 권총 총구에서 화염이 뿜어져 나온 정지 순간.",
            "based_on_beat": 1,
            "characters": [
              "두 남성",
              "복면 쓴 백인 남성"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 12,
        "scene_heading": "12. 난민 재판소 밖 – 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": []
          },
          {
            "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": 2,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 9,
            "description": "현우의 손을 떠나 쓰레기 산을 향해 허공에 떠 있는 텅 빈 가죽 지갑의 공중 정지 순간.",
            "based_on_beat": 2,
            "characters": [
              "현우"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 13,
        "scene_heading": "13. 허름한 골목 식당 - N",
        "shots": [
          {
            "shot_index": 1,
            "description": "허름하고 어두운 식당 안쪽 구석 자리, 낡은 탁자 앞에 홀로 앉아 멍하니 정면을 응시하는 40대 한국계 남성의 상체.",
            "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": "입꼬리를 비스듬히 올린 채 턱을 괸 40대 한국계 남성의 미소 지은 얼굴.",
            "based_on_beat": 1,
            "characters": [
              "장규석"
            ],
            "character_ids": []
          },
          {
            "shot_index": 4,
            "description": "40대 한국계 남성이 쥔 종이 봉투 위를 현우의 손이 겹쳐 꽉 잡고 있는 클로즈업.",
            "based_on_beat": 1,
            "characters": [
              "장규석",
              "현우"
            ],
            "original_description": "40대 한국계 남성이 쥔 종이 봉투 위를 현우의 손이 겹쳐 꽉 잡은 정지 순간.",
            "validator_reason": "불필요한 '정지 순간' 표현을 제거하고 접촉된 상태 그대로 표현",
            "character_ids": []
          },
          {
            "shot_index": 5,
            "description": "입구가 열린 종이 봉투 안쪽을 내려다보며 활짝 웃고 있는 40대 한국계 남성의 표정.",
            "based_on_beat": 1,
            "characters": [
              "장규석"
            ],
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "이를 꽉 악물고 눈에 힘을 준 채 앞을 노려보는 현우의 분노한 얼굴 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "여유로운 미소를 띤 채 앞을 응시하는 40대 한국계 남성의 정면.",
            "based_on_beat": 2,
            "characters": [
              "장규석"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 14,
        "scene_heading": "14. 난민 수용서 전경 몽타주 – 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": "어둡고 좁은 철제 컨테이너 골목길을 걷는 도중, 한쪽 발은 바닥을 딛고 반대쪽 발은 공중에 든 mid-stride 자세의 현우 전신.",
            "based_on_beat": 2,
            "characters": [
              "현우"
            ],
            "original_description": "어둡고 좁은 철제 컨테이너 골목길 바닥에 한쪽 발을 디딘 채 얼어붙은 현우의 전신.",
            "validator_reason": "걷는 동작의 freeze 시 '얼어붙은' 같은 정지 강조 표현 대신 모션 방향성을 보존한 mid-action 자세로 수정했습니다.",
            "character_ids": []
          },
          {
            "shot_index": 6,
            "description": "'7-31'이라는 숫자가 큼직하게 적힌 낡은 철제 문앞에 우두커니 서 있는 현우의 뒷모습.",
            "based_on_beat": 2,
            "characters": [
              "현우"
            ],
            "character_ids": []
          },
          {
            "shot_index": 7,
            "description": "컨테이너 철제 문고리를 손아귀에 꽉 쥔 채 멈춰 선 현우의 손 클로즈업.",
            "based_on_beat": 2,
            "characters": [
              "현우"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 15,
        "scene_heading": "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": 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": 1,
            "characters": [
              "현우"
            ],
            "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": "방문을 향해 걸어가는 mid-stride 자세로, 한쪽 발은 바닥에 닿고 다른 발은 뒤로 들려 있는 앰버의 뒷모습.",
            "based_on_beat": 2,
            "characters": [
              "앰버"
            ],
            "original_description": "방문을 향해 걷던 중 한쪽 발을 바닥에 딛고 멈춘 앰버의 뒷모습.",
            "validator_reason": "이동 동작에서 정지를 강조하는 표현을 지양하고 motion 방향과 추진력을 보존하는 mid-action freeze를 적용함.",
            "character_ids": []
          },
          {
            "shot_index": 11,
            "description": "의자에 앉은 채 고개를 완전히 돌려 옆을 향해 시선을 고정한 현우의 차가운 측면.",
            "based_on_beat": 2,
            "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": []
          },
          {
            "shot_index": 16,
            "description": "어두운 방 안쪽에서 굳게 닫힌 문에 귀를 바짝 댄 채 숨죽이고 있는 앰버의 정지 자세.",
            "based_on_beat": 4,
            "characters": [
              "앰버"
            ],
            "character_ids": []
          }
        ]
      },
      {
        "scene_index": 16,
        "scene_heading": "16. 난민 수용소 골목 – N",
        "shots": [
          {
            "shot_index": 1,
            "description": "녹슨 철제 컨테이너들이 빽빽하게 늘어선, 가로등 하나 없이 칠흑처럼 어두운 난민 수용소 골목의 텅 빈 정경.",
            "based_on_beat": 0,
            "characters": [],
            "character_ids": []
          }
        ]
      }
    ],
    "total_shots": 181,
    "changed_shots": 26
  },
  "step_id": "shot_validator",
  "run_id": "fe08bca0-6dde-4731-9286-5f183d564507",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-06-25T06:27:51.996708+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}