ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AI写短剧剧本靠谱吗?用 VS Code + Markdown + Fountain 四步从创意到能拍的本子

AI写短剧剧本靠谱吗?用 VS Code + Markdown + Fountain 四步从创意到能拍的本子 1. 一个人写短剧剧本卡点到底在哪短剧剧本和小说是两种物种这个判断先立住。小说可以花三千字铺一个情绪短剧不行一集六十到九十秒观众手指一划就没了。台词超过十五个字演员嘴还没张开观众已经走了。开头三秒没有冲突这一集就废了。每集结尾不埋钩子没人点下一集。所以「AI写短剧剧本靠谱吗」这个问题真正该问的是你让AI干的活是不是它擅长的活。如果你甩一句「把我的小说改成三十集剧本」它一定给你一坨念课文的东西。角色一张嘴就是书面语一集憋出三千字场景写了八个制片方看完直摇头。这不是AI不行是任务拆错了。我试过最顺的路径是把整个流程拆成四步创意发散、人物小传、分场大纲、Fountain 可拍本。每一步都有明确的输入和输出AI 只负责它擅长的部分人负责判断和收口。这套流程跑下来一个人从创意到能拍的本子大概两到三个晚上。这篇文章交付的是可跟做的配置VS Code 里 Markdown 和 Fountain 的写作环境、AI 提示词模板、JSON 结构示例以及四步验证动作。你照着配完至少能判断出 AI 在你手里到底靠不靠谱。适合谁个人编剧、网文作者想转短剧、独立制片前期策划。不适合谁指望一键出成片的人后面生图生视频配音剪辑那是另一条工具链的事。先说清楚一个边界AI 出的本子最后一遍必须人来过。节奏对不对、爽点炸不炸这口锅 AI 背不动。工具能保你的本子合格、能拍、人设不崩爆不爆是选题和网感的事。2. TaoToken 前置给 AI 剧本工作流接上稳定模型在 VS Code 里写剧本AI 能力从哪来两条路一是用插件内置的模型二是自己接 API。如果你要批量跑分集大纲、批量润色台词自己接 API 更可控成本也透明。TaoToken 在这里的角色是模型接入层。官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址 https://taotoken.net/api 。你拿到 Key 之后在 VS Code 的 AI 插件里填三件套Base URL、API Key、Model ID。这三件套缺一不可后面排障章节会反复用到。为什么剧本创作需要单独说接入因为短剧工作流有个特点调用密集但单次不长。分集大纲一次几百字台词润色一次几十字角色档案更新一次一两百字。这种碎片化调用如果模型响应慢或者断流写作节奏就碎了。所以 Base URL 要填对别填成网页地址。具体操作登录后进控制台在 API Keys 页面创建一个 Key。地址是 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 。创建完复制只显示一次。然后回到 VS Code 插件配置里粘贴。模型选择上剧本创作我建议用中文能力强的模型。分集大纲需要逻辑台词润色需要语感角色追踪需要长上下文。你可以先在模型对话页面试几轮地址 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 用同一段创意分别让不同模型出分集大纲对比哪个更对你的路子再决定写进配置。如果你长期做编码类或 Agent 类工作流比如用 Claude Code 跑剧本结构化处理可以看 Coding Plan地址 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 配置细节以文档为准。这里要提醒一句TaoToken 是模型接入层不是编辑器也不是剧本工具。它解决的是「AI 能力从哪来」不解决「剧本怎么写」。写作环境还是 VS Code格式还是 Markdown 和 Fountain流程还是四步。别把接入层和创作层混为一谈。成本方面以常见中文模型为例写一集分集大纲几分钱润色一集台词几分钱。一部三十集短剧跑完还没一杯奶茶贵。具体价格以控制台实际计费为准我不编造评测数字。3. 可复制配置VS Code Markdown Fountain JSON这一节是全文的技术核心所有片段都可以直接复制。配置分四块VS Code 插件、Fountain 语法、AI 提示词模板、JSON 结构。3.1 VS Code 写作环境配置先装两个插件。第一个是 Fountain 语法高亮在扩展市场搜Fountain装支持.fountain文件的那款。第二个是 Markdown 预览增强搜Markdown All in One。装完重启 VS Code。然后建项目目录结构。短剧项目最怕文件乱我建议这样short-drama/ ├── .vscode/ │ └── settings.json ├── 00-创意/ │ └── idea.md ├── 01-人物/ │ └── characters.json ├── 02-分集/ │ └── episodes.json ├── 03-剧本/ │ ├── ep01.fountain │ └── ep02.fountain └── 04-导出/ └── ep01.json.vscode/settings.json里加这几行让 Fountain 文件默认用 Markdown 预览同时关掉自动保存的干扰{ files.associations: { *.fountain: markdown }, editor.wordWrap: on, editor.rulers: [15, 40], files.autoSave: afterDelay, files.autoSaveDelay: 2000 }editor.rulers设 15 和 40 是有讲究的。15 是台词字数警戒线40 是动作描述的建议上限。写的时候一眼能看到有没有超。3.2 Fountain 语法速查Fountain 是剧本的纯文本格式比 Final Draft 轻比 Word 稳。核心语法就几条标题: 深夜便利店 作者: 你的名字 草稿日期: 2025-01 INT. 便利店 - 夜 林小满推门进来风铃响。 林小满 压低声音 你确定他来过 店员 监控只保留三天。 CUT TO: EXT. 便利店后巷 - 连续 林小满蹲在垃圾桶旁翻找。 转场淡出规则场景标题用INT.或EXT.开头全大写。角色名单独一行全大写。台词紧跟角色名下一行。括号里是表演提示。CUT TO:是转场。开头是备注。这套语法 AI 也能生成但你要在提示词里明确要求输出 Fountain 格式否则它默认给你 Markdown 散文。3.3 AI 提示词模板分集大纲提示词直接复制你是短剧分集大纲编剧。根据以下创意输出 30 集分集大纲。 创意{粘贴你的创意} 要求 1. 每集 60-90 秒场景不超过 3 个 2. 每集开头 3 秒内必须有冲突 3. 每集结尾必须留钩子 4. 输出 JSON 数组字段episode, title, conflict, hook, scenes 5. 不要写台词只写结构 输出格式示例 [ {episode: 1, title: 监控只保留三天, conflict: 林小满发现关键证据即将被覆盖, hook: 店员突然关掉监控, scenes: [便利店, 后巷]} ]台词润色提示词你是短剧台词润色师。将以下台词压缩到 15 字以内保留原意口语化去掉书面语。 原台词{粘贴台词} 要求 1. 每条不超过 15 字 2. 不用「然而」「因此」「综上所述」这类词 3. 输出 JSON{original: ..., polished: ..., count: 数字}角色档案提示词你是角色管理助手。根据以下人物小传生成角色档案 JSON。 人物小传{粘贴} 要求输出字段name, identity, personality, catchphrase, enemy, goal, arc catchphrase 必须是 10 字以内的口头禅3.4 JSON 结构示例分集大纲episodes.json{ drama_title: 深夜便利店, total_episodes: 30, episodes: [ { episode: 1, title: 监控只保留三天, conflict: 林小满发现关键证据即将被覆盖, hook: 店员突然关掉监控, scenes: [便利店, 后巷], characters: [林小满, 店员] } ] }角色档案characters.json{ characters: [ { name: 林小满, identity: 前记者现便利店夜班店员, personality: 执拗不轻易信人, catchphrase: 我再确认一遍, enemy: 三年前害她失业的人, goal: 找到哥哥失踪的真相, arc: 从逃避到直面 } ] }这两个 JSON 是后面验证环节的基准。AI 每写一集你拿它跟characters.json对一遍人设就不会飘。3.5 接入配置片段如果你在 VS Code 插件里接 TaoToken配置片段长这样以常见 OpenAI 兼容格式为例{ baseURL: https://taotoken.net/api, apiKey: 你的Key, model: 你选的Model ID, temperature: 0.7, maxTokens: 2000 }temperature设 0.7 是剧本创作的甜区。太低台词死板太高人设乱飞。maxTokens设 2000 够一集大纲用写单集正文可以调到 4000。4. 验证请求四步从创意到能拍的本子配置好了怎么验证 AI 到底靠不靠谱四步每步都有可检查的输出。4.1 第一步创意发散验证打开00-创意/idea.md写一句话创意比如「一个夜班店员发现便利店监控里出现了失踪三年的哥哥」。然后调模型用分集大纲提示词跑一遍。验证标准输出的 JSON 能不能解析。如果模型给你一段散文说明提示词没压住加一句「只输出 JSON不要解释」。如果 JSON 能解析看第一集的conflict和hook是不是具体。conflict写「两人发生争执」就是不合格写「林小满发现监控即将被覆盖」才合格。这一步的请求示例用 curl 验证curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer 你的Key \ -d { model: 你选的Model ID, messages: [ {role: user, content: 你是短剧分集大纲编剧。根据创意输出3集大纲JSON字段episode,title,conflict,hook。创意夜班店员发现监控里出现失踪三年的哥哥。} ], temperature: 0.7 }成功结果长这样{ choices: [ { message: { content: [{\episode\:1,\title\:\监控里的背影\,\conflict\:\林小满认出哥哥的走路姿势\,\hook\:\店员突然拔掉监控电源\}] } } ] }拿到choices里的content解析成 JSON存进episodes.json。这一步通了说明接入和提示词都没问题。4.2 第二步人物小传验证把创意里出现的人物用角色档案提示词跑一遍存进characters.json。验证标准catchphrase是不是 10 字以内enemy和goal是不是具体。如果catchphrase写「你这样做是不对的」超字数打回重跑。这一步的关键是让 AI 记住角色。后面每写一集都把characters.json作为上下文喂进去。短剧最怕第 3 集女主腹黑复仇第 8 集突然圣母白莲花。有了档案AI 每次开口前都对着档案写。4.3 第三步分场大纲验证拿episodes.json里的单集让 AI 展开成分场。提示词根据以下分集信息展开成 3 个场景的分场大纲。输出 Fountain 格式的场景标题和动作描述不要台词。 分集{episode:1,title:监控里的背影,conflict:林小满认出哥哥的走路姿势,hook:店员突然拔掉监控电源}验证标准场景数不超过 3每个场景有明确的INT.或EXT.标题动作描述不超过 40 字。超了就压。4.4 第四步Fountain 可拍本验证最后一步让 AI 把分场大纲填上台词输出完整 Fountain 文件。提示词里必须带上characters.json和 15 字台词约束。验证标准三条台词逐条数超过 15 字的打回角色名跟characters.json对得上每集结尾的钩子跟episodes.json里的hook一致。跑完这四步你手里就有一个.fountain文件能直接给制片方。导出 JSON 给生视频工具导出 CSV 给排期表各取所需。5. 本篇常见错排查这一节按真实报错来。你在配置和调用过程中大概率会撞上下面几个。5.1 401 Unauthorized报错原文{error:{message:Invalid API key,type:invalid_request_error}}原因Key 填错、过期、或者复制时带了空格。去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 重新创建一个复制时注意别带首尾空格。填进配置后重启 VS Code。如果还报 401检查 Base URL 是不是填成了https://taotoken.net/api别填成网页地址也别漏掉/api。5.2 local proxy failed报错原文Error: connect ECONNREFUSED 127.0.0.1:7890原因你的系统或插件里配了本地代理但代理没开。这不是 TaoToken 的问题是本地网络配置残留。去 VS Code 设置里搜proxy把http.proxy清空。或者检查环境变量HTTP_PROXY、HTTPS_PROXY临时取消。注意这里说的是本地代理配置残留不是让你去搞什么网络工具。把残留清掉就行。5.3 reading choices 报错报错原文TypeError: Cannot read properties of undefined (reading choices)原因API 返回结构跟你代码里取的不一致。常见两种情况一是请求根本没成功返回的是错误对象没有choices字段二是你用的 SDK 版本跟 API 格式不匹配。排查先把原始响应打印出来看有没有choices。如果没有看error字段写了什么。如果是 401 或 429按对应章节处理。如果响应正常但取不到检查你的解析代码是不是写成了response.choices[0]而实际是response.data.choices[0]。5.4 OAuth 相关报错报错原文OAuth token expired或redirect_uri mismatch原因如果你用的是 Claude Code 或类似工具的 OAuth 登录方式token 过期了。重新走一遍授权流程。如果是redirect_uri mismatch检查你在控制台配置的回调地址跟本地是不是一致。Claude Code 接入的话三件套要写全Base URL 填https://taotoken.net/apiKey 填你创建的Model ID 填你选的。缺一个都连不上。Claude Code 的接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 以文档为准。5.5 模型输出不是 JSON报错表现你期望 JSON模型给你一段散文解析直接崩。原因提示词没压住。加三句话「只输出 JSON」「不要任何解释」「不要用 markdown 代码块包裹」。如果还不行把temperature降到 0.3。5.6 台词超 15 字报错表现不是程序报错是人工检查打回。原因AI 天生爱写长句。解法是在提示词里硬性约束并且用editor.rulers在编辑器里可视化。超过 15 字的台词让 AI 重跑或者手动压。压的时候保留动词和名词砍掉形容词和连接词。5.7 角色跨集崩坏报错表现第 3 集女主说话带刺第 8 集突然温柔。原因写第 8 集时没把characters.json喂进去。解法每次请求都带上角色档案并且在提示词里写「严格遵循以下角色设定不得改变性格和口头禅」。6. 把 AI 当施工队别当编剧回到最初的问题AI 写短剧剧本靠谱吗靠谱但前提是你把活拆对。AI 擅长的是结构化输出、批量润色、格式转换、角色档案维护。它不擅长的是判断哪个爽点能炸、哪句台词有网感、哪个钩子能让人点下一集。这些还是人的活。四步流程跑下来你会发现 AI 最大的价值不是「写」是「不崩」。分集大纲卡住结构角色档案卡住人设15 字约束卡住台词Fountain 格式卡住交付。这四道卡口一上本子至少合格、能拍。至于爆不爆那是选题和网感的事赖不到工具头上。这层想明白了心态就顺了。最后给一个实用技巧每写完一集把.fountain文件导出成 JSON跟episodes.json和characters.json做一次 diff。钩子对不上、角色名对不上、台词超字数diff 里一眼能看到。这个动作花不了两分钟但能省掉制片方退稿的来回。工具链的边界也再说一遍到剧本这一步AI 的活就干完了。后面生图、生视频、配音、剪辑那是另一条工具链的事。谁要是说一个工具能从剧本管到成片你扭头就走。配置和流程都在这了剩下的就是打开 VS Code建目录填三件套跑第一集。跑通了你自然知道 AI 在你手里靠不靠谱。
返回列表