男女频短剧编剧 Skill 落地实践|剧本自动流转到 AI 漫剧制作全链路工程方案

简介: 【103】男女频短剧编剧Skill是一套本地化AI漫剧制作方案:通过约束大模型输出范式,标准化生成含钩子、分镜-ready的剧本;自动清洗、拆解、映射提示词,并对接ComfyUI批量渲染、TTS配音与FFmpeg成片。8G显存即可部署,支持红果规范竖屏短剧量产。(239字)

摘要

在 AI 漫剧制作流程中,剧本质量直接决定成片的流量潜力,通用大模型自由生成的文本经常出现节奏松散、爽点 / 情感钩子缺失、男女频风格跑偏、文本无法直接转为可视化分镜等问题。【103】男女频短剧编剧 Skill 通过对大模型的输出范式、叙事结构、台词风格做强约束,标准化输出短剧剧本,再依托自动化脚本完成剧本清洗、分镜拆解、提示词映射、台词剥离,打通从剧本生成、角色管理、画面渲染到音视频合成的 AI 漫剧制作闭环。整套方案支持本地部署,适配 8G 显存显卡,可批量产出符合红果短剧规范的竖屏漫剧素材,适合个人创作者搭建稳定量产流水线。

English Abstract: The 103 male and female short drama screenwriting skill constrains the narrative structure and output format of large language models. It standardizes script output, and automatically converts scripts into storyboard data through engineering scripts, realizing the whole link of AI comic drama production. The pipeline can be deployed locally on consumer GPUs, supporting batch production of vertical short drama materials.

Keywords:短剧编剧 Skill;AI 漫剧制作;本地大模型;剧本结构化;分镜自动化;ComfyUI;Wan2.2

一、前言

AI 漫剧制作的瓶颈往往不在视频渲染模型,而在上游剧本环节。很多创作者直接使用通用提示词让大模型写剧本,产出内容偏向小说叙事,充斥大量心理描写,缺少短剧必备的 3 秒钩子、中段反转、片尾悬念,拿到 ComfyUI 等渲染节点时,还需要人工逐句拆分分镜、整理台词、编写画面提示词,人力成本极高,很难批量生产。

【103】男女频短剧编剧 Skill 本质是一套可复用的系统提示词约束体系,区分男频逆袭爽文、女频情感复仇两套叙事范式,限定单集时长、镜头描述方式、剧本排版格式,让本地 LLM 输出 “机器可读” 的剧本文本。本文重点讲解如何把这套 Skill 嵌入工程流水线,实现剧本产出之后自动流入 AI 漫剧制作环节,减少人工干预,搭建自动化生产链路。


完整资源模型可以看这一篇文章:https://developer.aliyun.com/article/1777622?spm=a2c6h.13148508.setting.14.80a24f0e6mosEq

二、整体流水线架构

【103】编剧Skill模板 + 本地LLM推理 → 标准化短剧剧本
→ 剧本校验&清洗脚本 → 角色、场景、动作、台词字段抽取
→ 分镜自动生成模块 → 生成ComfyUI可读取的批量渲染JSON
→ IPAdapter角色特征绑定 → 画面一致性控制(AI漫剧渲染)
→ 台词分发本地TTS生成配音音频
→ FFmpeg音视频混流、字幕压制、成片导出

整套链路全部离线本地运行,不需要调用云端大模型和视频生成接口,能够规避调用限额、计费、版权溯源等风险。

三、环境依赖准备

# 基础推理、数据解析依赖
pip install llama-cpp-python pydantic regex -i https://pypi.tuna.tsinghua.edu.cn/simple
# 图像处理、IP特征缓存辅助库
pip install pillow numpy

硬件适配说明: GGUF 量化模型优先选择 Q4_K_M 档位,8G 显存环境下 n_gpu_layers 按需调整,显存溢出时降低加载层数,关闭桌面其他占用 CUDA 程序。

四、Skill 调用封装脚本(支持男女频动态切换)

新建 skill_drama_entry.py,统一管理 Skill 文件加载、LLM 对话、剧本输出,后续可以被漫剧流水线调度程序直接调用。

