{
  "status": "completed",
  "completed_count": 28,
  "applicable_count": 28,
  "failed_count": 0,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "analysis_summary": "이 씬은 남자가 숲속에서 도망치다 검은 인영에게 공격받아 바닥에 짓눌리는 역동적인 상황입니다. 샷 3(서서 공격받는 등 뒤 구도)과 샷 4(바닥에 짓눌린 얼굴 클로즈업) 사이에서 인물의 자세와 프레이밍이 완전히 변하므로, 두 샷에 걸쳐 동일하게 유지되는 정지된 인물 상태나 환경/소품 고정 요소가 없어 추출하지 않았습니다.",
        "fixed_elements": []
      },
      {
        "scene_index": 2,
        "analysis_summary": "두 샷에 걸쳐 여자의 상태가 물리는 상황(Shot 4)에서 쓰러진 상태(Shot 6)로 변하므로, 인물의 고정 상태 요소는 추출하지 않았습니다. 단, 두 샷 모두 나트륨 가로등이 켜진 어두운 도시 뒷골목이라는 환경 설정을 공유하므로 이를 환경 상태로 묶었습니다.",
        "fixed_elements": [
          {
            "element_id": "dim_alley_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A dark, cramped city back-alley at night, bathed in dim, sickly yellow sodium streetlight. Deep, cold shadows obscure the background structures, creating a humid, claustrophobic nighttime atmosphere with rough concrete surfaces and a nearby utility pole.",
            "applies_to_shots": [
              4,
              6
            ]
          }
        ]
      },
      {
        "scene_index": 3,
        "analysis_summary": "두 샷 모두 뉴스 보도 화면 스타일의 거칠고 흐린 야간/야외 조명과 노란색 폴리스 라인이 쳐진 사건 현장 배경을 공유합니다.",
        "fixed_elements": [
          {
            "element_id": "crime_scene_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "An outdoor crime scene under flat, overcast daylight. The area is cordoned off with bright yellow police tape. The visual style resembles handheld, documentary-style news footage, with blurred figures of investigators moving in the background.",
            "applies_to_shots": [
              3,
              4
            ]
          }
        ]
      },
      {
        "scene_index": 4,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": []
      },
      {
        "scene_index": 5,
        "analysis_summary": "샷 4와 11에 공통으로 노출되는 민숙의 상반신/전신 프레이밍에서 그녀가 착용 중인 앞치마와 손목의 고정 표식 상태를 추출했습니다. 샷 12는 손목 표식을 확대한 클로즈업 프레이밍이지만 해당 구도의 샷이 1개뿐이므로, 최소 2개 샷 적용 규칙 및 프레이밍 분리 원칙에 따라 고정 요소 배열에서 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "minsook_fixed_appearance",
            "element_type": "character_state",
            "character_name": "민숙",
            "description": "A middle-aged Korean woman wearing a simple kitchen apron over her everyday casual clothes. A distinct, small, dark circular mark is permanently visible on the pale skin of her inner wrist.",
            "applies_to_shots": [
              4,
              11
            ]
          }
        ]
      },
      {
        "scene_index": 6,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": []
      },
      {
        "scene_index": 7,
        "analysis_summary": "선택된 샷들은 각각 수리영의 얼굴(Shot 2), 로트와일러의 엉덩이 부위(Shot 4), 수리영의 손(Shot 7)을 서로 다른 각도에서 국소적으로 확대(클로즈업/매크로)하여 비추고 있습니다. 2개 이상의 샷에 걸쳐 공통으로 프레임에 잡히는 동일한 신체 부위, 정지된 자세, 또는 고정된 환경/소품 묘사가 없으므로 조건에 따라 고정 요소(fixed_elements)를 추출하지 않았습니다.",
        "fixed_elements": []
      },
      {
        "scene_index": 8,
        "analysis_summary": "마트 내부에서 벌어지는 샷 3과 샷 6에 공통적으로 나타나는 마트의 상품 진열대와 밝은 형광등 조명 환경을 고정 요소로 추출했습니다. 인물(수리영)은 능동적으로 움직이고 있으므로 고정 상태로 분류하지 않았습니다.",
        "fixed_elements": [
          {
            "element_id": "supermarket_interior_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior environment of a large supermarket characterized by tall vertical product shelves lining the aisles. The space is uniformly washed in bright, flat, clean white fluorescent light.",
            "applies_to_shots": [
              3,
              6
            ]
          }
        ]
      },
      {
        "scene_index": 9,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": []
      },
      {
        "scene_index": 10,
        "analysis_summary": "옥탑방 외부의 낡고 녹슨 철문과 젖은 시멘트 바닥, 그리고 바닥에 흩어진 말린 풀잎들을 샷 4와 7의 공통 환경 및 소품 요소로 추출했습니다. 인물(민숙)은 샷 9에만 등장하므로 고정 요소에서 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "rusted_metal_door_exterior",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A heavily weathered metal door with chipped paint and rust stains serves as the exterior entrance. The door is set above a worn threshold on a damp, gray cement floor. The wet surface of the floor and the rusted metal reflect the cold, dark night environment.",
            "applies_to_shots": [
              4,
              7
            ]
          },
          {
            "element_id": "scattered_dried_leaves",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "Dried, long, blade-like grass leaves are scattered across the damp cement floor near the metal door's threshold. The brown, withered leaves lie flat against the wet gray surface, distributed unevenly around the exterior area.",
            "applies_to_shots": [
              4,
              7
            ]
          }
        ]
      },
      {
        "scene_index": 11,
        "analysis_summary": "선택된 샷들은 모두 수리영의 방 내부를 배경으로 하며, 샷 9, 10, 18에 걸쳐 공통적으로 극도로 어둡고 차가운 조명 상태가 유지됩니다. 또한 샷 9와 18에서는 방 안의 침대가 공간의 기준으로 반복 노출되므로 이를 고정 소품으로 추출했습니다. 사망한 민숙과 충격받은 수리영은 각각 단일 샷에만 시각적으로 묘사되므로 고정 요소에서 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "dim_bedroom_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The bedroom is heavily shadowed and underlit by weak, cold ambient light. The overall atmosphere is dark, nearly monochrome, and airless, leaving the background space in deep gloom.",
            "applies_to_shots": [
              9,
              10,
              18
            ]
          },
          {
            "element_id": "bedroom_bed",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "A simple bed situated in the dimly lit bedroom, its edges kept clean and neat. It serves as a static visual anchor within the room's deep shadows.",
            "applies_to_shots": [
              9,
              18
            ]
          }
        ]
      },
      {
        "scene_index": 12,
        "analysis_summary": "수리영이 옥탑방 내부에 있는 샷 8과 13에서, 혈흔이 감쪽같이 사라진 비정상적으로 깨끗한 방의 상태와 차갑고 창백한 베이지-그레이 톤의 실내 조명이 공통 환경 요소로 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "spotless_room_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior of the room is impeccably clean with no visible bloodstains or signs of a struggle. The space is illuminated by a cold, weak beige-gray practical light, casting a pale and sterile tone over the surroundings.",
            "applies_to_shots": [
              8,
              13
            ]
          }
        ]
      },
      {
        "scene_index": 13,
        "analysis_summary": "수리영이 벤치에 앉아 있다가 집을 향해 뛰어나가는 과정이 전개되어 인물의 자세는 계속 변합니다. 따라서 씬 전체에 걸쳐 일관되게 유지되는 짙은 해무가 낀 어두운 해안가 환경과 버스정류장의 구조물을 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "foggy_coastal_road",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The coastal roadside is heavily enveloped in thick, gray-black sea fog under the darkness of night. The oppressive darkness is only partially pierced by a weak, desaturated bus-stop lamp, which casts faint reflections on the dark, wet asphalt road.",
            "applies_to_shots": [
              2,
              4,
              6
            ]
          },
          {
            "element_id": "bus_stop_bench",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "A simple bus-stop bench sits by the edge of the dark coastal road. It remains faintly illuminated by the weak roadside lamp, serving as a stationary landmark against the humid, fog-covered seaside background.",
            "applies_to_shots": [
              2,
              4,
              6
            ]
          }
        ]
      },
      {
        "scene_index": 14,
        "analysis_summary": "두 샷은 동일한 비트 내에서 경찰서 사무실을 배경으로 진행되며, 혜수가 내민 스마트폰을 바라보는 김형사의 모습을 각기 다른 프레이밍(MCU와 CU)으로 담고 있습니다. 프레이밍 차이로 인물 상태는 제외하였고, 경찰서의 어두운 형광등 조명과 스마트폰의 푸른빛 반사라는 공통된 환경 및 조명 상태를 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "police_office_lighting_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior of the police station office is illuminated by dim, flat fluorescent lights, casting tired, humid green-gray night shadows. A cluttered office desk is present in the area, and a cold, faint bluish glow from a smartphone screen casts reflections across the space.",
            "applies_to_shots": [
              3,
              4
            ]
          }
        ]
      },
      {
        "scene_index": 15,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": []
      },
      {
        "scene_index": 16,
        "analysis_summary": "수리영이 집 안을 이동하며 행동하기 때문에 고정된 인물 상태나 위치가 변하지 않는 소품은 없습니다. 다만 샷 4와 7에서 아파트 내부의 차갑고 생기 없는 회녹색 조명 상태가 공통된 환경 요소로 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "apartment_muted_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior of the apartment is illuminated by cool, muted daylight with gray-green undertones. The background appears drained of vibrant colors and airless, maintaining an unsettling and eerie atmosphere.",
            "applies_to_shots": [
              4,
              7
            ]
          }
        ]
      },
      {
        "scene_index": 17,
        "analysis_summary": "마트 외부 벽면 모서리에 설치된 둥근 방범용 CCTV 카메라가 샷 5와 6에 공통으로 등장합니다. 수리영은 마트 내부에서 외부로 이동하며 자세와 행동이 바뀌므로 고정된 인물 상태에서 제외하였습니다.",
        "fixed_elements": [
          {
            "element_id": "exterior_cctv_camera",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "A round, dome-shaped security camera is securely mounted high on the corner of a stained, gray exterior building wall. Its dark lens is pointed downward toward the sidewalk below. The surrounding concrete wall appears slightly damp under the pale overcast daylight.",
            "applies_to_shots": [
              5,
              6
            ]
          }
        ]
      },
      {
        "scene_index": 18,
        "analysis_summary": "두 샷에 공통으로 등장하는 사무실 책상 위의 검은 베젤 CCTV 모니터를 고정 소품으로 식별했습니다.",
        "fixed_elements": [
          {
            "element_id": "cctv_monitor_on_desk",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "A dark CCTV monitor with a black bezel placed on an office desk. It emits a cold, pale glow that illuminates the immediate surrounding area in a dimly lit room.",
            "applies_to_shots": [
              3,
              4
            ]
          }
        ]
      },
      {
        "scene_index": 19,
        "analysis_summary": "샷 5와 6은 책상 위에 흩어진 참혹한 범죄 현장 사진과 차가운 경찰서 형광등 조명 상태를 공유합니다. 또한 노란색 포스트잇 메모지가 샷 5, 6, 7 전체에 걸쳐 책상 위 고정 소품으로 존재합니다.",
        "fixed_elements": [
          {
            "element_id": "scattered_crime_photos",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "Several glossy crime-scene photographs depicting gruesome flesh wounds are scattered haphazardly across the surface of the police office desk. The pictures lie at uneven angles, slightly overlapping each other to form a chaotic spread.",
            "applies_to_shots": [
              5,
              6
            ]
          },
          {
            "element_id": "yellow_memo_pad",
            "element_type": "persistent_prop",
            "character_name": "",
            "description": "A small, bright yellow square memo pad rests on the police desk near the computer setup. It remains a stationary block of blank sticky notes amid the surrounding office clutter.",
            "applies_to_shots": [
              5,
              6,
              7
            ]
          },
          {
            "element_id": "cold_office_lighting",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The police office environment is illuminated by harsh, cold overhead fluorescent lights. This flat and sterile lighting casts a chilling, clinical pallor over the desk area and the objects resting upon it.",
            "applies_to_shots": [
              5,
              6
            ]
          }
        ]
      },
      {
        "scene_index": 20,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": []
      },
      {
        "scene_index": 21,
        "analysis_summary": "샷 2는 모니터 화면을 극단적으로 확대한 샷이고 샷 4는 가방과 손을 확대한 샷이므로 시각적으로 겹치는 물리적 객체는 없습니다. 그러나 두 샷 모두 모니터에서 뿜어져 나오는 차가운 청록색 조명을 공통 환경 요소로 공유하고 있습니다.",
        "fixed_elements": [
          {
            "element_id": "monitor_spill_light",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The immediate area is illuminated by a cold, digital blue-green spill light emanating from a computer monitor. This icy light dominates the local illumination, casting a sterile, bluish tint and sharp contrasts.",
            "applies_to_shots": [
              2,
              4
            ]
          }
        ]
      },
      {
        "scene_index": 22,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": []
      },
      {
        "analysis_summary": "선택된 샷들에는 난장판이 된 옥탑방 내부, 벽의 거친 붉은 원, 해질녘의 탁한 실내광이 반복된다. 수리영의 자세는 샷마다 변하므로 고정 인물 상태로는 분류하지 않았다.",
        "fixed_elements": [
          {
            "applies_to_shots": [
              5,
              9,
              11
            ],
            "character_name": "",
            "description": "A huge rough red circle is painted on the bedroom wall with dark red stage paint, its edge uneven and hand-drawn rather than clean. It remains the strongest saturated color in the otherwise muted rooftop room, reading as an occult-like wall mark even when only partly visible in shadow.",
            "element_id": "rough_red_circle_on_bedroom_wall",
            "element_type": "environment_state"
          },
          {
            "applies_to_shots": [
              5,
              9,
              11
            ],
            "character_name": "",
            "description": "The rooftop room interior stays visibly ransacked, with household belongings pulled out of place and debris scattered across the floor. The space looks searched-through and airless, with furniture and bedding sitting askew rather than neatly arranged.",
            "element_id": "ransacked_rooftop_room_interior",
            "element_type": "environment_state"
          },
          {
            "applies_to_shots": [
              5,
              9,
              11
            ],
            "character_name": "",
            "description": "The room is lit by dim late-sunset light, mixing amber-gray dusk with murky brown interior shadow. The overall lighting stays low, drained, and muted, making the red wall mark stand out sharply against the dull room.",
            "element_id": "dim_dusk_rooftop_room_lighting",
            "element_type": "environment_state"
          },
          {
            "applies_to_shots": [
              5,
              9,
              11
            ],
            "character_name": "",
            "description": "A small crumpled old paper photograph appears as the same physical clue throughout the scene. The photograph is yellowed and worn, with dark red stage-paint smears on its surface and a faded image of an old rural restaurant with two young girls seated outside.",
            "element_id": "crumpled_old_clue_photograph",
            "element_type": "persistent_prop"
          },
          {
            "applies_to_shots": [
              5,
              9,
              11
            ],
            "character_name": "",
            "description": "A worn old backpack with a small teddy-bear charm attached to it remains the same prop across the room sequence. Its dark fabric looks rumpled and used, with the charm hanging visibly from one strap or zipper area.",
            "element_id": "worn_backpack_with_teddy_bear_charm",
            "element_type": "persistent_prop"
          }
        ],
        "scene_index": 23
      },
      {
        "scene_index": 24,
        "analysis_summary": "비가 그친 해질 무렵의 텅 빈 포구라는 환경적 배경이 세 샷에 걸쳐 일관되게 나타납니다. 짙은 안개와 비에 젖은 선착장 바닥의 상태를 고정 환경 요소로 추출했으며, 수리영의 묘사는 전신 샷과 클로즈업 샷이 각각 1개뿐이므로 프레이밍 충돌 방지 규칙에 따라 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "foggy_wet_pier",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A deserted harbor at dusk, heavily enveloped in a dense, pearl-gray fog that diffuses light into a damp, ghostly haze. The flat concrete surface of the pier is visibly wet from recent rain, catching faint ambient light and creating a moody, desolate atmosphere.",
            "applies_to_shots": [
              3,
              6,
              9
            ]
          }
        ]
      },
      {
        "scene_index": 25,
        "analysis_summary": "두 샷에 공통으로 등장하는 옥탑방 내부를 바탕으로, 낡고 어두운 실내와 외부에서 스며들어오는 차가운 해질녘 빛의 전반적인 환경 상태를 고정 요소로 추출했습니다. 인물이나 특정 소품의 명확한 고정 위치는 양쪽 샷에 공통으로 나타나지 않아 제외했습니다.",
        "fixed_elements": [
          {
            "element_id": "rooftop_room_dim_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The dilapidated and poorly lit interior of a shabby Korean rooftop room. The space is heavily underexposed with deep shadows, catching only cold, gray dusk light seeping in from the outside. The room appears ruined and desolate, establishing a hollow and chilling atmosphere.",
            "applies_to_shots": [
              1,
              4
            ]
          }
        ]
      },
      {
        "scene_index": 26,
        "analysis_summary": "이 씬에서는 인물의 자세와 위치가 샷마다 계속 변화(앉음→반쯤 일어남→조타실로 이동)하므로 고정된 캐릭터 상태는 없습니다. 대신 해질녘의 안개 낀 바다와 젖은 갑판, 조타실의 불빛이라는 환경적 요소가 모든 샷에 걸쳐 일관되게 유지됩니다.",
        "fixed_elements": [
          {
            "element_id": "foggy_dusk_boat_environment",
            "element_type": "environment_state",
            "character_name": "",
            "description": "A dense, foggy sea surrounds a small fishing boat at dusk, casting a cold, bruised blue hue over the area. The wooden deck is noticeably wet, and a weak, sickly yellow light spills outward from the nearby wheelhouse cabin, illuminating the damp surfaces.",
            "applies_to_shots": [
              4,
              5,
              8
            ]
          }
        ]
      },
      {
        "scene_index": 27,
        "analysis_summary": "수리영의 의식 상태와 인우의 자세는 샷이 진행됨에 따라 변하므로 고정 요소에서 제외했습니다. 반면, 조타실 벽면에 기괴하게 파인 수많은 원형 스크래치와 선명한 붉은 원형 자국은 샷 5와 8에서 시각적 배경으로 공통되게 등장하므로 환경 고정 요소로 추출했습니다.",
        "fixed_elements": [
          {
            "element_id": "bizarre_wheelhouse_wall",
            "element_type": "environment_state",
            "character_name": "",
            "description": "The interior wall of the wheelhouse features countless bizarre, overlapping circular scratches violently etched into its dirty surface. Among these chaotic scratches, a single, strikingly large blood-red circle is vividly drawn, dominating the visual space as an ominous mark.",
            "applies_to_shots": [
              5,
              8
            ]
          }
        ]
      },
      {
        "scene_index": 28,
        "analysis_summary": "단일 샷 — 교차 일관성 분석 불필요",
        "fixed_elements": []
      }
    ]
  },
  "step_id": "scene_consistency",
  "run_id": "648b68c9-5aaf-4ccd-b977-927eadfe3c69",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-04-30T22:08:10.723358+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50"
}