🐦 第15章 实战案例:新闻视频自动生成器
📄 一句话概括

四个参数:新闻原文、画面风格、音色、时长上限。只有第一个必填,但默认值本身就是产品决策。 五种输入四种要被拦下来:太短、带链接、带表情、太长。每一条都对应一种真实的坏输入。 成本先算:60 秒视频 40.8 元,其中视频占九成。这条账要在一开始算,不是做完再算。

📝 本章和前面几章的关系

这一节最短,也最容易被跳过。跳过它的后果是:连到一半发现少一个参数,回头改六处。 创建步骤和第 14.2 节完全一样,不重复讲。这一节讲「建之前要想清什么」。 本沙箱没有扣子账号,创建和配置界面这一段不执行;参数表、校验规则、成本账都能真跑。

一、四个参数

参数 类型 必填 说明
news_text text 是 新闻原文
style text 否 画面风格,默认「新闻播报」
voice text 否 音色,默认「女声-新闻」
max_sec integer 否 时长上限,默认 60

只有第一个必填。但这不意味着其余三个可以随便给默认值。 max_sec 默认 60,是因为 60 秒以上成本翻得快、完播率掉得也快。 默认值不是随便填的,它替用户做了决定。 style 和 voice 也一样。 默认「新闻播报」和「女声-新闻」, 是因为这两个组合最不容易出错——换成「动漫风」可能会让一条正经新闻变得很奇怪。

二、五种输入,四种要被拦下来

输入 字数 校验结果
正常新闻稿 204 通过
空字符串 0 太短
只有标题没有正文 14 太短
带一堆表情和链接 23 太短、带链接、带表情
长度超上限三倍 1400 太长

四条规则:太短、带链接、带表情、太长。每条都对应一种真实的坏输入。 太短那条最容易漏。一句话的稿子生成 8 秒视频,观众还没看明白就完了。 下限其实比上限重要——上限浪费钱,下限浪费一次发布。 带链接和带表情要拦,是因为这两样进了配音环节会变成噪音:链接会被念成一串乱码, 表情会被念成「笑脸」。

三、成本先算清楚

时长 视频(元) 配音(元) 合计(元)
30 秒 18.0 2.40 20.40
60 秒 36.0 4.80 40.80
90 秒 54.0 7.20 61.20

两个单价(画面 0.6 元每秒、配音 0.02 元每字)都是本课估的量级,不是任何厂商的报价。 要看的是比例:视频占九成以上。 所以砍成本只有一条路——砍时长。砍配音的钱,砍到零也省不出多少。 这条账要在一开始算。 做完才发现一条 60 秒视频四十块、一天一百条就是四千块,那就得改设计,不是改代码。

四、参数定完,节点就定了

参数 从哪进 谁用
news_text 开始节点 拆稿模块
style 开始节点 图片模块
voice 开始节点 配音那一步
max_sec 开始节点 拆稿模块(砍镜头)

四个参数各有一个明确去处。 有参数没有去处,说明这个参数是多余的;有节点没参数喂,说明这个节点会自己编。 这两句话可以当检查表用。连完节点,把参数表和节点表对一遍,五分钟能查出大半问题。 对齐之后再动手,能省掉一半返工。这和第 14.3 节讲的「先把参数定死,再连」是同一个道理。

五、平台上怎么建

顺序是:创建空白工作流 → 开始节点加四个参数 → 加拆稿、配图、生成、 合并四段 → 接两个结束节点 → 试运行。 这一步没有技术含量,但要一次把四个参数加全。 中途加参数,下游所有节点都要重连一遍。 试运行第一次只填 news_text,其他三个用默认值。能跑通,说明默认值是对的。

以上是平台操作,本沙箱不执行。下面 Demo 跑的是参数校验和成本账。

六、动手 Demo:先把参数定下来,再动手连

先列四个参数和它们的去处,再拿五种输入过一遍校验,最后算三档时长的成本。

PARAMS = [(u'news_text', u'text',    True,  u'新闻原文'),
          (u'style',     u'text',    False, u'画面风格'),
          (u'voice',     u'text',    False, u'音色'),
          (u'max_sec',   u'integer', False, u'时长上限')]

VID_P, TTS_P = 0.6, 0.02    # 元每秒 / 元每字

实跑输出:

--------------------------------------------------------------------
先把参数定下来,再动手连
--------------------------------------------------------------------


  ① 四个参数
  --------------------------------------------------------------------

| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| news_text | text | 是 | 新闻原文 |
| style | text | 否 | 画面风格,默认「新闻播报」 |
| voice | text | 否 | 音色,默认「女声-新闻」 |
| max_sec | integer | 否 | 时长上限,默认 60 |

  四个参数,只有第一个必填。但这不意味着其余三个可以随便给默认值。
  max_sec 默认 60,是因为 60 秒以上的视频成本翻得快,而且完播率掉得也快。
  默认值本身就是一种产品决策。

  ② 五种输入,四种要被拦下来
  --------------------------------------------------------------------

| 输入 | 字数 | 校验结果 |
|---|---:|---|
| 正常新闻稿 | 204 | 通过 |
| 空字符串 | 0 | 太短 |
| 只有标题没有正文 | 14 | 太短 |
| 带一堆表情和链接 | 23 | 太短、带链接、带表情 |
| 长度超上限三倍 | 1400 | 太长(1400 字) |

  四种输入踩了四条不同的规则:太短、带链接、带表情、太长——后三条里还有两条叠了太短。
  每一条规则都对应一种真实的坏输入。
  太短那条最容易漏。一句话的稿子生成 8 秒视频,观众还没看明白就完了。

  ③ 成本先算清楚,再决定做不做
  --------------------------------------------------------------------

| 时长 | 视频(元) | 配音(元) | 合计(元) |
|---:|---:|---:|---:|
| 30 秒 | 18.0 | 2.40 | 20.40 |
| 60 秒 | 36.0 | 4.80 | 40.80 |
| 90 秒 | 54.0 | 7.20 | 61.20 |

  两个单价都是本课估的量级,不是任何厂商的报价。要看的是比例:视频占九成以上。
  所以砍成本只有一条路——砍时长。砍配音的钱,砍到零也省不出多少。
  ! 这条账要在一开始算。做完才发现一条 60 秒视频四十块,一天一百条就是四千块,那就得改设计。

  ④ 参数定完,节点就定了
  --------------------------------------------------------------------

| 参数 | 从哪进 | 谁用 |
|---|---|---|
| news_text | 开始节点 | 拆稿模块 |
| style | 开始节点 | 图片模块 |
| voice | 开始节点 | 配音那一步 |
| max_sec | 开始节点 | 拆稿模块(砍镜头) |

  四个参数各有一个明确去处。有参数没有去处,说明这个参数是多余的;
  有节点没参数喂,说明这个节点会自己编。
  这一步做完再动手连节点,能省掉一半返工。这也是第 14.3 节讲的「先把参数定死,再连」的同一个道理。

①四个参数只有第一个必填,默认值是产品决策不是随便填。 ②五种输入:正常通过,其余四种被拦,原因各不相同。 ③三档时长成本 20.40 / 40.80 / 61.20 元,视频占九成。 ④参数和节点的对应表:四个参数四个去处,一个不多一个不少。 ⑤第五节那句检查法:有参数没去处是多余,有节点没参数会自己编。

30 秒实验

  1. 把你的参数表列出来,每个参数后面写「谁用」。写不出谁用的,就删掉。
  2. 给每个参数定一个默认值,并写一句「为什么是这个默认值」。写不出来的,说明还没想清。
  3. 算一遍你的成本:一条视频多少钱、一天多少条、一个月多少钱。算完再决定要不要做。

常见误区

  1. 「参数边做边加。」中途加参数,下游全要重连。一次加全。
  2. 「默认值随便填一个。」默认值替用户做了决定。填错等于把错的决定批量执行。
  3. 「成本做完再算。」算完发现一条四十块,改的是设计不是代码。先算。
自测三问(点开对答案) 1. 四个参数里哪个必填? —— news_text。其余三个有默认值,但默认值本身也是一种设计决策。 2. 为什么「太短」这条比「太长」重要? —— 太长浪费钱,太短浪费一次发布。一句话的稿子做出来的视频没人看得懂。 3. 参数表和节点表要怎么对? —— 每个参数都要有一个去处,每个节点都要有参数喂。对不上的两样都是问题。

参数定了,下一节连五段:拆、配图、写字、生成、合并。这一节最长。

相关笔记