from llama_cpp import Llama
import os
class SkillDramaGenerator:
    def __init__(self, gguf_model_path: str):
        self.llm = Llama(
            model_path=gguf_model_path,
            n_ctx=8192,
            n_gpu_layers=-1,
            temperature=0.7,
            top_p=0.82,
            max_tokens=2000
        )
    def load_skill_prompt(self, skill_file_path: str):
        with open(skill_file_path, "r", encoding="utf-8") as f:
            return f.read()
    def generate_script(self, skill_prompt: str, user_requirement: str):
        msg_list = [
            {"role": "system", "content": skill_prompt},
            {"role": "user", "content": user_requirement}
        ]
        result = self.llm.create_chat_completion(messages=msg_list)
        script_content = result["choices"][0]["message"]["content"]
        return script_content
if __name__ == "__main__":
    generator = SkillDramaGenerator("./models/qwen2.5-7b-instruct-q4_k_m.gguf")
    # 切换:skill_male.txt 男频 / skill_female.txt 女频
    skill_prompt = generator.load_skill_prompt("./skill_female.txt")
    req = "写女频重生短剧第2集,女主当众拆穿继妹的伪装,结尾留下被男主误会的悬念"
    script = generator.generate_script(skill_prompt, req)
    with open("./drama_raw.txt", "w", encoding="utf-8") as f:
        f.write(script)
    print("剧本生成完成,准备进入AI漫剧制作分镜解析环节")
    print(script)

运行指令:

python skill_drama_entry.py

五、剧本清洗与分镜提取脚本(对接 AI 漫剧制作)

原始剧本会存在换行混乱、多余标记、无效注释,本脚本基于正则清洗文本,抽取场景、动作描述、台词,输出标准化分镜数据,直接供给 ComfyUI 批量渲染节点。 新建 script_to_comfy_storyboard.py

import re
import json
class DramaStoryboardConvert:
    def __init__(self):
        # 角色+动作+台词正则
        self.re_line = re.compile(r"【(.+?)】\s*((.*?))\s*(.+?)(?=【|$)", re.S)
        self.re_scene = re.compile(r"第(\d+)场\s*(.*?),(内|外),(日|夜)")
    def clean_text(self, raw_text: str):
        # 清洗markdown标记、空行
        clean = re.sub(r"#|```", "", raw_text)
        clean = re.sub(r"\n+", "\n", clean)
        return clean.strip()
    def parse_to_storyboard(self, raw_text: str, ep_name: str, genre: str):
        clean_txt = self.clean_text(raw_text)
        blocks = re.split(r"第\d+场", clean_txt)
        storyboard_list = []
        shot_index = 1
        for block in blocks:
            block = block.strip()
            if len(block) < 8:
                continue
            scene_match = self.re_scene.search(block)
            scene_info = scene_match.group(0) if scene_match else "通用场景"
            matches = self.re_line.findall(block)
            action_merge = []
            dialogue_merge = []
            char_set = set()
            for char_name, action, words in matches:
                char_set.add(char_name.strip())
                action_merge.append(action.strip())
                dialogue_merge.append(f"{char_name.strip()}:{words.strip()}")
            action_all = ",".join(action_merge)
            dialogue_all = ",".join(dialogue_merge)
            # 组装漫剧渲染提示词
            pos_prompt = f"9:16竖屏,短剧漫剧,{scene_info},{action_all},人物五官稳定,画风统一,光影柔和,镜头平稳"
            neg_prompt = "画面闪烁,人物变形,多手指,水印,文字,画风跳变,畸形肢体"
            storyboard_list.append({
                "shot_id": f"{ep_name}_shot{shot_index}",
                "scene": scene_info,
                "characters": list(char_set),
                "action": action_all,
                "dialogue": dialogue_all,
                "positive": pos_prompt,
                "negative": neg_prompt
            })
            shot_index += 1
        return storyboard_list
if __name__ == "__main__":
    with open("./drama_raw.txt", "r", encoding="utf-8") as f:
        raw = f.read()
    converter = DramaStoryboardConvert()
    res = converter.parse_to_storyboard(raw, ep_name="ep02", genre="女频")
    with open("./comfy_storyboard.json", "w", encoding="utf-8") as fw:
        json.dump(res, fw, ensure_ascii=False, indent=2)
    print("分镜JSON已生成,可直接导入AI漫剧批量渲染工作流")

运行指令:

python script_to_comfy_storyboard.py

六、批量渲染调度脚本(调用 ComfyUI API,AI 漫剧渲染)

前提:ComfyUI 开启 API 服务,工作流提前配置好 IPAdapter、视频生成节点,读取上面输出的comfy_storyboard.json批量推任务。

