{
  "status": "completed",
  "completed_count": 23,
  "applicable_count": 23,
  "failed_count": 0,
  "data": {
    "locations": [
      {
        "name": "금월산 숲속·등산로 사건 현장",
        "description": "해 질 무렵의 울창한 산림 등산로로, 빽빽한 수풀과 낮은 나뭇가지가 흙길을 에워싼다. 자연광이 빠르게 어두워지는 숲 바닥에는 벗겨진 신발, 짓밟힌 풀, 비그래픽한 혈흔이 남아 있다.",
        "visual_traits": [
          "짙은 녹색 수풀과 키 큰 나무",
          "좁고 불규칙한 흙 등산로",
          "해 질 무렵의 푸른 회색 자연광",
          "한 짝 벗겨진 신발",
          "짓밟히거나 꺾인 풀",
          "바닥과 식물에 남은 제한적인 혈흔"
        ],
        "short_id": "L01"
      },
      {
        "name": "효장동 도시 뒷골목 사건 현장",
        "description": "도심 건물 사이의 좁고 어두운 뒷골목이다. 낡은 전봇대와 전선, 콘크리트 벽, 희미한 가로등이 있으며 밤의 저채도 조명 속에 바닥의 습기와 그림자가 강조된다.",
        "visual_traits": [
          "좁은 콘크리트 골목",
          "낡은 전봇대와 얽힌 전선",
          "희미한 주황빛 가로등",
          "벽면의 얼룩과 노후한 배관",
          "어두운 출입문과 셔터",
          "축축하게 반사되는 골목 바닥"
        ],
        "short_id": "L02"
      },
      {
        "name": "연쇄 변사 사건 수사 현장",
        "description": "산길과 도시 골목에 설치된 경찰 감식 구역이다. 황색 폴리스 라인으로 출입이 통제되어 있고, 휴대용 조명과 감식 장비를 든 수사 인력이 현장을 조사하며 검은 시신 수습 포대와 증거 표식이 놓인다.",
        "visual_traits": [
          "황색 폴리스 라인",
          "현대식 경찰 조끼와 감식 장비",
          "휴대용 LED 조명",
          "번호가 적힌 증거 표식",
          "검은 시신 수습 포대",
          "현장 주변의 경찰 차량 경광등 반사"
        ],
        "short_id": "L03"
      },
      {
        "name": "인천 변두리 오래된 빌라 밀집 주거지",
        "description": "낮은 층수의 오래된 다세대 빌라가 빽빽하게 들어선 도시 외곽 주거지다. 회색과 베이지색 외벽, 옥상 물탱크, 에어컨 실외기, 복잡한 전선이 겹쳐 보이며 좁은 골목 사이로 생활감 있는 풍경이 이어진다.",
        "visual_traits": [
          "4~5층 규모의 노후 다세대 빌라",
          "회색 콘크리트와 벽돌 외벽",
          "옥상 물탱크와 난간",
          "벽면에 붙은 에어컨 실외기",
          "복잡하게 늘어진 전선",
          "좁은 골목과 주차된 생활 차량"
        ],
        "short_id": "L04"
      },
      {
        "name": "오래된 빌라 옥상·옥탑방 외부",
        "description": "낡은 빌라 옥상 위에 작은 옥탑 구조물이 붙은 공간이다. 녹슨 철제 현관문, 원통형 물탱크, 바람에 흔들리는 빨랫줄과 평상이 놓여 있으며, 말린 식물 잎이 흩어진 거친 시멘트 바닥이 보인다.",
        "visual_traits": [
          "낮은 옥탑 구조물과 철제 현관문",
          "원통형 옥상 물탱크",
          "팽팽하게 걸린 빨랫줄과 집게",
          "낡은 나무 평상",
          "바람에 흩날리는 말린 석창포 잎",
          "문틈에 끼인 광고 전단지",
          "거친 시멘트 바닥과 긴 그림자"
        ],
        "short_id": "L05"
      },
      {
        "name": "옥탑방 내부",
        "description": "작은 거실, 침실, 욕실이 연결된 오래된 옥탑 주거 내부다. 작은 창으로 가는 햇빛이 들어오고, 싱크대와 식탁, 텔레비전, 거실 스탠드, 낡은 가구가 밀집해 있다. 상태에 따라 끓다 식은 냄비, 찻잔, 열린 창, 쓰러진 의자, 뒤엉킨 살림살이가 보이며, 붉은 손그림 고리는 특정 벽이나 반사면 안에서만 나타난다.",
        "visual_traits": [
          "작은 거실 창과 얇은 커튼",
          "싱크대 수도꼭지와 냄비",
          "석창포가 담긴 그릇과 말린 약초",
          "식탁과 찻잔",
          "켜진 텔레비전과 거실 스탠드",
          "침대, 백팩, 인형이 있는 작은 방",
          "욕실 거울과 타일 벽",
          "열린 창문과 쓰러진 식탁 의자",
          "특정 벽면 또는 거울에 한정된 불완전한 붉은 원",
          "낡은 가족 사진과 오래된 인화 사진"
        ],
        "short_id": "L06"
      },
      {
        "name": "해안가 도로",
        "description": "바다를 따라 난 2차선 해안도로와 자전거 통행 구간이다. 낮에는 푸른 바다와 방파제, 난간이 보이고, 비가 내릴 때는 검은 구름과 젖은 아스팔트 위로 빗물 반사가 번진다.",
        "visual_traits": [
          "바다를 따라 이어지는 도로",
          "금속 난간과 낮은 방파제",
          "자전거가 달릴 수 있는 갓길",
          "해안 표지판과 가로등",
          "파도와 해안 암석",
          "소나기 때의 젖은 아스팔트",
          "먹구름과 번개"
        ],
        "short_id": "L07"
      },
      {
        "name": "유기견 보호원",
        "description": "금속 케이지가 줄지어 놓인 실용적인 동물 보호 시설 내부다. 세척 가능한 바닥, 배수구, 목욕 공간, 진료용 테이블과 소독 용품이 있으며 차가운 형광등 아래 동물 관리 장비가 정돈되어 있다.",
        "visual_traits": [
          "줄지어 배치된 금속 견사 케이지",
          "대형견이 들어갈 수 있는 철창문",
          "세척 가능한 타일 또는 에폭시 바닥",
          "배수구와 물 호스",
          "진료용 테이블과 주사기",
          "반려동물 미용 가위와 이발기",
          "목욕용 욕조와 수건",
          "차가운 백색 형광등"
        ],
        "short_id": "L08"
      },
      {
        "name": "포구 인근 번화가",
        "description": "포구와 맞닿은 저녁 상권 거리로, 상점 간판과 네온사인, 택시, 길거리 포장마차가 이어진다. 바다 쪽의 습한 공기와 해 질 무렵의 푸른 어둠 위로 다채로운 인공조명이 번진다.",
        "visual_traits": [
          "밝은 네온사인과 한글 상점 간판",
          "포장마차 천막과 플라스틱 의자",
          "택시와 도로변 차량",
          "해산물 상점 또는 소규모 식당 외관",
          "습기로 반사되는 보도 블록",
          "포구 방향의 어두운 바다",
          "저녁의 청색 주변광"
        ],
        "short_id": "L09"
      },
      {
        "name": "대형 마트 외부·자전거 주차 구역·외부 통행 구역",
        "description": "대형 유통점 정면 출입구와 넓은 보행 통로, 자전거 거치대가 연결된 외부 공간이다. 유리 자동문, 대형 간판, 쇼핑 카트 보관 구역, 배송 차량이 드나드는 통행로가 현대적인 상업 시설 외관을 이룬다.",
        "visual_traits": [
          "대형 한글 간판이 달린 상업 건물 외벽",
          "유리 자동문",
          "자전거 거치대와 주차된 자전거",
          "쇼핑 카트 보관 구역",
          "넓은 보도와 차량 진입로",
          "유리창에 반사되는 상가 조명",
          "배송용 박스와 운반 카트"
        ],
        "short_id": "L10"
      },
      {
        "name": "대형 마트 매장 내부",
        "description": "높은 천장과 균일한 백색 조명을 갖춘 대형 판매 공간이다. 긴 진열대와 가격표, 상품 상자, 운반용 카트가 정렬되어 있으며 이른 아침에는 넓은 통로가 비교적 비어 보인다.",
        "visual_traits": [
          "긴 상품 진열대",
          "천장형 백색 LED 조명",
          "가격표와 판촉 표지",
          "골판지 상품 상자",
          "운반 카트와 진열 작업대",
          "광택 있는 타일 바닥",
          "넓고 곧은 매장 통로"
        ],
        "short_id": "L11"
      },
      {
        "name": "오래된 다세대 빌라 외부·입구·마당",
        "description": "노후한 다세대 주택의 좁은 진입부와 작은 공동 마당이다. 공동 현관문, 우편함, 벽면 배관, 주차된 자전거가 보이며 건물 사이로 빛이 적게 들어오는 구조다.",
        "visual_traits": [
          "낡은 공동 현관문",
          "벽면 우편함과 초인종 패널",
          "작은 콘크리트 마당",
          "건물 벽의 노출 배관",
          "한쪽에 세워진 자전거",
          "얼룩진 외벽과 좁은 통로",
          "낮은 담장과 금속 난간"
        ],
        "short_id": "L12"
      },
      {
        "name": "다세대 빌라 외부 철제 증축 계단",
        "description": "건물 외벽에 붙은 가파른 철제 증축 계단으로, 옥상 옥탑방까지 이어진다. 금속 발판과 난간, 녹슨 접합부가 드러나며 밤에는 계단 아래가 깊은 그림자로 잠긴다.",
        "visual_traits": [
          "가파른 외부 철제 계단",
          "격자무늬 금속 발판",
          "금속 난간",
          "녹슨 볼트와 접합부",
          "외벽에 드리운 계단 그림자",
          "옥상으로 이어지는 좁은 동선",
          "어두운 밤 조명과 희미한 주변광"
        ],
        "short_id": "L13"
      },
      {
        "name": "해안가 버스정류장 부근",
        "description": "바다를 마주 보는 단출한 버스정류장과 해안 보행 공간이다. 투명 또는 금속 재질의 정류장 쉼터, 벤치, 노선 안내판이 있고, 맞은편으로 낮은 방파제와 어두운 수면이 펼쳐진다.",
        "visual_traits": [
          "버스정류장 표지판",
          "투명 패널 또는 금속 쉼터",
          "긴 벤치",
          "버스 노선 안내판",
          "해안 난간과 방파제",
          "밤바다의 어두운 수면",
          "가로등 아래의 차가운 조명"
        ],
        "short_id": "L14"
      },
      {
        "name": "경찰서 사무실",
        "description": "현대식 경찰서의 수사 사무 공간이다. 여러 책상이 밀집해 있고 컴퓨터 모니터, 서류 더미, 사건 게시물, 복합기와 개인 물품이 놓여 있다. 모니터에는 현실적인 위치 추적 지도와 좌표 정보가 평면 화면으로 표시된다.",
        "visual_traits": [
          "칸막이가 낮은 사무용 책상",
          "듀얼 또는 단일 PC 모니터",
          "서류철과 실종 신고서",
          "사건 현장 확대 사진",
          "전화기와 무전기",
          "형광등 조명",
          "프린터 및 복합기",
          "모니터 안의 해상 지도, GPS 좌표, 시간 정보"
        ],
        "short_id": "L15"
      },
      {
        "name": "경찰서 외부·주차 구역",
        "description": "공공기관 표지와 출입구를 갖춘 경찰서 건물 외부 및 주차 공간이다. 경찰 차량, 일반 차량, 자전거 주차 구역이 있으며 단정한 보도와 차량 진출입로가 이어진다.",
        "visual_traits": [
          "공공기관 형태의 건물 정면",
          "경찰서 표지판",
          "주차된 순찰차",
          "주차선과 차량 진출입로",
          "자전거 주차 공간",
          "출입구 앞 보도 블록",
          "건물 외벽의 보안 카메라"
        ],
        "short_id": "L16"
      },
      {
        "name": "마트 총무과 CCTV 관제실",
        "description": "마트 내부의 작은 관리 사무실 겸 CCTV 관제 공간이다. 책상 위 모니터에 매장 외부 영상이 여러 분할 화면으로 표시되고, 키보드와 녹화 장치, 서류 파일이 놓여 있다. 특정 영상 구역은 모니터 안에서만 비정상적으로 어둡게 보인다.",
        "visual_traits": [
          "CCTV 분할 화면이 표시된 모니터",
          "책상 위 키보드와 마우스",
          "영상 재생 타임라인 인터페이스",
          "랙형 녹화 장치",
          "보안 관련 서류철",
          "좁은 사무실 책상",
          "형광등 조명",
          "모니터 프레임 안의 어두운 외부 영상 구역"
        ],
        "short_id": "L17"
      },
      {
        "name": "PC방 내부",
        "description": "여러 대의 개인용 컴퓨터가 줄지어 배치된 현대식 PC방이다. 칸막이 좌석과 게이밍 모니터, 키보드, 헤드셋이 있으며 어두운 실내에 모니터 화면빛과 간접조명이 섞인다. 디지털 지도와 인쇄 화면은 모니터 및 프린터 출력물 안에 한정된다.",
        "visual_traits": [
          "줄지어 놓인 PC 좌석",
          "칸막이와 게이밍 의자",
          "밝게 켜진 모니터 화면",
          "키보드와 헤드셋",
          "어두운 실내 간접조명",
          "프린터와 출력 용지",
          "모니터 속 디지털 지도 화면"
        ],
        "short_id": "L18"
      },
      {
        "name": "1970~1980년대 시골 식당 앞",
        "description": "낡은 인화 사진 내부에만 보이는 과거의 시골 식당 앞마당이다. 낮은 단층 건물의 바랜 간판과 기와 또는 슬레이트 지붕 위 원형 구조물이 보이고, 사진 전체에는 빛바랜 아날로그 색감과 인화지의 마모가 남아 있다.",
        "visual_traits": [
          "낮은 단층 식당 건물",
          "바랜 옛 한글 간판",
          "기와 또는 슬레이트 지붕",
          "지붕 위에 설치된 둥근 고리형 구조물",
          "흙 또는 시멘트 앞마당",
          "1970~1980년대 복식의 어린이 두 명",
          "빛바랜 갈색·황색 아날로그 색감",
          "낡은 인화지의 얼룩과 구김"
        ],
        "short_id": "L19"
      },
      {
        "name": "포구·선착장·갯바위",
        "description": "비가 그친 뒤 짙은 안개가 깔린 작은 포구와 선착장이다. 젖은 콘크리트 부두, 계류 밧줄, 부표, 낮은 방파제와 갯바위가 보이며, 안개 때문에 먼 바다와 정박 선박의 윤곽이 흐려진다.",
        "visual_traits": [
          "젖은 콘크리트 선착장",
          "굵은 계류 밧줄과 금속 고리",
          "주황색 또는 흰색 부표",
          "낮은 방파제",
          "검은 갯바위",
          "안개에 가려진 수면",
          "비 뒤의 물웅덩이와 반사광",
          "희미하게 접근하는 소형어선"
        ],
        "short_id": "L20"
      },
      {
        "name": "육지에서 멀리 떨어진 바다",
        "description": "육지가 시야에서 사라진 넓은 외해다. 해 질 무렵의 수면에 황금빛 빛길이 길게 드리우고, 수평선 가까이에는 바다와 하늘의 경계를 흐리는 짙은 안개 띠가 형성된다.",
        "visual_traits": [
          "넓게 펼쳐진 어두운 바다",
          "낮은 수평선",
          "해 질 무렵의 황금빛 수면 반사",
          "청회색 하늘",
          "배 주위의 작은 파도와 물보라",
          "수평선을 가르는 짙은 안개 띠",
          "육지가 보이지 않는 원경"
        ],
        "short_id": "L21"
      },
      {
        "name": "소형어선 갑판",
        "description": "현실적인 소형 연안 어선의 노출 갑판이다. 흰색과 청색 선체, 미끄럼 방지 금속 바닥, 밧줄과 계류 장비, 난간이 보이며 항해 중에는 젖은 갑판과 기울어진 수평선이 강조된다.",
        "visual_traits": [
          "흰색·청색의 소형 어선 선체",
          "미끄럼 방지 금속 갑판",
          "난간과 계류용 밧줄",
          "밧줄 감개 또는 작은 작업 장비",
          "젖은 바닥의 물기",
          "낮은 선미와 바다를 향한 개방된 시야",
          "해 질 무렵의 측면광"
        ],
        "short_id": "L22"
      },
      {
        "name": "소형어선 조타실",
        "description": "작은 선박 조타실 내부로, 전면 유리창을 통해 바다와 안개가 보인다. 조타륜, 계기판, 스위치 패널, 해도와 통신 장비가 좁은 공간에 배치되어 있다. 붉은 원형 이미지는 객관적 장식물이 아닌 관찰자의 주관적 시야 안에서만 유리 너머 또는 내부 표면에 겹쳐 보일 수 있다.",
        "visual_traits": [
          "전면 및 측면 유리창",
          "조타륜과 스로틀 레버",
          "아날로그·디지털 혼합 계기판",
          "해도와 접힌 종이 지도",
          "무전기와 스위치 패널",
          "좁은 실내 통로",
          "유리창 너머의 안개 낀 바다",
          "주관적 시야에 한정된 불완전한 붉은 원형 이미지"
        ],
        "short_id": "L23"
      }
    ]
  },
  "step_id": "entity_extract_location",
  "run_id": "201854ab-d30f-4a34-9e14-8761a84419b5",
  "resolved_model": "gpt-terra",
  "updated_at": "2026-07-10T02:58:24.815043+00:00",
  "schema_version": 1,
  "config_hash": "99914b932bd37a50",
  "project_config_snapshot": {}
}