{
  "type": "object",
  "properties": {
    "scene_index": {"type": "integer"},
    "heading": {"type": "string"},
    "beat_title": {"type": "string", "description": "이 씬의 핵심을 한마디로"},
    "representative_moment": {"type": "string", "description": "스틸 이미지로 만들 대표 순간 (한 문장)"},
    "outlooks": {
      "type": "array",
      "description": "이 씬에서 감지된 인물별 아웃룩",
      "items": {
        "type": "object",
        "properties": {
          "character_name": {"type": "string", "description": "인물 이름 (요소 목록과 정확히 일치)"},
          "outlook_name": {"type": "string", "description": "아웃룩 이름 (간결하게, 예: 군복, 일상복, 수트)"},
          "outlook_description": {"type": "string", "description": "아웃룩의 시각적 상세 설명 (색상, 재질, 특징)"},
          "is_new": {"type": "boolean", "description": "기존 목록에 없는 새 아웃룩이면 true"}
        },
        "required": ["character_name", "outlook_name", "outlook_description", "is_new"]
      }
    },
    "t2i_variations": {
      "type": "array",
      "description": "서로 다른 해석의 T2I 프롬프트들",
      "items": {
        "type": "object",
        "properties": {
          "theme": {"type": "string", "description": "주제 (예: character_focus, situation_focus, mood_focus)"},
          "theme_label": {"type": "string", "description": "주제 한국어 라벨 (예: 인물 중심, 상황 중심)"},
          "t2i_prompt": {"type": "string", "description": "T2I 프롬프트. [[인물]+[아웃룩]] 마커 필수."}
        },
        "required": ["theme", "theme_label", "t2i_prompt"]
      }
    },
    "visible_entities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entity_name": {"type": "string"},
          "entity_type": {"type": "string", "description": "character|location|prop"},
          "variant_name": {"type": "string", "description": "빈 문자열"}
        },
        "required": ["entity_name", "entity_type", "variant_name"]
      }
    },
    "dependent_scene_index": {
      "type": "integer",
      "description": "앞쪽에서 가장 비슷한 배경/연속되는 씬 인덱스. 없으면 -1"
    },
    "dependency_reason": {"type": "string"}
  },
  "required": [
    "scene_index", "heading", "beat_title", "representative_moment",
    "outlooks", "t2i_variations", "visible_entities",
    "dependent_scene_index", "dependency_reason"
  ]
}