import requests
import json
import time
COMFY_URL = "http://127.0.0.1:8188"
def queue_prompt(workflow_json):
    payload = {"prompt": workflow_json}
    resp = requests.post(f"{COMFY_URL}/prompt", json=payload)
    return resp.json()
def batch_render(storyboard_path, workflow_template_path):
    with open(storyboard_path, "r", encoding="utf-8") as f:
        shots = json.load(f)
    with open(workflow_template_path, "r", encoding="utf-8") as f:
        base_workflow = json.load(f)
    for shot in shots:
        # 替换工作流内提示词节点
        base_workflow["6"]["inputs"]["text"] = shot["positive"]
        base_workflow["7"]["inputs"]["text"] = shot["negative"]
        print(f"提交任务:{shot['shot_id']}")
        queue_prompt(base_workflow)
        time.sleep(3)
if __name__ == "__main__":
    batch_render("./comfy_storyboard.json", "./workflow_template.json")

七、台词导出 & TTS 配音、后期 FFmpeg 指令

7.1 台词提取脚本

import json
with open("./comfy_storyboard.json","r",encoding="utf-8") as f:
    data = json.load(f)
lines = []
for item in data:
    lines.append(item["dialogue"])
with open("./tts_input.txt","w",encoding="utf-8") as f:
    f.write("\n".join(lines))

7.2 FFmpeg 成片处理指令

# 拼接所有分镜视频
ffmpeg -f concat -safe 0 -i filelist.txt -c copy ep2_raw.mp4
# 嵌入字幕
ffmpeg -i ep2_raw.mp4 -vf "subtitles=sub.srt:force_style='FontName=SimHei,Fontsize=28,Outline=2'" -c:a copy ep2_sub.mp4
# 统一输出竖屏短剧标准参数
ffmpeg -i ep2_sub.mp4 -c:v libx264 -preset medium -crf 24 -vf scale=408:720 ep2_final.mp4

八、Skill 结合 AI 漫剧制作的常见问题调优

  1. Skill 输出格式错乱,解析脚本读取失败 不要把 temperature 调太高,男女频模板分开使用;在 Skill 提示词中强制要求固定剧本格式,解析脚本增加异常捕获,过滤无效行。
  2. AI 漫剧画面人物漂移、画风不一致 Skill 产出剧本时,脚本统一收集本场角色列表,渲染阶段绑定 IPAdapter 角色特征文件,同一个角色在多镜头使用同一个参考特征。
  3. 剧本缺少钩子,成片完播差 【103】Skill 本身内置叙事约束,同时可以增加简单检测脚本,扫描文本是否包含冲突、悬念关键词,对不合格剧本标记,人工复核后再送入 AI 漫剧制作流程。
  4. 8G 显存连续批量渲染 OOM 批量脚本增加任务间隔,单镜头渲染完成后执行缓存清理,关闭不必要的后台 GPU 进程,模型全部使用 Q4 量化版本。

九、总结

【103】男女频短剧编剧 Skill 解决了剧本标准化的痛点,把主观的编剧经验固化为可复用的提示词体系,再通过整套 Python 脚本打通剧本到分镜、渲染、配音、成片的链路,让 AI 漫剧制作从零散手工操作变成流水线工程化生产。这套方案可以持续批量产出短剧素材,只需要定期微调 Skill 提示词适配平台风格偏好,非常适合长期稳定做漫剧量产。

相关文章
|
云安全 安全 网络安全
|
3天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
|
17天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
4020 1
|
10天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
2064 2
|
16天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
2668 47
|
3天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
565 1
|
13天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1520 3
|
10天前
|
开发者 索引
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
Open Plugin Market 是一个开放插件索引平台,收录800+优质DSH插件,支持分类浏览、智能推荐与随机发现。无需安装市场,粘贴索引地址即可一键接入,网页版直访 dshopen.org,助力小开发者被看见。(239字)
2112 1
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
|
8天前
|
人工智能 Linux API
Magpie, 轻量本地AI网关!免费Token用不完!
Magpie 是开源AI编程模型调度网关,上线一月获1.8万Star。它通过本地高性能网关统一托管多平台API密钥、账号与免费额度,实现跨Agent的模型秒级切换、静默额度轮换与资源复用,显著降低碎片化管理成本。(239字)
Magpie, 轻量本地AI网关!免费Token用不完!

热门文章

最新文章