跳到正文
阿里雲開發者社區 AI·· 2 小時前AI 評分48

AI 劇本生成與動畫創作實戰拆解:《等你平安歸來》台青短劇奪獎案例

AI剧本生成与动画创作评测:《等你平安归来》台青短剧夺奖的实战拆解

AI 導讀

《等你平安歸來》是一部 60 集閩南語短劇,並獲第四屆上海國際AIGC創新大賽最佳短劇劇本獎;文章拆解以阿里雲函數計算 FC、百煉大模型、ComfyUI、AnimateDiff 和 OSS 搭建 AIGC 短劇生產管線的做法。管線涵蓋結構化劇本、跨集角色一致性、方言 TTS 校準、GPU 彈性渲染及 60 集資產治理,可供政企文旅和博物館展陳場景參考。

正文

2026-10-29 1

版权

版权声明:

本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

简介: 本文以60集闽南语短剧《等你平安归来》为案例,详解如何用阿里云FC、百炼大模型、ComfyUI与OSS构建可复用的AIGC短剧生产管线,覆盖方言TTS校准、角色一致性锁定、GPU弹性渲染及60集资产治理,助力政企文旅、博物馆等场景落地。(239字)

image.gif 《等你平安归来》60集方言短剧落地实录:FC + 百炼 + ComfyUI 搭建 AIGC 短剧生产管线

从台青廖昌威《等你平安归来》获第四届上海国际AIGC创新大赛最佳短剧剧本奖,拆解一套可复用的方言短剧工程化交付方案

image.gif 编辑摘要:本文不谈功能测评,只讲落地。以 60 集闽南语竖屏短剧《等你平安归来》为真实项目背景,完整拆解如何用阿里云函数计算 FC、百炼大模型、ComfyUI 渲染集群与 OSS 存储,搭建一条从剧本 JSON 到成片交付的 AIGC 短剧生产管线。内容覆盖架构设计、Prompt 结构化、跨集角色一致性锁定、方言 TTS 双轨校准、GPU 弹性算力成本控制、60 集资产治理与交付审计,并给出可复用到政企文旅、博物馆展陈的底座演化路径。

#AI剧本生成与动画创作# #解决方案评测# #阿里云开发者社区# #AIGC落地实战# #方言AI#

一、闽南语竖屏短剧《等你平安归来》为什么是这套方案

咱做落地的,最怕听到一句话:「这个 AI 不是能一键生成吗?」

60 集竖屏短剧,每集 3 到 5 分钟,全闽南语对白,六组固定人物,跨集连续叙事。这不是一个 demo,是一条要按时交付、要过审、要能复用的生产线。通用方案在这里会撞上三堵墙:

  • 方言墙:通用 TTS 能读闽南语的字,但念不对七到八个声调,气口全乱,母语者一听就出戏。
  • 一致性墙:第 1 集和第 47 集的同一个角色,脸、服装、光位必须对得上,否则观众直接跳戏。
  • 成本墙:60 集批量渲染,GPU 一旦常驻,账单比制作费还吓人。

所以咱选的不是「一个能生成视频的工具」,而是一套可解耦、可替换、可审计的模块化底座:剧本层用百炼大模型产出结构化 JSON,渲染层用 ComfyUI + AnimateDiff 跑在函数计算 FC 的弹性 GPU 上,资产层用 OSS 做四域分仓,方言语音层外挂垂直引擎补声调。哪一环不行,换哪一环,管线不动。

image.gif

二、架构设计与管线搭建

2.1 整体分层

层级 组件 职责 关键约束
创意层 百炼大模型 剧本、分镜、对白生成,输出结构化 JSON Schema 强校验,字段缺失即拒收
编排层 函数计算 FC 任务分发、状态机、重试、回调 单次执行超时与幂等键必须设计
渲染层 ComfyUI + AnimateDiff 图生视频、镜头合成 LoRA 与种子随任务下发
语音层 百炼 TTS + 垂直方言引擎 基线配音 + 声调修正 母语者校准环节不可省
资产层 OSS 四域分仓、版本基线、审计留痕 路径即契约,禁止随手建目录

