首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AI 短剧/漫剧生成工程化实践:剧本、分镜、角色一致性与合成流水线

AI 短剧/漫剧生成工程化实践:剧本、分镜、角色一致性与合成流水线

原创
作者头像
资源大佬 jzit-top
发布于 2026-09-30 17:55:11
发布于 2026-09-30 17:55:11
310
举报

AI 短剧和漫剧不是“一句话生成一部剧”,而是一条工程流水线:剧本结构化、分镜拆解、角色一致性、图像/视频生成、配音字幕、剪辑合成、内容审核。专业角度下,核心是可控、可复现、可观测、可合规。

一、系统分层

  • 剧本层:主题、大纲、角色、冲突、对白。
  • 分镜层:场景、镜头、景别、运镜、时长。
  • 视觉层:角色卡、场景卡、风格卡、首尾帧。
  • 音频层:TTS、音效、BGM。
  • 合成层:ffmpeg 拼接、字幕、转场。
  • 审核层:版权、敏感内容、AI 标注。

二、结构化分镜生成

用 Pydantic 定义数据模型,让 LLM 输出可校验 JSON。

代码语言:javascript
复制
import os, json
from openai import OpenAI
from pydantic import BaseModel, Field

client = OpenAI(
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url=os.getenv("OPENAI_BASE_URL"),
)

class Shot(BaseModel):
    shot_id: int
    scene: str
    camera: str = Field(description="景别与运镜,如中景推近")
    action: str
    dialogue: str = ""
    duration: float = Field(ge=1, le=10)

class Episode(BaseModel):
    title: str
    characters: list[str]
    shots: list[Shot]

def generate_episode(theme: str) -> Episode:
    prompt = f"""
你是短剧分镜师。根据主题生成 6 个镜头,每镜 3-5 秒。
主题:{theme}
要求:原创角色,无侵权元素,无真实品牌,无违法内容。
只输出 JSON,字段符合 Episode 模型。
"""
    resp = client.chat.completions.create(
        model=os.getenv("OPENAI_MODEL", "gpt-4o-mini"),
        messages=[{"role": "user", "content": prompt}],
        response_format={"type": "json_object"},
        temperature=0.7,
    )
    data = json.loads(resp.choices[0].message.content)
    return Episode.model_validate(data)

ep = generate_episode("一只原创小猫在雨夜寻找回家的路")
print(ep.model_dump_json(indent=2))

关键点:角色名、场景名、风格词必须固定;单镜头只写一个动作;时长 3—5 秒,便于图生视频。

三、角色一致性

为每个角色建立角色卡:

代码语言:javascript
复制
角色名:小灰
外形:原创灰色小猫,绿色眼睛,红色围巾,二头身
风格:扁平卡通,粗描边,低饱和,贴纸感
禁止:文字、Logo、真实动物照片、复杂背景

生成时固定 seed、模型、采样器,并使用参考图或 IP-Adapter。若角色复杂,可训练 LoRA。每次只改表情和动作,不改角色描述。

四、图生视频与合成

将分镜图作为首帧,调用视频生成 API 生成 3—5 秒片段。伪代码:

代码语言:javascript
复制
def gen_video(image_path: str, motion_prompt: str) -> str:
    # 实际调用即梦、可灵、Runway 等官方 API
    # 参数:首帧图、运动描述、时长、比例、种子
    return "outputs/shot_01.mp4"

所有片段生成后,用 ffmpeg 拼接:

代码语言:javascript
复制
# list.txt 内容:file 'outputs/shot_01.mp4'
ffmpeg -f concat -safe 0 -i list.txt -c copy rough_cut.mp4

添加字幕:

代码语言:javascript
复制
ffmpeg -i rough_cut.mp4 -vf "subtitles=subtitle.srt" final.mp4

五、工程化与合规

  1. 任务队列:每个镜头一个任务,支持重试、超时、取消。
  2. 成本控制:低分辨率预览,定稿后高清生成。
  3. 可观测:记录 trace_id、模型、耗时、token、视频时长。
  4. 审核:敏感词、版权、肖像权、AI 标注。
  5. 合规:只使用原创或授权素材;不生成违法、暴力、色情、歧视内容;不冒充真人;不绕过平台审核。

六、总结

AI 短剧/漫剧的专业流程是:结构化剧本 → 分镜 JSON → 角色卡 → 图生视频 → TTS/字幕 → ffmpeg 合成 → 审核发布。代码可以简单,但数据校验、角色一致性、任务编排和合规审查不能省。先跑通 15 秒短片,再扩展到系列化生产。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、系统分层
  • 二、结构化分镜生成
  • 三、角色一致性
  • 四、图生视频与合成
  • 五、工程化与合规
  • 六、总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档