{
  "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\": \"EP0005\", \"episode_index\": 5, \"title\": \"第05集 此举性质从“搅乱宴会”升级为“…\", \"logline\": \"大圣定住仙女，变作赤脚大仙赴会，观音菩萨举荐二郎神，玉帝下旨调遣，惠岸战败，李天王上表求助。\", \"summary\": \"通过一系列连贯的动作与欺骗，孙悟空个人欲望（赴会、偷享）与天庭秩序、仙…，误入兜率宫并偷吃太上老君金丹。此举性质从“…\"}, \"block\": {\"block_id\": \"EP0005B003\", \"title\": \"孙悟空在洞中饮酒作乐，不理战报。九曜星官骂阵打…\", \"kind\": \"action\", \"presentation_mode\": \"action\", \"time_modes\": [\"mainline\"], \"story_functions\": [\"冲突升级\", \"角色塑造\", \"情节推进\"], \"characters\": [{\"name\": \"石猴\", \"aliases\": [\"弼马温\", \"大圣\", \"美猴王\", \"猴王\"]}, {\"name\": \"哪吒三太子\", \"aliases\": [\"哪吒\", \"太子\", \"哪吒太子\"]}, {\"name\": \"托塔李天王\", \"aliases\": [\"李天王\", \"李托塔\"]}, {\"name\": \"玉皇大天尊\", \"aliases\": [\"玉帝\"]}, {\"name\": \"太上老君\", \"aliases\": [\"老君\"]}], \"locations\": [{\"name\": \"水帘洞\"}, {\"name\": \"灵台方寸山\", \"aliases\": [\"此山\"]}], \"must_keep\": [\"悟空洞中饮酒作乐不理战报的轻敌姿态\", \"九曜星官骂阵并打破洞门的挑衅\", \"孙悟空率众出战并轻松击退九曜星\", \"孙悟空与李天王、四大天王、哪吒等天将的激烈混战\", \"独角鬼王与七十二洞妖王被擒的结局\"], \"continuity_requirements\": [\"紧接前序天庭发兵场景（S0032）\", \"保持孙悟空从轻敌到愤怒再到激战的情绪连贯\", \"明确此战从辰时持续到日落的时间跨度\", \"交代妖王被擒、四健将逃回洞底的结局，为后续剧情铺垫\"], \"candidate_meta\": {\"summary\": \"孙悟空在洞中饮酒作乐，不理战报。九曜星官骂阵打破洞门，孙悟空率众出战，…\", \"objective\": \"用富有层次和视觉冲击力的战斗场面，塑造孙悟空骁勇善战、狂妄不羁的形象，并展现天庭首次大规模围剿的激烈与花果山一方的损失，将矛盾推向高潮。\", \"conflict\": \"孙悟空代表的叛逆妖王势力与天庭正统权威的第一次正面大规模军事冲突。\", \"turning_point\": \"孙悟空使用分身法，一举击退哪吒太子和五大天王，取得战术胜利，但麾下妖王尽数被擒，战略上陷入孤立。\", \"unit_count\": 1, \"unit_ids\": [\"AB0026\"], \"dialogue_guard\": {\"expected_dialogue\": true, \"opportunity_level\": \"high\", \"reasons\": [\"source_contains_quotes\", \"multi_character_presence\"], \"source_quote_count\": 13, \"source_character_count\": 8, \"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\", \"adjacent_narrative_order\"], \"shared_character_names\": [\"太上老君\", \"石猴\", \"玉皇大天尊\"], \"shared_location_names\": [\"水帘洞\"], \"previous_block_id\": \"EP0005B002\", \"previous_unit_ids\": [\"AB0025\"], \"current_unit_ids\": [\"AB0026\"]}, \"purity_guard\": {\"status\": \"pass\", \"issues\": [], \"text_length\": 139, \"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}}}}"
    }
  ]
}