2.2 百炼:让剧本输出「可被程序消费」的 JSON

很多人卡在这一步——让大模型写剧本,它给你一篇散文。咱要的是能被下游直接解析的结构。做法是把 Prompt 拆成「角色卡 + 分集任务 + 输出契约」三段,并在系统提示里钉死 Schema:

{
  "episode": 12,
  "title": "灯下的约定",
  "scenes": [
    {
      "scene_id": "ep12_s01",
      "location": "厦门·妈祖庙",
      "time": "夜",
      "characters": ["A_MOTHER", "B_DAUGHTER"],
      "shots": [
        {
          "shot_id": "ep12_s01_sh01",
          "camera": "中景",
          "duration_sec": 4,
          "action": "母亲点亮庙灯,回头看向女儿",
          "dialogue": {
            "speaker": "A_MOTHER",
            "text": "等你平安归来",
            "emotion": "克制",
            "dialect": "minnan"
          },
          "image_prompt": "elderly woman lighting temple lantern, night, warm light, cinematic",
          "lora": "char_A_mother_v3",
          "seed": 20260930
        }
      ]
    }
  ]
}

image.gif

三个工程要点:

  1. 字段级校验:FC 侧收到 JSON 后先跑一遍 Schema 校验,shot_id 缺失、duration_sec 超限直接打回重生成,不让脏数据流进渲染层。
  2. 角色 ID 化:对白里只出现 A_MOTHER 这类角色 ID,不出现人名。人名在角色卡里映射,改名字不用重跑全剧。
  3. Prompt 与渲染解耦:image_prompt 由百炼生成,但 LoRA 名与种子由编排层注入,保证模型换版本时画面基线不漂。

2.3 FC:把 ComfyUI 变成可弹性伸缩的渲染节点

ComfyUI 本身是个带界面的工作流工具,直接上生产会有两个问题:状态在内存里、任务不可排队。咱的做法是把它包成 FC 上的无状态函数:

  • 镜像内置 ComfyUI 与 AnimateDiff 节点,启动即加载工作流模板;
  • 每次调用传入 job_id、shot_id、lora、seed、prompt,函数内部渲染完成后把结果写 OSS 并回调编排层;
  • 用 job_id + shot_id 做幂等键,重试不会重复计费;
  • 冷启动预热:保留少量常驻实例承接首帧,其余走弹性实例。

image.gif

2.4 OSS:路径即契约

60 集素材,最怕的是「文件在哪只有某个人知道」。咱在项目第一天就把目录定死:

oss://studio-drama/
├── 01_script/          # 剧本 JSON,按集号
│   └── ep012/script.v3.json
├── 02_asset/           # 角色卡、LoRA、场景参考图
│   ├── character/A_MOTHER/lora_v3.safetensors
│   └── scene/temple_mazu/
├── 03_render/          # 渲染中间产物,按 shot 分片
│   └── ep012/ep12_s01_sh01/v4.mp4
└── 04_delivery/        # 成片、字幕、审计台账
    └── ep012/rc1/

image.gif

四域分离的好处很直接:渲染失败只影响 03_render,剧本迭代只动 01_script,交付物永远干净可追溯。

三、核心攻坚与排错实操

3.1 跨集角色一致性漂移

这是 60 集项目最要命的坎。第 3 集还挺像,第 30 集脸就变了。根因不是模型不行,是每次渲染的随机性没有被锁住。

咱的解法是三层锁定:

  • LoRA 锁定:每个主要角色训练独立 LoRA,版本号写进角色卡,渲染时由编排层强制注入,不允许模型自由选择;
  • 种子锁定:同一角色的定妆镜头固定种子,跨集复用,保证基础脸型稳定;
  • 参考图锚定:每集开渲前,先用角色卡参考图跑一张「基准帧」,人工确认后再批量出片。

再加一道巡检:每 10 集抽 5 个镜头做人工比对,发现漂移就回滚到上一版 LoRA,而不是全剧重跑。

3.2 通用 TTS 念不对闽南语声调

