{
  "type": "object",
  "properties": {
    "scene_index": {"type": "integer"},
    "heading": {"type": "string"},
    "beat_title": {"type": "string", "description": "이 씬의 핵심을 한마디로"},
    "representative_moment": {"type": "string", "description": "스틸 이미지로 만들 대표 순간 (한 문장)"},
    "t2i_variations": {
      "type": "array",
      "description": "서로 다른 구성의 T2I 프롬프트들",
      "items": {
        "type": "object",
        "properties": {
          "variant_label": {"type": "string", "description": "var_1, var_2 등"},
          "camera_effect": {"type": "string", "description": "카메라 구도 + 색감 (필수). 예: low angle, warm amber lighting"},
          "t2i_prompt": {"type": "string", "description": "T2I 프롬프트. [[인물]+[아웃룩]] 마커 필수."}
        },
        "required": ["variant_label", "camera_effect", "t2i_prompt"]
      }
    },
    "visible_entities": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "entity_name": {"type": "string"},
          "entity_type": {"type": "string", "description": "character|location|prop"}
        },
        "required": ["entity_name", "entity_type"]
      }
    },
    "scene_type": {
      "type": "string",
      "enum": ["normal", "montage", "flashback", "dream", "voiceover", "transition"],
      "description": "씬의 유형. 몽타주/회상/꿈/보이스오버 등을 구분"
    },
    "dependent_scene_index": {
      "type": "integer",
      "description": "앞쪽 시각 연관 씬. -1 if none"
    },
    "dependency_reason": {"type": "string"}
  },
  "required": [
    "scene_index", "heading", "beat_title", "representative_moment",
    "t2i_variations", "visible_entities", "scene_type",
    "dependent_scene_index", "dependency_reason"
  ]
}