{
  "status": "partial",
  "completed_count": 29,
  "applicable_count": 30,
  "failed_count": 1,
  "data": {
    "scenes": [
      {
        "scene_index": 1,
        "flow_summary": "카메라는 도망치는 남자의 상처 입은 다리와 겁에 질린 얼굴을 거칠게 따라가다, 갑자기 난입하는 검은 인영의 공격 순간을 포착한 후 바닥에 쓰러진 둘의 모습을 하이 앵글로 내려다봅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Low angle, close to the ground, tracking alongside the man's legs",
            "camera_motion": "handheld",
            "visual_focus": "The man's bare foot and the bleeding bite mark on his thigh",
            "transition_to_next": "Quick tilt up to the man's face"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Eye level, close up on the man's face, moving backward as he runs",
            "camera_motion": "track",
            "visual_focus": "The man's terrified facial expression",
            "transition_to_next": "Sudden cut to a wider angle as the dark figure enters the frame"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Medium distance, side angle capturing both the running man and the leaping dark figure",
            "camera_motion": "pan",
            "visual_focus": "The dark figure leaping through the air towards the man",
            "transition_to_next": "Cut to a high angle looking down at the ground"
          },
          {
            "stage_index": 4,
            "stage_label": "withdraw",
            "camera_position": "High angle, looking directly down at the forest floor",
            "camera_motion": "static",
            "visual_focus": "The dark figure overlapping the man's body on the ground",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Freeze frame effect at the peak of the dark figure's leap"
          },
          {
            "shot_index": 5,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Static shot emphasizing the aftermath of the attack"
          }
        ]
      },
      {
        "scene_index": 2,
        "flow_summary": "멀리서 밀착된 두 사람에게 다가간 카메라는 남자의 끔찍한 흡혈 행위를 클로즈업으로 포착한 뒤, 힘없이 쓰러지는 여자를 따라 아래로 시선을 내립니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Medium distance, eye level, looking at the couple leaning against the utility pole under dim streetlight",
            "camera_motion": "dolly_in",
            "visual_focus": "The intertwined upper bodies of the man and the woman",
            "transition_to_next": "Cut to a tight close-up of the man's face and the woman's neck"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Very close, slightly low angle, focusing on the man's face and the woman's neck",
            "camera_motion": "handheld",
            "visual_focus": "The man's mouth biting the woman's neck, with blood visible",
            "transition_to_next": "Tilt down following the woman's collapsing body"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "High angle, looking down at the ground near the utility pole",
            "camera_motion": "tilt",
            "visual_focus": "The woman's lifeless body lying face down on the ground",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus specifically on the bloody contact point between the man's mouth and the woman's neck."
          },
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "The camera settles completely as the woman's body hits the ground and remains motionless."
          }
        ]
      },
      {
        "scene_index": 3,
        "flow_summary": "카메라는 폴리스 라인 너머의 감식 현장을 훑은 뒤, 수거되는 시신을 정적으로 비추고, 마지막으로 사건을 지휘하는 혜수에게 다가가며 뉴스 보도의 현장감을 전달합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Medium distance, slightly elevated angle looking over a yellow police tape",
            "camera_motion": "pan",
            "visual_focus": "Police officers crouching and investigating the ground",
            "transition_to_next": "Cut to a closer view of the recovered body on the stretcher"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close distance, eye-level with the stretcher",
            "camera_motion": "static",
            "visual_focus": "A covered body lying on a stretcher",
            "transition_to_next": "Cut to the group of detectives"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Medium distance, eye-level, positioned slightly outside the group of detectives",
            "camera_motion": "dolly_in",
            "visual_focus": "Hye-su standing among detectives, pointing her finger",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Emphasize the absolute stillness of the covered body to create a chilling contrast with the chaotic news voiceover."
          }
        ]
      },
      {
        "scene_index": 4,
        "flow_summary": "인천 변두리의 전경을 넓게 비추며 천천히 하강하던 카메라는, 오래된 빌라 옥탑방을 부감으로 내려다보는 위치에 멈춰 서서 불안한 소식과 대비되는 정적인 풍경을 담아냅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "High altitude above the city outskirts, looking down at the dense, aged neighborhood",
            "camera_motion": "crane",
            "visual_focus": "The general sprawling landscape of the old Incheon outskirts",
            "transition_to_next": "Camera slowly descends and settles into a fixed high-angle position focusing on a specific villa rooftop"
          },
          {
            "stage_index": 2,
            "stage_label": "observation",
            "camera_position": "Fixed high-angle bird's-eye view directly above the old villa rooftop",
            "camera_motion": "static",
            "visual_focus": "The specific old villa rooftop and its immediate surrounding buildings",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 5,
        "flow_summary": "주방의 일상적인 풍경에서 시작해 식탁에서의 모녀 대화를 거쳐, 현관에서 엄마의 손목에 있는 표식으로 시선이 좁혀지는 흐름입니다. 거실에서 현관으로의 공간 이동에 따라 컷이 나뉘며, 마지막엔 미세한 디테일로 카메라가 다가갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Medium distance from the kitchen counter, eye level",
            "camera_motion": "pan",
            "visual_focus": "Minsuk's tense face illuminated by the TV screen",
            "transition_to_next": "Camera tracks Suriyoung as she enters the living room and sits at the dining table."
          },
          {
            "stage_index": 2,
            "stage_label": "conversation",
            "camera_position": "Medium close-up across the dining table",
            "camera_motion": "static",
            "visual_focus": "Suriyoung drinking the herbal medicine and reacting to the taste",
            "transition_to_next": "Cut to the entryway for Suriyoung's departure."
          },
          {
            "stage_index": 3,
            "stage_label": "interaction",
            "camera_position": "Medium shot at the entryway",
            "camera_motion": "static",
            "visual_focus": "Suriyoung and Minsuk sharing a warm moment before leaving",
            "transition_to_next": "Camera follows Suriyoung's gaze, tilting down and pushing in towards Minsuk's wrist."
          },
          {
            "stage_index": 4,
            "stage_label": "reveal",
            "camera_position": "Macro close-up near Minsuk's hand",
            "camera_motion": "dolly_in",
            "visual_focus": "The small circular mark on Minsuk's wrist",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 1,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Camera settles on a static medium close-up of Minsuk's face, emphasizing her dark expression."
          },
          {
            "shot_index": 8,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus shifts entirely to Suriyoung's facial expression as she grimaces from the bitter taste."
          },
          {
            "shot_index": 13,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up emphasizing the texture and shape of the circular mark on the wrist."
          }
        ]
      },
      {
        "scene_index": 6,
        "flow_summary": "해안가 도로를 달리는 수리영을 트래킹하며 따라가던 카메라가, 그녀가 자전거를 멈추고 여유를 즐기는 순간 측면에 정지하여 평화로운 모습을 담아냅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "tracking_approach",
            "camera_position": "Moving parallel to the coastal road, medium distance from the bicycle",
            "camera_motion": "track",
            "visual_focus": "Suri-young riding the bicycle with the ocean in the background",
            "transition_to_next": "Camera slows down and stops as the bicycle comes to a halt, settling into a side profile."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Static side profile, medium close-up on Suri-young on the bicycle",
            "camera_motion": "static",
            "visual_focus": "Suri-young's relaxed expression, wearing earphones, breathing in the sea breeze with her foot resting on the pedal",
            "transition_to_next": "Camera slightly pushes in as an unexpected sound interrupts the peace."
          },
          {
            "stage_index": 3,
            "stage_label": "reaction",
            "camera_position": "Side profile, moving slightly closer to her face",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young's subtle reaction to the sudden off-screen dog bark",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Ensure the earphones and her foot resting on the pedal are clearly visible in the frame."
          }
        ]
      },
      {
        "scene_index": 7,
        "flow_summary": "카메라는 사나운 맹견의 위협적인 모습에서 시작해 수의사의 주사 처치로 시선을 자른 뒤, 수리영의 동선을 따라 보호소 내부를 이동하다가 미용 작업에 집중하는 그녀의 손끝으로 다가갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing_tension",
            "camera_position": "Low angle, close to the cage bars, looking up slightly at the dog",
            "camera_motion": "handheld",
            "visual_focus": "The aggressive Rottweiler bearing its teeth and raising its front paws",
            "transition_to_next": "Cut to a close-up detail of the dog's hindquarters"
          },
          {
            "stage_index": 2,
            "stage_label": "action_detail",
            "camera_position": "Close-up near the dog's hip, eye level with the vet's hands",
            "camera_motion": "cut",
            "visual_focus": "The 50-year-old vet's hand inserting the syringe into the dog",
            "transition_to_next": "Cut to a wider tracking shot following Suri-young as she walks away"
          },
          {
            "stage_index": 3,
            "stage_label": "following_transition",
            "camera_position": "Medium distance, eye level, moving alongside Suri-young",
            "camera_motion": "track",
            "visual_focus": "Suri-young looking at the cages and checking her smartphone",
            "transition_to_next": "Whip pan towards the grooming station as the helper calls out"
          },
          {
            "stage_index": 4,
            "stage_label": "grooming_montage",
            "camera_position": "Close over-the-shoulder angle, focusing on Suri-young's hands and the dog on the table",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young's hands holding scissors and grooming the dog's fur",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 4,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 9,
            "stage_index": 4,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus tightly on the scissors and the texture of the dog's fur as the camera slowly pushes in"
          }
        ]
      },
      {
        "scene_index": 8,
        "flow_summary": "번화가를 가로질러 마트 안으로 들어가는 수리영의 동선을 따라가며 직원들과의 대화를 포착한 뒤, 마트 밖으로 나와 초조하게 전화를 거는 그녀의 모습으로 컷 전환되어 서서히 멀어집니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Moving alongside Suri-young at eye level, capturing the busy street and neon lights in the background",
            "camera_motion": "track",
            "visual_focus": "Suri-young riding her bicycle through the crowded street",
            "transition_to_next": "Cut to the interior of the mart as she parks and enters"
          },
          {
            "stage_index": 2,
            "stage_label": "approach",
            "camera_position": "Following behind Suri-young through the mart aisles, then circling to a medium shot as she stops",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young searching the aisles and approaching the female employee",
            "transition_to_next": "Camera settles into a steady position for the dialogue"
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Medium over-the-shoulder shot at eye level, positioned to capture the interaction between Suri-young and the employees",
            "camera_motion": "pan",
            "visual_focus": "Suri-young and the female employee, then panning slightly to include the male employee joining the conversation",
            "transition_to_next": "Cut to the exterior of the mart"
          },
          {
            "stage_index": 4,
            "stage_label": "withdraw",
            "camera_position": "Medium shot outside the mart's automatic doors, facing Suri-young as she steps out",
            "camera_motion": "dolly_out",
            "visual_focus": "Suri-young holding her smartphone to her ear with a worried expression",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Camera remains static on Suri-young facing the female employee before the pan motion begins."
          },
          {
            "shot_index": 9,
            "stage_index": 4,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus is tightly on Suri-young's anxious expression as she waits for the call to connect while the camera slowly pulls back."
          }
        ]
      },
      {
        "scene_index": 9,
        "flow_summary": "어두운 해안도로의 적막한 풍경에서 시작해, 출발 직전 긴장감이 감도는 수리영의 정지된 자세를 포착한 뒤, 그녀가 자전거를 타고 질주하는 모습을 역동적으로 트래킹하며 따라갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Wide shot from the side of the dark coastal road, low angle",
            "camera_motion": "static",
            "visual_focus": "The empty, dark coastal road and the ocean in the background",
            "transition_to_next": "Cut to a close-up of the bicycle and rider"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close-up, low angle near the bicycle pedals, slightly in front of Suri-young",
            "camera_motion": "handheld",
            "visual_focus": "Suri-young's tense posture, leaning forward with her foot on the pedal",
            "transition_to_next": "Fast dolly out and transition into a tracking motion as she suddenly starts pedaling"
          },
          {
            "stage_index": 3,
            "stage_label": "action_tracking",
            "camera_position": "Medium shot, moving parallel to the bicycle along the road",
            "camera_motion": "track",
            "visual_focus": "Suri-young pedaling hurriedly through the dark",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus specifically on the tension in her foot and upper body, capturing the stillness right before the burst of speed."
          }
        ]
      },
      {
        "scene_index": 10,
        "flow_summary": "카메라는 옥상 바닥에서 남자의 발걸음을 따라가다 문틈의 손길로 시선을 올리고, 문이 열린 후 창문으로 이동해 끔찍한 그림자를 비춥니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Low angle, near the rooftop floor",
            "camera_motion": "track",
            "visual_focus": "The man's shoes walking towards the iron door",
            "transition_to_next": "Tilt up to the door handle level"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close to the iron door gap, at the height of the door handle",
            "camera_motion": "static",
            "visual_focus": "The man's fingers manipulating the flyer in the door gap",
            "transition_to_next": "Cut to a tighter shot of the door opening"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Macro distance to the door gap",
            "camera_motion": "dolly_in",
            "visual_focus": "The iron door slightly opening",
            "transition_to_next": "Pan right to the adjacent window"
          },
          {
            "stage_index": 4,
            "stage_label": "reaction",
            "camera_position": "Outside the window, framing the illuminated glass",
            "camera_motion": "pan",
            "visual_focus": "The shadows of the man attacking the woman projected on the window",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up on the fingers and the flyer."
          },
          {
            "shot_index": 6,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 7,
            "stage_index": 4,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 11,
        "flow_summary": "카메라는 어두운 골목길을 달리는 수리영을 따라가다 계단에서 멈칫하는 그녀의 반응을 포착하고, 옥상에 올라 열린 철문을 발견하는 시선을 오버더숄더로 드러냅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Tracking alongside Soori-young in the dark alley, then panning as she enters the villa yard and parks the bicycle.",
            "camera_motion": "track",
            "visual_focus": "Soori-young riding the bicycle and her hasty movements in the yard.",
            "transition_to_next": "Cut to the stairs."
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Medium close-up on the stairs, positioned slightly above Soori-young.",
            "camera_motion": "static",
            "visual_focus": "Soori-young's facial expression as she suddenly smells something foul.",
            "transition_to_next": "Cut to the rooftop."
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Over-the-shoulder shot from behind Soori-young on the rooftop, looking towards the entrance.",
            "camera_motion": "static",
            "visual_focus": "The half-open iron door in the background, framed by Soori-young's shoulder.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 12,
        "flow_summary": "수리영의 동선을 따라 거실에서 방으로 이동하던 카메라는 바닥의 핏자국을 따라가며 긴장감을 극대화합니다. 이후 참상을 목격한 수리영의 굳은 얼굴과 기이한 현상이 일어나는 벽면을 비춘 뒤, 그녀의 절규하는 얼굴로 강렬하게 마무리됩니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Medium distance, following Suriyoung from behind as she walks through the living room",
            "camera_motion": "track",
            "visual_focus": "Suriyoung navigating the dark living room and checking the empty rooms",
            "transition_to_next": "Cut to the doorway of Suriyoung's room"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Low angle near the doorway, pointing towards the floor",
            "camera_motion": "pan",
            "visual_focus": "Bloody footprints on the floor leading towards the closed curtain",
            "transition_to_next": "Tilt up and dolly in as Suriyoung approaches and pulls the curtain"
          },
          {
            "stage_index": 3,
            "stage_label": "reaction",
            "camera_position": "Close distance, frontal angle on Suriyoung's face",
            "camera_motion": "static",
            "visual_focus": "Suriyoung's frozen, wide-eyed expression of pure shock",
            "transition_to_next": "Dolly out as she stumbles backward, then cut to the details of the mother's body"
          },
          {
            "stage_index": 4,
            "stage_label": "close_observation",
            "camera_position": "Close distance, moving from the mother's hand to the wall behind the bed",
            "camera_motion": "tilt",
            "visual_focus": "The mother's hand holding a crumpled photo, the glowing tattoo, and the red circle forming on the wall",
            "transition_to_next": "Whip pan back to Suriyoung's face"
          },
          {
            "stage_index": 5,
            "stage_label": "climax_reaction",
            "camera_position": "Extreme close-up, frontal angle on Suriyoung",
            "camera_motion": "handheld",
            "visual_focus": "Suriyoung screaming in absolute terror",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 8,
            "stage_index": 3,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 16,
            "stage_index": 5,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 13,
        "flow_summary": "카메라는 계단을 뛰어내려오는 수리영과 달려오는 혜수를 팬(pan)으로 연결하며 긴박하게 시작합니다. 이후 두 사람의 대화 순간에는 로우 앵글과 하이 앵글을 교차 편집하여 충격적인 감정을 포착하고, 마지막으로 옥탑방을 향해 뛰어 올라가는 형사들의 뒷모습을 역동적으로 트래킹하며 씬을 마무리합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Street level, wide shot facing the rooftop stairs and the parked car",
            "camera_motion": "pan",
            "visual_focus": "Suri-young running down the stairs, then panning to Hye-su rushing towards her",
            "transition_to_next": "Cut to a tight low angle shot of Suri-young"
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Low angle, close to Suri-young, looking up towards Hye-su",
            "camera_motion": "handheld",
            "visual_focus": "Suri-young's face as she looks up and speaks",
            "transition_to_next": "Cut to a reverse high angle shot for Hye-su's reaction"
          },
          {
            "stage_index": 3,
            "stage_label": "reaction",
            "camera_position": "High angle, close to Hye-su, looking down towards Suri-young",
            "camera_motion": "handheld",
            "visual_focus": "Hye-su's wide-eyed, shocked expression",
            "transition_to_next": "Cut to a tracking shot behind the detectives at the stairs"
          },
          {
            "stage_index": 4,
            "stage_label": "action",
            "camera_position": "Low angle at the bottom of the stairs, positioned behind the detectives",
            "camera_motion": "track",
            "visual_focus": "Hye-su and Detective Kim rushing up the stairs",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 6,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 8,
            "stage_index": 4,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus slightly shifts to emphasize Detective Kim following right behind Hye-su"
          }
        ]
      },
      {
        "scene_index": 14,
        "flow_summary": "카메라는 현관에서 방으로 뛰어가는 수리영을 따라가며 그녀의 충격받은 얼굴을 포착한 뒤, 식탁에서의 갈등을 거쳐 혜수의 위로와 방안의 미세하게 달라진 물건들을 서늘하게 비추며 마무리됩니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "follow_action",
            "camera_position": "Eye level, medium distance at the entrance",
            "camera_motion": "track",
            "visual_focus": "Su-ri-young running into her room",
            "transition_to_next": "Cut to inside the room"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Close distance, slightly low angle inside the room",
            "camera_motion": "dolly_in",
            "visual_focus": "Su-ri-young's pale face",
            "transition_to_next": "Pan following Su-ri-young as she runs to the dining table"
          },
          {
            "stage_index": 3,
            "stage_label": "track_and_dialogue",
            "camera_position": "Medium distance, eye level near the dining table",
            "camera_motion": "pan",
            "visual_focus": "Su-ri-young pointing at the table, then Detective Kim and Hye-soo",
            "transition_to_next": "Cut to a closer angle on Hye-soo and Su-ri-young"
          },
          {
            "stage_index": 4,
            "stage_label": "close_observation",
            "camera_position": "Close distance, eye level",
            "camera_motion": "static",
            "visual_focus": "Hye-soo comforting Su-ri-young",
            "transition_to_next": "Cut to the floor of the room"
          },
          {
            "stage_index": 5,
            "stage_label": "reveal_detail",
            "camera_position": "Low angle, close distance to the floor",
            "camera_motion": "static",
            "visual_focus": "Backpack and doll on the floor",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up to emphasize her shock and pale expression."
          },
          {
            "shot_index": 10,
            "stage_index": 4,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus specifically on Hye-soo's hand resting on Su-ri-young's shoulder."
          },
          {
            "shot_index": 12,
            "stage_index": 5,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Slightly eerie framing to highlight the changed positions of the items."
          }
        ]
      },
      {
        "scene_index": 15,
        "flow_summary": "카메라는 바다를 등지고 앉은 수리영의 고립된 모습을 정적으로 비추다, 혜수와의 상호작용을 거쳐 수리영이 달려가는 뒷모습을 역동적으로 따라갑니다. 마지막으로 누군가 멀리서 이들을 지켜보는 듯한 시선으로 전환되며 불안감을 조성합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Medium distance, eye level, facing Suriyoung with the dark sea in the background",
            "camera_motion": "static",
            "visual_focus": "Suriyoung's blank expression and isolated posture",
            "transition_to_next": "Cut to a closer angle focusing on the interaction as Hyesu approaches"
          },
          {
            "stage_index": 2,
            "stage_label": "interaction",
            "camera_position": "Close-up, slightly high angle, focusing on the space between Suriyoung and Hyesu",
            "camera_motion": "static",
            "visual_focus": "Hyesu's hand offering the drink to Suriyoung",
            "transition_to_next": "Cut to a wider shot behind Suriyoung as she stands up and runs away"
          },
          {
            "stage_index": 3,
            "stage_label": "action",
            "camera_position": "Behind Suriyoung, tracking her movement along the coastal road",
            "camera_motion": "track",
            "visual_focus": "Suriyoung's back as she runs away",
            "transition_to_next": "Cut to a distant, obscured vantage point observing the scene"
          },
          {
            "stage_index": 4,
            "stage_label": "voyeuristic",
            "camera_position": "Far distance, partially obscured by a structure, looking towards the bus stop and the road",
            "camera_motion": "static",
            "visual_focus": "Hyesu shouting and Suriyoung running in the distance",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 16,
        "flow_summary": "카메라는 불안하게 사무실로 들어오는 혜수를 따라가다, 김형사의 시점에서 그녀가 핸드폰을 들이미는 모습을 포착하고, 점차 그녀의 굳은 표정을 로우 앵글로 강조하며 긴장감을 고조시킵니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Medium distance, tracking Hye-su from the front as she opens the door and enters the office.",
            "camera_motion": "track",
            "visual_focus": "Hye-su holding her phone to her ear with an anxious expression.",
            "transition_to_next": "Cut to an over-the-shoulder shot from Detective Kim's perspective as Hye-su approaches his desk."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Over-the-shoulder from Detective Kim, looking slightly up at Hye-su standing by the desk.",
            "camera_motion": "static",
            "visual_focus": "Hye-su thrusting her smartphone screen toward Detective Kim's face.",
            "transition_to_next": "Cut to a tighter low angle on Hye-su to capture her emotional shift."
          },
          {
            "stage_index": 3,
            "stage_label": "reaction",
            "camera_position": "Low angle close-up from Detective Kim's seated position, looking up at Hye-su.",
            "camera_motion": "dolly_in",
            "visual_focus": "Hye-su's stiff and serious facial expression as she looks down at Detective Kim.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus is pulled to the smartphone screen in the foreground, blurring Hye-su slightly."
          },
          {
            "shot_index": 5,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extremely tight framing on her eyes to highlight her ominous premonition and firm resolve."
          }
        ]
      },
      {
        "scene_index": 17,
        "flow_summary": "카메라는 새벽빛이 스며드는 옥탑방 아래에서 고양이를 정적으로 관찰한 뒤, 고양이가 담장을 넘는 순간을 따라 시선을 위로 이동합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Low angle near the ground, positioned slightly behind and to the side of the black cat",
            "camera_motion": "static",
            "visual_focus": "The black cat looking up at the lit window of the rooftop room",
            "transition_to_next": "Quick tilt up to follow the cat's sudden movement"
          },
          {
            "stage_index": 2,
            "stage_label": "action",
            "camera_position": "Slightly elevated angle near the wall",
            "camera_motion": "tilt",
            "visual_focus": "The black cat jumping over the wall",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 18,
        "flow_summary": "수리영의 불안한 심리를 따라 방에서 욕실, 거실로 이동하며, 거울과 사진에서 발생하는 기괴한 환각을 점진적인 클로즈업과 핸드헬드로 포착하여 공포감을 극대화합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "search_and_anxiety",
            "camera_position": "Medium distance, tracking Suriyoung through the bedroom and her room",
            "camera_motion": "track",
            "visual_focus": "Suriyoung's anxious movements and the empty spaces she checks",
            "transition_to_next": "Cut to the bathroom"
          },
          {
            "stage_index": 2,
            "stage_label": "mirror_hallucination",
            "camera_position": "Over Suriyoung's shoulder, facing the bathroom mirror",
            "camera_motion": "dolly_in",
            "visual_focus": "Suriyoung's reflection and the wall behind her in the mirror",
            "transition_to_next": "Cut to the living room"
          },
          {
            "stage_index": 3,
            "stage_label": "photo_hallucination",
            "camera_position": "High angle, close to the dining table looking at the framed photo",
            "camera_motion": "dolly_in",
            "visual_focus": "The framed photo of Suriyoung and her mom",
            "transition_to_next": "Cut to Suriyoung's face"
          },
          {
            "stage_index": 4,
            "stage_label": "panic_reaction",
            "camera_position": "Close-up, level with Suriyoung's face",
            "camera_motion": "handheld",
            "visual_focus": "Suriyoung's terrified facial expression",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 10,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Focus shifts slightly to the background reflection to clearly show the red circle appearing on the wall."
          },
          {
            "shot_index": 15,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up focusing entirely on the melting face of the mom in the photo."
          },
          {
            "shot_index": 16,
            "stage_index": 4,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 19,
        "flow_summary": "마트 진열대 사이를 탐색하는 수리영을 따라가던 카메라는 직원과의 대화 중 단서를 얻고 긴장하는 그녀의 얼굴로 서서히 다가가며, 이후 마트 밖으로 컷 전환되어 CCTV를 올려다보는 그녀의 시선을 포착합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "approach",
            "camera_position": "Eye-level, positioned in front of Suriyoung, moving backward through the mart aisles",
            "camera_motion": "track",
            "visual_focus": "Suriyoung walking and looking around the aisles to find the male employee",
            "transition_to_next": "Cut to a tighter angle for the dialogue"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Close-up, slightly low angle, positioned over the male employee's shoulder",
            "camera_motion": "dolly_in",
            "visual_focus": "Suriyoung's facial expression as she reacts to the information about the mysterious man",
            "transition_to_next": "Cut to the exterior of the mart"
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Low angle, positioned outside the mart, facing Suriyoung",
            "camera_motion": "static",
            "visual_focus": "Suriyoung looking up towards the CCTV camera on the exterior wall",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Camera stops tracking momentarily to capture her standing still between the aisles."
          },
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Maximum dolly-in to emphasize her wide-eyed shock."
          },
          {
            "shot_index": 7,
            "stage_index": 3,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 20,
        "flow_summary": "CCTV 모니터 화면의 어두운 영상을 클로즈업으로 비춘 뒤, 이를 지켜보며 극도로 초조해하는 수리영의 얼굴로 컷 전환되며, 마지막으로 혜수의 요청에 수긍하는 보안 직원의 모습으로 마무리됩니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Close to the monitor screen, slightly angled to avoid glare",
            "camera_motion": "static",
            "visual_focus": "The dark and unclear CCTV footage playing on the monitor",
            "transition_to_next": "Cut to Suriyoung's face reacting to the unclear footage"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Eye level, medium close-up distance from Suriyoung, positioned slightly to the side of the monitor",
            "camera_motion": "dolly_in",
            "visual_focus": "Suriyoung's anxious facial expression, frowning and biting her lip",
            "transition_to_next": "Cut to the security guard responding to Haesu's request"
          },
          {
            "stage_index": 3,
            "stage_label": "resolution",
            "camera_position": "Medium distance, eye level, framing the security guard",
            "camera_motion": "static",
            "visual_focus": "The security guard nodding in agreement",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 3,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus tightly on her frowning eyebrows and bitten lip to emphasize her anxiety"
          },
          {
            "shot_index": 7,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 21,
        "flow_summary": "경찰서로 들어온 수리영이 홀로 남아 책상 위의 끔찍한 사진들을 발견하는 과정을 밀착해서 보여준 뒤, 옆자리 모니터의 알림음을 따라 카메라가 이동하여 위치 추적 결과를 확인하고 떠나는 연속적인 흐름입니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Mid-height, tracking from the entrance into the busy police office",
            "camera_motion": "track",
            "visual_focus": "Hye-su, Su-ri-young, and Detective Kim interacting, followed by the detectives rushing out",
            "transition_to_next": "Camera pushes in on Su-ri-young as she is left alone at Hye-su's desk."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close to Hye-su's desk, initially angled down at the surface, then tilting up to eye level with Su-ri-young",
            "camera_motion": "tilt",
            "visual_focus": "Gruesome murder photos scattered on the desk, transitioning to Su-ri-young's shocked face",
            "transition_to_next": "Quick pan to the right, following Su-ri-young's attention as a notification sounds from the neighboring desk."
          },
          {
            "stage_index": 3,
            "stage_label": "reveal",
            "camera_position": "Moving from Hye-su's desk towards Detective Kim's desk, ending in a tight shot over Su-ri-young's shoulder onto the monitor",
            "camera_motion": "dolly_in",
            "visual_focus": "Detective Kim's monitor screen displaying the GPS tracking map and red coordinates",
            "transition_to_next": "Camera pulls back slightly to observe Su-ri-young writing down the coordinates."
          },
          {
            "stage_index": 4,
            "stage_label": "withdraw",
            "camera_position": "Medium distance, observing Su-ri-young at the desk",
            "camera_motion": "pan",
            "visual_focus": "Su-ri-young hastily writing a memo, putting it in her pocket, and exiting the office",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 6,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up specifically isolating the gruesome details of the photos."
          },
          {
            "shot_index": 7,
            "stage_index": 2,
            "flow_position": "end",
            "inherits": [
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus shifts entirely to Su-ri-young's wide-eyed, shocked facial expression."
          },
          {
            "shot_index": 11,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Tight close-up filling the frame with the monitor screen and the red coordinates on the marine map."
          }
        ]
      },
      {
        "scene_index": 22,
        "flow_summary": "경찰서 밖에 주차된 자전거에 오르는 수리영을 지켜보다가, 페달을 밟기 직전의 긴장된 정지 순간을 가까이서 포착한 후 그녀가 달려나가는 모습을 트래킹하며 따라갑니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Medium distance, eye level, positioned slightly diagonally in front of the parked bicycle outside the police station.",
            "camera_motion": "static",
            "visual_focus": "Suri-young approaching and mounting the bicycle.",
            "transition_to_next": "Cut to a closer angle focusing on her posture and the pedal."
          },
          {
            "stage_index": 2,
            "stage_label": "close_observation",
            "camera_position": "Close distance, slightly lower angle, framing Suri-young on the saddle and her foot resting on the pedal.",
            "camera_motion": "dolly_in",
            "visual_focus": "Suri-young's determined expression and her foot on the pedal, capturing the paused moment.",
            "transition_to_next": "Camera quickly transitions to a tracking motion as she pushes the pedal and starts moving."
          },
          {
            "stage_index": 3,
            "stage_label": "track",
            "camera_position": "Medium distance, moving parallel to the bicycle.",
            "camera_motion": "track",
            "visual_focus": "Suri-young riding the bicycle away from the police station.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 1,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Emphasize the stillness and tension of the pause right before the kinetic energy is released."
          }
        ]
      },
      {
        "scene_index": 23,
        "flow_summary": "수리영의 어깨 너머에서 모니터 화면의 지도로 다가간 뒤, 인쇄된 지도를 챙겨 백팩에 넣는 손의 움직임을 따라 시선이 아래로 이동합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Over the shoulder, close to Suriyoung's face, moving closer to the monitor",
            "camera_motion": "dolly_in",
            "visual_focus": "Monitor screen displaying a maritime map",
            "transition_to_next": "Cut to the printer output tray"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Close up on the printer output tray",
            "camera_motion": "static",
            "visual_focus": "Maps being printed and coming out of the printer",
            "transition_to_next": "Tilt down following the maps being taken by Suriyoung's hands"
          },
          {
            "stage_index": 3,
            "stage_label": "action_detail",
            "camera_position": "High angle, looking down at the open backpack",
            "camera_motion": "tilt",
            "visual_focus": "Suriyoung's hands pushing the folded maps into the backpack",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 1,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Camera movement stops to hold a static frame entirely filled with the maritime map on the monitor."
          },
          {
            "shot_index": 4,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Camera stops tilting and holds still as the hands firmly push the maps inside the backpack."
          }
        ]
      },
      {
        "scene_index": 24,
        "flow_summary": "먹구름 낀 하늘에서 해안도로로 시선을 내린 뒤, 빗속을 뚫고 자전거를 달리는 수리영의 곁을 따라가며 그녀의 굳은 의지를 포착합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Pointing upwards at the stormy sky, high angle",
            "camera_motion": "tilt",
            "visual_focus": "Dark clouds and lightning in the sky, tilting down to reveal the coastal road",
            "transition_to_next": "Cut to a tracking shot alongside the road"
          },
          {
            "stage_index": 2,
            "stage_label": "tracking_observation",
            "camera_position": "Moving parallel to Suriyoung on the coastal road, medium distance, eye level",
            "camera_motion": "track",
            "visual_focus": "Suriyoung riding the bicycle in the heavy rain, gripping the handles",
            "transition_to_next": "Dolly in towards her face"
          },
          {
            "stage_index": 3,
            "stage_label": "close_observation",
            "camera_position": "Close proximity to Suriyoung's face, moving alongside her",
            "camera_motion": "dolly_in",
            "visual_focus": "Suriyoung's determined, rain-soaked face",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus specifically on her tight grip on the handles and her forward-leaning posture."
          }
        ]
      },
      {
        "scene_index": 25,
        "flow_summary": "분석 실패: LLM returned empty response for step=scene_camera_flow, model=gemini-pro",
        "flow_stages": [],
        "shot_assignments": []
      },
      {
        "scene_index": 26,
        "flow_summary": "안개 낀 포구에서 수리영을 비추던 카메라는 안개 속에서 나타나는 배를 향해 서서히 다가가며, 이후 배에 탄 인우와 그를 간절하게 올려다보는 수리영의 대화를 가까이서 포착합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "Wide shot from the pier, looking at Suriyoung sitting on the rocks",
            "camera_motion": "pan",
            "visual_focus": "Suriyoung and the foggy sea",
            "transition_to_next": "Cut to the sea as a boat emerges from the fog"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Medium shot from the pier, facing the sea",
            "camera_motion": "dolly_in",
            "visual_focus": "The bow of a small boat emerging from the thick fog",
            "transition_to_next": "Cut to the interaction between Suriyoung and Inwoo"
          },
          {
            "stage_index": 3,
            "stage_label": "approach_and_dialogue",
            "camera_position": "High angle, over-the-shoulder from Inwoo's perspective on the boat, looking down at Suriyoung on the pier",
            "camera_motion": "static",
            "visual_focus": "Suriyoung looking up at Inwoo",
            "transition_to_next": "Dolly in closer to Suriyoung's face"
          },
          {
            "stage_index": 4,
            "stage_label": "close_observation",
            "camera_position": "Close-up, slightly high angle, focusing on Suriyoung's face",
            "camera_motion": "dolly_in",
            "visual_focus": "Suriyoung's earnest eyes and clasped hands",
            "transition_to_next": "Cut to Suriyoung facing the sea"
          },
          {
            "stage_index": 5,
            "stage_label": "resolution",
            "camera_position": "Medium shot, profile of Suriyoung facing the sea",
            "camera_motion": "static",
            "visual_focus": "Suriyoung leaving a voice message on her phone",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 5,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 8,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 10,
            "stage_index": 4,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      },
      {
        "scene_index": 27,
        "flow_summary": "카메라는 스마트폰을 든 혜수의 충격받은 얼굴로 다가가며 긴장감을 조성하고, 그녀의 불안한 시선을 따라 움직인 뒤, 마지막으로 천천히 뒤로 물러나며 어스름이 깔린 옥탑방의 황량한 공기를 담아냅니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Close-up at eye level, positioned slightly to the side to clearly capture the smartphone against her ear and her facial expression.",
            "camera_motion": "dolly_in",
            "visual_focus": "Hye-su's wide, shocked eyes as she listens to the voice message.",
            "transition_to_next": "Cut to a slightly wider angle as she abruptly turns her head."
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Medium close-up, positioned to capture her profile and upper body as she turns back.",
            "camera_motion": "pan",
            "visual_focus": "Hye-su's anxious and urgent expression directed towards Detective Kim.",
            "transition_to_next": "Cut to a wide shot of the room after Detective Kim's dialogue and the sound of the rattling door."
          },
          {
            "stage_index": 3,
            "stage_label": "withdraw",
            "camera_position": "Wide shot from the far corner of the living room, encompassing the messy interior, the characters, and the front door.",
            "camera_motion": "dolly_out",
            "visual_focus": "The fading evening light filling the desolate living room and the rattling front door.",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 3,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 6,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus shifts entirely to the atmosphere of the room, emphasizing the dim lighting and the emptiness of the space."
          }
        ]
      },
      {
        "scene_index": 28,
        "flow_summary": "갑판 위에서 지도를 보는 인우의 얼굴에서 시작해 사진 속 단서로 시선이 집중된 후, 조타실로 뛰어들어가는 인우를 거칠게 따라가며 두 사람의 물리적 충돌을 포착합니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Close to In-woo on the deck, slightly high angle looking down at the map",
            "camera_motion": "dolly_in",
            "visual_focus": "In-woo's face and the map in his hands",
            "transition_to_next": "Cut to a tighter angle on the photograph held by Su-ri-young"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Extreme close-up level, positioned between Su-ri-young and In-woo, focusing on the photograph",
            "camera_motion": "static",
            "visual_focus": "Su-ri-young's finger pointing at the word 'Geumwol' on the photograph",
            "transition_to_next": "Fast pan following In-woo as he abruptly stands up and rushes to the wheelhouse"
          },
          {
            "stage_index": 3,
            "stage_label": "action_tracking",
            "camera_position": "Inside the cramped wheelhouse, close to the steering wheel",
            "camera_motion": "handheld",
            "visual_focus": "Physical struggle between Su-ri-young and In-woo at the steering wheel",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 1,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Tight framing specifically on In-woo's frowning forehead"
          },
          {
            "shot_index": 8,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus strictly on the finger and the text on the photo"
          },
          {
            "shot_index": 15,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus on Su-ri-young's hands gripping In-woo's arm tightly"
          }
        ]
      },
      {
        "scene_index": 29,
        "flow_summary": "카메라는 수리영이 내민 사진으로 시선을 내렸다가, 충격적인 사실을 듣고 굳어버린 인우의 얼굴로 서서히 다가갑니다. 이후 의식을 잃고 인우의 어깨 위로 무너져 내리는 수리영의 모습을 정적인 앵글로 포착하며 마무리됩니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "close_observation",
            "camera_position": "Close to the characters, angled down towards the photograph held by Su-ri-young",
            "camera_motion": "tilt",
            "visual_focus": "Su-ri-young's finger pointing at the young girl in the photograph",
            "transition_to_next": "Cut to In-woo's face to capture his immediate reaction"
          },
          {
            "stage_index": 2,
            "stage_label": "reaction",
            "camera_position": "Close-up level with In-woo's face, capturing his expression with the wheelhouse background slightly out of focus",
            "camera_motion": "dolly_in",
            "visual_focus": "In-woo's pale and stiffened face",
            "transition_to_next": "Pan quickly to Su-ri-young as she starts to lose consciousness"
          },
          {
            "stage_index": 3,
            "stage_label": "withdraw",
            "camera_position": "Medium close-up from a slight side angle, framing both In-woo and Su-ri-young",
            "camera_motion": "static",
            "visual_focus": "Su-ri-young's head resting on In-woo's shoulder",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 4,
            "stage_index": 1,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Extreme close-up specifically isolating the finger and the girl's face in the photo."
          },
          {
            "shot_index": 7,
            "stage_index": 2,
            "flow_position": "start",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 13,
            "stage_index": 3,
            "flow_position": "end",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": "Focus remains locked on the physical contact between Su-ri-young's head and In-woo's shoulder."
          }
        ]
      },
      {
        "scene_index": 30,
        "flow_summary": "해질 무렵 황금빛 바다에서 시작한 카메라는 거대한 안개 벽을 비추고, 인우의 배를 따라 안개 속으로 들어가는 과정을 추적하며 서서히 멈춥니다.",
        "flow_stages": [
          {
            "stage_index": 1,
            "stage_label": "establishing",
            "camera_position": "High angle wide shot overlooking the ocean",
            "camera_motion": "pan",
            "visual_focus": "Golden sunset reflecting on the water surface",
            "transition_to_next": "Cut to a lower angle facing the fog bank"
          },
          {
            "stage_index": 2,
            "stage_label": "reveal",
            "camera_position": "Low angle wide shot facing the massive fog bank",
            "camera_motion": "static",
            "visual_focus": "The thick grey fog band rising like a giant wall",
            "transition_to_next": "Dolly in towards the fog as the boat enters the frame"
          },
          {
            "stage_index": 3,
            "stage_label": "approach",
            "camera_position": "Medium shot, tracking alongside the small fishing boat",
            "camera_motion": "track",
            "visual_focus": "The bow of the small fishing boat touching the thick fog wall",
            "transition_to_next": "Stop tracking, letting the boat disappear into the fog"
          },
          {
            "stage_index": 4,
            "stage_label": "withdraw",
            "camera_position": "Static wide shot facing the fog",
            "camera_motion": "static",
            "visual_focus": "The empty sea filled only with thick fog",
            "transition_to_next": ""
          }
        ],
        "shot_assignments": [
          {
            "shot_index": 2,
            "stage_index": 2,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          },
          {
            "shot_index": 3,
            "stage_index": 3,
            "flow_position": "mid",
            "inherits": [
              "camera_position",
              "camera_motion",
              "visual_focus"
            ],
            "deviation_note": ""
          }
        ]
      }
    ]
  },
  "step_id": "scene_camera_flow",
  "run_id": "73e75933-8a0c-441b-b7bf-7e75926f05f8",
  "resolved_model": "gemini-pro",
  "updated_at": "2026-04-27T09:56:17.872493+00:00"
}