小说推文视频生成
把一章文字变成一组按顺序排好的带旁白竖屏分镜片段:从原文里拆出钩子和分镜,每个分镜画一张插画且角色始终是同一个人,录好旁白,再让每段画面跟着属于它的那句旁白走。
适用范围与路线选择
当用户手上有故事文本——一章小说、一段网文节选、一篇短篇、一份梗概或一份故事脚本——并且想要拿到带旁白的成片时,使用本 Skill。适合网文推广、故事号与读书号、书评短片、剧情回顾、无真人出镜的故事账号,以及连载日更。
只要分镜表或镜头清单、不要成片,请使用 ai-storyboard-generator。单个电影感真人镜头请使用 ai-short-drama-shot-maker,动态漫画分格请使用 ai-comic-drama-shot-maker。整本书的纯音频、不带画面请使用 ai-audiobook-narration,多角色配音演出请使用 beatra-ai-voice-studio。以音乐为主导的混剪请使用 ai-music-video-clip-maker。
输入与默认值
唯一的硬性输入是那段故事文本。复用对话中已有的题材、语气、目标平台、旁白偏好、角色设定和参考图。
只有当答案会改变付费结果时才询问:用户给的是长篇却没指明章节或场景时,问改编哪一段;这一段里出现多个角色而原文没有交代主视角时,问以谁为主。
避免多余提问的默认值:
- 竖屏
9:16画布,因为投放位置是短视频信息流。 - 四到六个分镜:一个钩子分镜、两到四个推进分镜,以及一个留悬念或转折的收尾。
- 全片一个旁白音色。
- 每张分镜图
count: 1,让用户先看准画风再批量跑。 - 默认插画电影感画风,除非原文或用户指定了别的。
标准流程
策划阶段免费,只有出图、语音和视频调用是付费的。
- 读完这一段,写一份分镜表:钩子、每个分镜的动作与情绪、可见场景,以及出场角色。
- 出图之前先建角色表。每个反复出场的角色先生成一张参考形象并保留其 artifact;后面每个镜头都带上这张参考图,角色才会在各分镜里是同一个人。
- 按作者的语气为每个分镜写旁白句,长度以能放进一个镜头为准。
- 用
beatra.models.list读取本次会用到的四个能力的实时卡片——角色参考图用text_to_image,带角色参考的分镜图用image_to_image,还有text_to_speech和image_to_video——所有价格都从卡片上取。图片阶段要用已准入请求匹配当前pricing.options的维度;如果准入前无法确定唯一价格,就以符合条件的最高价格作为批准上限,且绝不要按参考图数量倍增图片价格。图片按成功落盘的张数计费,语音按每 1,000 加权字符线性计费(每个汉字算 2),视频按返回的计费基准计价。 - 确认方案。 展示分镜表、角色表、旁白句、画布、出图/语音/视频各自的确切调用次数、每个阶段的当前最高费用,以及每次付费调用各自一个不透明且稳定的
client_request_id。 - 先出角色参考图,再出每个分镜的画面:全新构图用
beatra.images.generate,需要带上角色参考时用beatra.images.transform。 - 用
beatra.speech.synthesize合成每个分镜的旁白,然后读取实际返回的时长、大小和 MIME 类型。 - 用
beatra.videos.animate让每个分镜动起来,把该分镜的分镜图作为图像输入、把它的旁白作为驱动音频传入。显式选择视频模型而不是交给auto:只保留卡片接受[image, driving_audio]的模型,因为这个能力下大多数模型并不接受,而auto标称的默认模型正是会拒绝驱动音频的那一类。不要传aspect_ratio——9:16 的分镜图本身决定画幅。拿实际返回的旁白时长再对一次卡片,取卡片允许的、不小于它的最小整秒;如果卡片没有允许值,就在视频调用之前停下,而不是把这句话截断。 - 按顺序交付这组分镜片段作为成品。每一条只报告实际返回的任务状态、解析出的模型、尺寸、时长、用量和
billing.net_charged_credits。只复核宿主 Agent 确实能播放或查看的媒体,并说明哪些无法查看。
想让某个分镜更长时,在用户批准这一步额外付费后,用 beatra.videos.extend 续接那一个片段。延长会在恰好一个源片段的前面或后面生成新画面;它的整数 duration 是最终返回的总时长,且必须大于该片段自身的时长。分镜表结构、角色一致性、载荷、旁白时长匹配、延长、故障恢复与交付复核见小说推文工作流(references/workflow.md)。
本 Skill 的执行方式
每个远程 Beatra 操作都使用随包的 scripts/mcp_client.py:在 call 后写入 MCP 工具名,并在标准输入中传入一个 JSON 对象。不要配置或调用宿主 Beatra Connector,也不要使用 REST/OpenAPI 作为回退。首次使用时通过 beatra.installations.register 注册本包。每次创作都是异步任务:提交一次,然后跟踪该任务直到终态。
需要确认的决策
第一次付费调用之前、以及方案有任何变化时都要确认:冻结后的分镜表、角色参考图、每一句旁白、画布、显式选定的视频模型、各阶段付费调用的总次数,以及当前最高费用。更换原文段落、分镜、角色参考、旁白句、画布、模型或控制项,都属于新的付费工作,需要新的请求 ID。
因为一个分镜横跨出图、语音和视频三次调用,每次调用要各自保留一个稳定的请求 ID,绝不跨阶段复用。
故障恢复
任务 ID 一返回就立即保存,并用 beatra.tasks.get 轮询;queued 和 running 表示继续等待。只有在创建请求的响应确实未知、且载荷在同一请求 ID 下逐字节相同时,才重放一次创建。任务 ID 丢失时,按对应能力调用 beatra.tasks.list 查找,用 beatra.tasks.get 确认候选,先找回原任务再考虑新的工作。请求 ID 本身丢失时,不要臆造新 ID,也不要重放。只有用户要求时才调用 beatra.tasks.cancel;遇到 409 时继续轮询原任务,只有其终态为 canceled 时才报告已取消。
当某一个分镜失败而其余成功时,只恢复那一个分镜。已经交付并获认可的分镜依然有效,不重新生成。
按任务查阅参考
- 小说推文工作流(references/workflow.md):分镜表、实时价目卡片、角色一致性、确切载荷、旁白时长匹配、单个片段延长、故障恢复与交付复核。
- 安装与认证(references/installation-and-auth.md)和安装注册(references/installation-registration.md):首次使用与共享凭据。
- 任务与结果(references/tasks-and-results.md)和计费、错误与恢复(references/billing-errors-and-recovery.md):任务、artifact 与计费事实。
- 随包 MCP Client 连接诊断(references/mcp-connection.md):客户端操作与连接诊断;不要配置宿主 Connector。
- 自动更新与安全(references/automatic-updates-and-safety.md):更新行为与开关。
- 卸载与断开连接(references/uninstall-and-disconnect.md):移除本包与清理共享凭据。
运行时与安全的自动更新
随包客户端会在每个安装中静默检查更新,最多每 24 小时一次。发现更高版本时,不另行确认地自动安装。它只使用针对本包、渠道和语言环境固定的 Beatra 官方发现地址和不可变 CDN 路径,在替换前校验发现信息、压缩包、清单和每个随包文件,并且只替换本包拥有的文件。更新检查、下载、校验、替换和恢复失败时会 fail open:当前安装仍可使用,原本请求的命令会继续执行。更新失败绝不构成重试付费生成的理由。这个设置会在后续命令中持续生效。
python3 scripts/mcp_client.py update --auto off
python3 scripts/mcp_client.py update --auto on
python3 scripts/mcp_client.py update --check
--auto off 会关闭静默检查,--auto on 会恢复静默检查,--check 会报告官方可用版本但不替换文件。详见自动更新与安全(references/automatic-updates-and-safety.md)。
微信扫一扫