{ "seed_version": "1.0.0", "generated_at": "2026-03-27T00:00:00Z", "total_entries": 55, "validation_rules": [ { "id": "VR001", "name": "场景标题格式", "pattern": "^(INT\\.|EXT\\.|INT\\./EXT\\.).*-\\s*(DAY|NIGHT|MORNING|EVENING|CONTINUOUS|MOMENTS LATER|LATER|DUSK|DAWN|AFTERNOON)$", "case": "uppercase", "error_message": "场景标题必须全大写,格式为 [INT./EXT.] 地点 - 时间", "examples": [ "INT. COFFEE SHOP - DAY", "EXT. BEACH - NIGHT", "INT./EXT. CAR - MOVING" ] }, { "id": "VR002", "name": "角色名格式", "pattern": "^[A-Z][A-Z0-9\\s]{1,39}$", "case": "uppercase", "error_message": "角色名必须全大写,长度不超过40字符", "examples": [ "SARAH", "JOHN SMITH", "DETECTIVE" ] }, { "id": "VR003", "name": "时间标记有效值", "enum": ["DAY", "NIGHT", "MORNING", "EVENING", "LATER", "CONTINUOUS", "MOMENTS LATER", "DUSK", "DAWN", "AFTERNOON"], "error_message": "时间标记必须在有效值列表中", "examples": ["DAY", "NIGHT", "MORNING", "EVENING"] }, { "id": "VR004", "name": "对话缩进", "left_indent_inches": 2.5, "right_indent_inches": 2.5, "error_message": "对话左右缩进必须为2.5英寸", "examples": [] }, { "id": "VR005", "name": "字体规范", "font_family": "Courier", "font_size": 12, "error_message": "必须使用 Courier 12pt 字体", "examples": [] }, { "id": "VR006", "name": "页边距", "margins": { "left": 1.5, "right": 1.0, "top": 1.0, "bottom": 1.0 }, "unit": "inches", "error_message": "左页边距1.5英寸(装订),其余1英寸", "examples": [] }, { "id": "VR007", "name": "括号提示格式", "pattern": "^\\([^)]+\\)$", "position": "between_character_and_dialogue", "error_message": "演技指示需使用小括号,位于角色名与对话之间", "examples": [ "(whispering)", "(sarcastic)", "(angry)" ] }, { "id": "VR008", "name": "场景数量范围", "min": 1, "max": 200, "error_message": "场景数量应在1-200之间", "examples": [] }, { "id": "VR009", "name": "页面数量建议", "recommended_min": 70, "recommended_max": 120, "warning": "建议剧本长度在70-120页之间(1页≈1分钟)", "examples": [] }, { "id": "VR010", "name": "动作描述时态", "tense": "present", "error_message": "动作描述应使用现在时", "examples": [ "Sarah walks into the room", "He looks at her" ] } ], "sample_scenes": [ { "id": "SC001", "heading": "INT. COFFEE SHOP - DAY", "location_type": "INT", "location": "COFFEE SHOP", "time_of_day": "DAY", "action": "A busy coffee shop in downtown. SARAH (30s) enters, scanning the crowd.", "dialogues": [ { "character": "SARAH", "parenthetical": null, "text": "Is this seat taken?" }, { "character": "MIKE", "parenthetical": "(looking up)", "text": "No, help yourself." } ] }, { "id": "SC002", "heading": "EXT. BEACH - NIGHT", "location_type": "EXT", "location": "BEACH", "time_of_day": "NIGHT", "action": "The moon casts silver light on the waves. Two figures walk along the shore.", "dialogues": [ { "character": "LUCAS", "parenthetical": null, "text": "I never thought we'd end up here." }, { "character": "EMMA", "parenthetical": "(softly)", "text": "Life has its surprises." } ] }, { "id": "SC003", "heading": "INT. POLICE STATION - NIGHT", "location_type": "INT", "location": "POLICE STATION", "time_of_day": "NIGHT", "action": "DETECTIVE CHEN interrogates a suspect in a small, dimly lit room.", "dialogues": [ { "character": "DETECTIVE CHEN", "parenthetical": "(stern)", "text": "Where were you last night at 10 PM?" }, { "character": "SUSPECT", "parenthetical": null, "text": "I was at home, watching TV." }, { "character": "DETECTIVE CHEN", "parenthetical": null, "text": "Can anyone verify that?" } ] }, { "id": "SC004", "heading": "EXT. MOUNTAIN - MORNING", "location_type": "EXT", "location": "MOUNTAIN", "time_of_day": "MORNING", "action": "Sunrise peaks over the mountain range. A hiker rests on a rocky outcrop.", "dialogues": [ { "character": "HIKER", "parenthetical": "(panting)", "text": "Worth it. The view is incredible." } ] }, { "id": "SC005", "heading": "INT. HOSPITAL - DAY", "location_type": "INT", "location": "HOSPITAL", "time_of_day": "DAY", "action": "A doctor consults with a patient's family in the hallway.", "dialogues": [ { "character": "DR. WONG", "parenthetical": null, "text": "The surgery went well. She's in recovery now." }, { "character": "FAMILY MEMBER", "parenthetical": "(relieved)", "text": "Thank you, doctor. Thank you so much." } ] }, { "id": "SC006", "heading": "INT./EXT. CAR - MOVING", "location_type": "INT./EXT", "location": "CAR", "time_of_day": "EVENING", "action": "Rain batters the windshield. Two strangers share a ride in tense silence.", "dialogues": [ { "character": "DRIVER", "parenthetical": null, "text": "Long drive?" }, { "character": "PASSENGER", "parenthetical": "(absentmindedly)", "text": "Yeah. Three hours." } ] }, { "id": "SC007", "heading": "INT. RESTAURANT - NIGHT", "location_type": "INT", "location": "RESTAURANT", "time_of_day": "NIGHT", "action": "An elegant dinner setting. A couple celebrates their anniversary.", "dialogues": [ { "character": "JAMES", "parenthetical": null, "text": "Ten years. Can you believe it?" }, { "character": "RUTH", "parenthetical": "(smiling)", "text": "It feels like yesterday." } ] }, { "id": "SC008", "heading": "EXT. STADIUM - DAY", "location_type": "EXT", "location": "STADIUM", "time_of_day": "DAY", "action": "A soccer match in progress. The crowd roars as a goal is scored.", "dialogues": [ { "character": "COMMENTATOR", "parenthetical": null, "text": "GOAL! What an incredible strike!" } ] }, { "id": "SC009", "heading": "INT. COURTROOM - DAY", "location_type": "INT", "location": "COURTROOM", "time_of_day": "DAY", "action": "A high-stakes trial. The lawyer questions a witness.", "dialogues": [ { "character": "LAWYER", "parenthetical": null, "text": "Can you describe what you saw that night?" }, { "character": "WITNESS", "parenthetical": null, "text": "I saw two people arguing near the entrance." } ] }, { "id": "SC010", "heading": "EXT. FOREST - DUSK", "location_type": "EXT", "location": "FOREST", "time_of_day": "DUSK", "action": "Twilight in the forest. Leaves rustle as something moves through the brush.", "dialogues": [] } ], "format_templates": [ { "template_id": "T001", "name": "标准场景标题", "format": "[INT./EXT.] [LOCATION] - [TIME]", "examples": [ "INT. COFFEE SHOP - DAY", "EXT. BEACH - NIGHT" ] }, { "template_id": "T002", "name": "带副标题场景", "format": "[INT./EXT.] [LOCATION] - [TIME]", "variation": "[INT./EXT.] LOCATION - SUBTITLE - TIME", "examples": [ "INT. ABANDONED WAREHOUSE - BASEMENT - NIGHT" ] }, { "template_id": "T003", "name": "角色对话块", "format": "CHARACTER NAME\n(parenthetical)\ndialogue", "examples": [ "SARAH\n(whispering)\nBe careful." ] }, { "template_id": "T004", "name": "动作描述块", "format": "Present tense description of action", "rules": [ "Use present tense", "Start with subject", "Keep paragraphs under 4 lines" ], "examples": [ "Sarah walks toward the door. She hesitates, hand hovering over the handle." ] }, { "template_id": "T005", "name": "转场标记", "format": "CUT TO: / FADE TO: / DISSOLVE TO:", "examples": [ "CUT TO:", "FADE TO:", "DISSOLVE TO:" ] } ], "error_patterns": [ { "pattern_id": "EP001", "error_type": "case_mismatch", "description": "场景标题未使用大写", "incorrect": "int. coffee shop - day", "correct": "INT. COFFEE SHOP - DAY" }, { "pattern_id": "EP002", "error_type": "case_mismatch", "description": "角色名未使用大写", "incorrect": "Sarah: Hello", "correct": "SARAH: Hello" }, { "pattern_id": "EP003", "error_type": "invalid_time_marker", "description": "时间标记无效", "incorrect": "INT. SHOP - MORNINGTIME", "correct": "INT. SHOP - MORNING" }, { "pattern_id": "EP004", "error_type": "missing_delimiter", "description": "场景标题缺少分隔符", "incorrect": "INT SHOP DAY", "correct": "INT. SHOP - DAY" }, { "pattern_id": "EP005", "error_type": "parenthetical_position", "description": "括号提示位置错误", "incorrect": "SARAH (whispering): Hello", "correct": "SARAH\n(whispering)\nHello" }, { "pattern_id": "EP006", "error_type": "dialogue_quotes", "description": "对话使用了引号", "incorrect": "\"Hello there,\" Sarah said.", "correct": "SARAH\nHello there." }, { "pattern_id": "EP007", "error_type": "past_tense", "description": "动作描述使用过去时", "incorrect": "Sarah walked into the room.", "correct": "Sarah walks into the room." }, { "pattern_id": "EP008", "error_type": "scene_heading_missing", "description": "缺少场景标题", "correct_format": "INT./EXT. LOCATION - TIME" } ], "structure_examples": [ { "act": 1, "pages": "1-30", "description": "建置场景 - 介绍主角、世界、冲突催化剂", "sample_scene": "SC001" }, { "act": 2, "pages": "30-90", "description": "对抗阶段 - 主角面对障碍,冲突升级", "sample_scene": "SC003" }, { "act": 3, "pages": "90-110", "description": "解决阶段 - 高潮与结局", "sample_scene": "SC007" } ], "tools_reference": [ { "name": "Final Draft", "type": "software", "url": "https://www.finaldraft.com", "description": "行业标准剧本写作软件" }, { "name": "Highland 2", "type": "software", "url": "https://highland2.app", "description": "Mac端专业剧本工具" }, { "name": "WriterSolo", "type": "web_app", "url": "https://writersolo.com", "description": "在线剧本编辑器" }, { "name": "Fountain", "type": "format", "url": "https://fountain.io", "description": "纯文本剧本标记语言" } ], "source_urls": [ "https://www.studiobinder.com/blog/how-to-write-a-screenplay/", "https://www.scriptreaderpro.com/", "https://www.scripts.com/", "https://www.finaldraft.com/" ] }