{
  "messages": [
    {
      "role": "system",
      "content": "你是短剧剧本 block 智能体。程序已经冻结当前 block 的 block_id、来源映射、人物绑定、地点绑定、continuity 约束与 block 职责。你只能润色当前 block 的 title、screenplay_text、transition_note。不得改动 block_id，不得新增或删除 block，不得跨 block 搬运主要情节。screenplay_text 必须写成单段可拍、可审阅的短剧正文。必须优先保留场景锚点、主体动作、对白归属与正在发生的冲突。如果 candidate_meta 中存在 purity_guard，必须遵守这些约束。当 purity_guard.source_multi_scene=true 时，应优先把正文收束到单一场景焦点，不得把多个场景或多段时空切换硬塞进同一段。当 purity_guard.requires_explicit_label=true 时，title 中必须显式保留对应标签，例如【闪回】、【插叙】、【梦境】、【传闻】或【蒙太奇】。当 purity_guard.overlong_text=true 或当前 block 信息密度明显过高时，应优先压缩到单段核心动作链，不得继续叠加流程串讲、转场口播或额外 recap。若当前 block 需要对白，不得写成纯摘要；若当前 block 为桥接/压缩段，也不得写成全知解释或模板化空话。不得输出“这一段要完成的戏剧目标是”“画面与情节必须落下”之类脚手架文字。不得输出通用占位句、重复模板句、抽象解释句去替代具体场面。所有内容必须使用中文。只返回严格 JSON。"
    },
    {
      "role": "user",
      "content": "请基于当前分集上下文与单个 block 候选，输出适合 Dramart 与 Seedance 下游消费的 block 正文。输出必须是严格 JSON，键为：block_id, title, screenplay_text, transition_note。只允许输出当前这一个 block 的内容。block_id 必须与输入一致。screenplay_text 应保持单场景片段或单镜头级连续动作的紧凑粒度，不要把多个场景或多段编年过程混成一段。若 candidate_meta.purity_guard.source_multi_scene=true，应主动把正文压缩到一个主场景焦点，不得把多个 source_scene 逐段串讲。若 candidate_meta.purity_guard.requires_explicit_label=true，title 必须显式保留对应特殊标签；不得把闪回、插叙、梦境、传闻或蒙太奇伪装成普通 block。若 candidate_meta.purity_guard.overlong_text=true，应优先收紧到核心动作 / 冲突 / 对白链，不要继续扩写成跨场景大段。若 continuity_guard.carryover_expected=true，应保留与上一 block 的简洁承接，但不得把上一 block 重写成 recap。若 dialogue_guard.expected_dialogue=true，应至少保留一句明确归属的对白；若 opportunity_level=high，应优先保留一轮清晰对白往来。不得把 outline、summary、objective、conflict、turning_point 原样抄成正文。不得输出 markdown，不要代码块，只返回单个 JSON 对象。如果无法完成，也必须保留输入中的 block_id。\n\nSCREENPLAY BLOCK CANDIDATE:\n{\"episode_context\": {\"episode_id\": \"EP0006\", \"episode_index\": 6, \"title\": \"第06集 如来提出“掌中赌赛”\", \"logline\": \"二郎神与孙悟空大战三百回合，如来宣布设立孟兰盆会，如来回到雷音宝刹。\", \"summary\": \"呈现一场视觉上极具冲击力、节奏紧张的神仙对决，孙悟空瞥见本营猴群惊散，心慌收法象逃跑，二郎神与孙悟空大战三百回合。\"}, \"block\": {\"block_id\": \"EP0006B007\", \"title\": \"如来回到雷音宝刹，向众佛讲述降伏妖猴、安天大会…\", \"kind\": \"dialogue\", \"presentation_mode\": \"dialogue\", \"time_modes\": [\"mainline\"], \"story_functions\": [\"转场承接\", \"信息复述\", \"场景过渡\"], \"characters\": [{\"name\": \"如来\", \"aliases\": [\"佛祖\", \"我佛如来\"]}, {\"name\": \"阿傩\", \"aliases\": [\"菩萨\"], \"risk_flag\": \"suspect:high\"}, {\"name\": \"玉皇大天尊\", \"aliases\": [\"玉帝\", \"五帝\"]}, {\"name\": \"石猴\", \"aliases\": [\"妖猴\", \"那厮\"]}, {\"name\": \"太上老君\", \"aliases\": [\"老君\"]}, {\"name\": \"二郎显圣真君\", \"aliases\": [\"二郎\"]}, {\"name\": \"泾河龙王\", \"aliases\": [\"龙王\"]}], \"locations\": [{\"name\": \"五行山\"}, {\"name\": \"花果山\"}], \"must_keep\": [\"如来讲述降伏妖猴经过\", \"众佛喜悦称扬\", \"如来设孟兰盆会\", \"如来回到雷音宝刹\"], \"continuity_requirements\": [\"紧接S0047（如来辞别玉帝）之后\", \"角色连续性：如来、阿傩\", \"事件连续性：安天大会之后\"], \"candidate_meta\": {\"summary\": \"如来回到雷音宝刹，向众佛讲述降伏妖猴、安天大会之事，并设孟兰盆会。\", \"objective\": \"通过如来之口，以权威视角总结“大闹天宫”事件，完成从天庭到灵山的场景转换，并为后续“孟兰盆会”及取经人寻找做铺垫。\", \"conflict\": \"无直接冲突，核心是权威叙事与事件收束。\", \"turning_point\": \"如来宣布设立孟兰盆会，标志着一个天庭危机的彻底结束和佛教内部新活动的开始。\", \"unit_count\": 1, \"unit_ids\": [\"AB0037\"], \"dialogue_guard\": {\"expected_dialogue\": true, \"opportunity_level\": \"high\", \"reasons\": [\"source_contains_quotes\", \"multi_character_presence\"], \"source_quote_count\": 4, \"source_character_count\": 7, \"source_scene_count\": 1}, \"opening_bridge_guard\": {\"require_performable_anchor\": false, \"pressure_level\": \"low\", \"discourage_pure_narration\": false, \"reasons\": [], \"preferred_anchor_types\": [\"角色发声或可见反应\", \"现场危机画面\", \"冲突触发点\"], \"anchor_focus\": [\"如来宣布设立孟兰盆会，标志着一个天庭危机的彻底…\", \"无直接冲突，核心是权威叙事与事件收束。\", \"如来讲述降伏妖猴经过\"]}, \"continuity_guard\": {\"carryover_expected\": true, \"reasons\": [\"continuity_requirements_present\", \"shared_characters\", \"shared_locations\", \"same_time_mode\", \"adjacent_narrative_order\"], \"shared_character_names\": [\"如来\", \"玉皇大天尊\", \"阿傩\", \"泾河龙王\", \"石猴\"], \"shared_location_names\": [\"五行山\"], \"previous_block_id\": \"EP0006B006\", \"previous_unit_ids\": [\"AB0036\"], \"current_unit_ids\": [\"AB0037\"]}, \"purity_guard\": {\"status\": \"pass\", \"issues\": [], \"text_length\": 74, \"soft_char_limit\": 520, \"source_scene_count\": 1, \"source_multi_scene\": false, \"non_mainline_time_modes\": [], \"multi_time_mode\": false, \"special_tags\": [], \"requires_explicit_label\": false, \"explicit_label_present\": true, \"overlong_text\": false}}}}"
    }
  ]
}