通用 TTS 的问题不是「不会读」,是「读得不对味」。闽南语七到八个声调,变调规则复杂,机器念出来平得像念稿。

咱走的是三段式:

  1. 百炼 TTS 跑基线:先把全剧对白批量合成,拿到时间轴与基础音色,保证工期不被卡住;
  2. 垂直引擎补声调:接入「海峡姬音」这类从音素层建模的方言引擎,针对变调、气口、语气词做二次合成,5 到 10 分钟母语者音频即可完成声纹适配;
  3. 母语者人工校准:逐字听、逐句改,重点盯语气词和情绪转折处。这一步最慢,但省不掉。

image.gif

3.3 GPU 批量渲染的算力成本

60 集、每集几十个镜头,如果 GPU 常驻,成本直接失控。咱的做法是「队列 + 弹性」:

  • 所有渲染任务先进队列,按集号与优先级排序,夜间批量跑;
  • FC 按队列深度弹性伸缩实例数,队列空了立刻缩到零;
  • 低优先级镜头(空镜、转场)走低配实例,人物特写才上高配;
  • 失败任务进死信队列,人工排查后再重投,避免无限重试烧钱。

这套下来,算力花在刀刃上,账单可预测。

四、资产治理与交付标准

工程化落地的分水岭,不在能不能生成,在能不能管住 60 集的素材。

4.1 四域分类

剧本域、资产域、渲染域、交付域,四域各自独立版本,互不污染。任何一次修改都能定位到具体域、具体集、具体镜头。

4.2 版本基线

基线 含义 允许的操作
Draft 剧本或镜头草稿 自由迭代,不进交付
RC 候选发布版,内部审片通过 只允许修 bug,不允许改结构
Release 正式交付版 冻结,任何改动需走变更单

4.3 交付审计台账

每一集交付时,台账里必须记录:集号、版本号、剧本 JSON 哈希、LoRA 版本、种子、渲染实例规格、配音校准人、审片人、交付时间。出了问题能一路倒查,这是给甲方看的底气,也是团队自己的保险。

五、商业闭环:一套底座,多语演化

项目跑通之后,咱发现这套底座的价值不止在短剧。

  • 政企文旅:地方文旅宣传片需要方言旁白与本地叙事,管线换剧本、换声库即可复用;
  • 博物馆展陈:多语种导览、方言讲解,同一套 TTS 双轨校准流程直接迁移;
  • 非遗记录:老艺人的声纹采集与方言建模,5 到 10 分钟音频即可完成适配,成本可控。

核心逻辑是:创意层可换、渲染层可换、语音层可换,编排层与资产治理层不动。这就是「一套底座,多语演化」的工程含义。

image.gif

image.gif 六、FAQ

Q1:这套管线必须全用阿里云吗? 不必。编排层与资产层的设计是通用的,FC 可以换成其他弹性计算,OSS 可以换成其他对象存储,关键是四域分仓与版本基线这套治理思路。

Q2:方言 TTS 能不能全自动? 目前不行。基线合成可以自动化,但声调修正与母语者校准必须有人参与,这是品质底线。

Q3:60 集渲染要多久? 取决于镜头数与实例规格。用队列 + 弹性伸缩,夜间批量跑是可行路径,具体时长建议先压测 3 集再推算全剧。

Q4:角色一致性靠什么保证? LoRA 版本锁定 + 种子锁定 + 基准帧人工确认,三道一起上,单靠任何一道都不够。

image.gif 七、关于作者

圈里朋友都喊我「辣董」。一半时间死磕底层架构与算力调度,一半时间泡在剧组拉片、盯剧本。这两年一直在和方言 AI 较劲,白天调多模态管线,晚上戴着耳机,教 AI 听懂古早乡音里的「气口」与变调。

咱干工程的,毋通光说不练。如果你也在折腾 AIGC 落地,欢迎评论区一起「呷杯茶」,聊聊避坑心得。

🏷️ #AI底层架构师 #方言AI敲门者 #AIGC实战派 #台青创业者 image.gif

來源:阿里雲開發者社區 AI · developer.aliyun.com