{
  "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\": \"EP0003\", \"episode_index\": 3, \"title\": \"第03集 四老猴提出“铁板桥下\", \"logline\": \"在视觉上建立孙悟空作为花果山统治者…，金星高声宣旨，天门开放，太白金星奉旨至花果山请孙悟空上天。\", \"summary\": \"在视觉上建立孙悟空作为花果山统治者的权威与…，无直接角色冲突，四老猴提出“铁板桥下，水通东海龙宫”的建议，通过“试宝”过程。\"}, \"block\": {\"block_id\": \"EP0003B001\", \"title\": \"章节标题：四海千山皆拱伏，九幽十类尽除名。 /…\", \"kind\": \"action\", \"presentation_mode\": \"action\", \"time_modes\": [\"mainline\"], \"story_functions\": [\"章节标识\", \"叙事过渡\", \"展示能力\", \"获取资源\", \"推进冲突\", \"势力展示\", \"动机建立\", \"转场承接\"], \"characters\": [{\"name\": \"众猴\", \"aliases\": [\"小猴\"]}, {\"name\": \"混世魔王\", \"aliases\": [\"魔王\"]}, {\"name\": \"通背猿猴\"}, {\"name\": \"石猴\", \"aliases\": [\"美猴王\", \"猴王\"]}, {\"name\": \"东海龙王\", \"aliases\": [\"老龙王\", \"敖广\"]}, {\"name\": \"沙悟净\", \"aliases\": [\"野豕\"], \"risk_flag\": \"suspect:high\"}, {\"name\": \"泾河龙王\", \"aliases\": [\"龙王\"]}], \"locations\": [{\"name\": \"傲来国\"}, {\"name\": \"花果山\"}, {\"name\": \"东海龙宫\"}], \"must_keep\": [\"第三回标题文字\", \"章节标题的语义信息\", \"孙悟空担忧竹木兵器不足的动机\", \"四老猴（赤尻马猴/通背猿猴）献策傲来国\", \"孙悟空驾筋斗云抵达傲来国\", \"施展呼风神通制造混乱\", \"使用分身法搬空武库兵器\", \"带领兵器返回花果山\"], \"continuity_requirements\": [\"保持与S0011场景的时间先后关系\", \"保留narrative_order与story_chronology_order的差值（-6）\", \"时间锚点：紧接剿灭混世魔王后\", \"地点转换：花果山 -> 傲来国 -> 花果山\", \"角色连续性：孙悟空、四老猴、众猴\", \"道具连续性：竹木兵器 -> 真兵器\", \"时间锚点：次日（承接前序场景）\", \"角色连续性：悟空/众猴/四老猴\"], \"candidate_meta\": {\"summary\": \"章节标题：四海千山皆拱伏，九幽十类尽除名。 / 美猴王担忧竹木兵器不足，听从老猴建议前往傲来国，施展神通刮起狂风，用分… / 悟空分发兵器，花果山势力壮大，收服七十二洞妖王。因嫌大刀不趁手，…\", \"objective\": \"在视觉上建立孙悟空作为花果山统治者的权威与势力范围，并通过他对兵器的不满，自然引出前往龙宫寻宝的下一段冒险。\", \"conflict\": \"无直接角色冲突，是叙事节奏与信息传递效率的考量。\", \"turning_point\": \"四老猴提出“铁板桥下，水通东海龙宫”的建议，悟空欣然采纳并立即行动。\", \"unit_count\": 1, \"unit_ids\": [\"AB0011\"], \"dialogue_guard\": {\"expected_dialogue\": true, \"opportunity_level\": \"high\", \"reasons\": [\"source_contains_quotes\", \"multi_character_presence\"], \"source_quote_count\": 29, \"source_character_count\": 9, \"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\": false, \"reasons\": [], \"shared_character_names\": [], \"shared_location_names\": [], \"previous_block_id\": \"\"}, \"purity_guard\": {\"status\": \"pass\", \"issues\": [], \"text_length\": 46, \"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}}}}"
    }
  ]
}