AI工作流 Local-first · Reproducible · Reviewable

文本视频生成流

由 OpenCode 驱动的本地视频生产工作区。用户只需提供文稿、传播目的与业务限制,创意提案、导演、分镜、素材、制作、检查与返修由 Agent 承担,让观众第一次观看就能理解内容;代码、视频项目与运行环境彼此隔离。

TextVideoGen 生成的竖屏视频首帧

项目速览

TextVideoGen 将本地视频制作拆分为 13 个可审查阶段:文稿、配音、时间对齐、创意提案、导演方案、分镜、素材、逐场景渲染、合成、质检、终审、返修与交付。结构化契约记录每个阶段的输入与输出,变更时仅重做受影响的场景;每个场景还可以按语义选择 HTML/SVG 动画、图片、混合画面或 B-roll。

关于这个项目

它要解决什么

生成式视频的常见问题是过程难以复查、局部修改需要整体重跑。TextVideoGen 让用户只负责文稿、传播目的与业务限制,其余交给 Agent;制作流程被拆分为带契约的阶段,每一步的输入输出、版本与审查结论都可追溯。

流程如何组织

先建立项目契约,再由 Agent 提出 2–3 套可制作的创意方案并推荐其一;随后依次完成配音、时间对齐、导演方案、分镜与场景素材,逐场景渲染后运行技术 QA,人工终审通过才生成交付版本。发生变更时先进行影响分析。

用到什么

由 OpenCode 调度多阶段任务;配音使用 Voicebox,时间对齐使用 WhisperX,画面渲染基于 HTML / SVG Motion 与 Playwright,合成由 FFmpeg 完成;JSON Schema 与哈希值记录输入输出关系。

当前进展

v0.1.0 源码发行包已发布,工作区当前支持 macOS Apple Silicon。历史生成产物已在整理时清理,旧项目仅保留原始文稿与清理日志,重新制作从 script 阶段开始。

13 阶段从文稿到交付
4 种场景形态HTML · 图片 · 混合 · B-roll
v0.1.0首个源码发行包
macOS arm64当前支持的平台

把“生成视频”变成工程

每个阶段都有明确输入、结构化产物、版本与审查门禁,便于复现每次生成和审查过程。

运行环境隔离

Node、pnpm、Python、uv、WhisperX、Chromium、FFmpeg 与模型全部进入 .videoenv,不污染全局环境。

结构化契约

项目、分镜、运动检查、返修与提示词由 schemas/ 下的 JSON Schema 与 prompts/ 共同约束。

全链路溯源

每次 provider 调用、阶段完成、审查结论和交付记录都会保留版本与输入关系。

最小化返修

先生成影响分析,只重做受变更影响的场景;未变化场景通过哈希验证直接复用。

生产流水线

GPT 负责创意、导演、返修范围与最终门禁;DeepSeek 负责整理、元数据与初检,结果必须复核。

01—02Script + Voice

文稿结构化,Voicebox 本地配音。

03—04Align + Creative

WhisperX 对齐,Agent 产出创意方案。

05—06Director + Storyboard

导演方案与分镜绑定文本和素材来源。

07—08Assets + Render

登记场景素材,逐场景按帧渲染。

09—10Compose + QA

单 filter graph 合成,运行技术质检。

11—13Review + Revise + Deliver

人工终审、局部返修与原子化交付。

从 HTML Motion 到最终视频

浏览器逐帧渲染与 FFmpeg 媒体管线协作,既保留前端动画的表达力,也控制视频时序;共享渲染器默认 30 fps,快速运动可切到 60 fps。

01 · Scene

场景描述

分镜绑定字幕、素材清单与视觉签名。

02 · Browser

Playwright

HTML / SVG 场景按帧生成 JPEG 图像流。

03 · Encode

FFmpeg

image2pipe 直接编码,避免海量临时帧。

04 · Compose

精确合成

单 filter graph 重定时、拼接并混入配音。

05 · Verify

自动 QA

校验解码、黑帧、静帧、静音、帧率和音画时长。

历史样例输出

早期示例「英语启蒙四关通关总纲」:1080 × 1920、30 fps、18 个场景。该示例的生成产物已在打包整理时清理,项目回到 script 阶段,以下成片帧与核验数据为归档记录。

QA 结果(归档):18 个场景顺序完整;视频与音频时长差 0.011667 秒;无解码错误、黑帧或超过 0.8 秒的静音;返修只重渲染 9 个受影响场景,其余 9 个场景通过哈希验证复用。

上手与常用指令

工作区入口集中在 bin/,安装、建项目、日志、交付与打包各有独立命令。

准备环境

./bin/setup 把运行时、依赖、浏览器与模型装入 .videoenv;./bin/check-environment 只做检查,不进行模型推理。

创建与制作

./bin/new-project my-video "标题" 建立项目骨架,再用 ./bin/opencode-video 进入 Agent 制作流程。

记录与检查

./bin/video-log 记录阶段事件,./bin/pnpm-video check 汇总类型、隔离环境与 Voicebox 检查。

安全交付与可恢复性

工作区专注于生产过程,最终成片只在获得批准后移入 macOS Movies 目录。

拒绝覆盖

./bin/deliver-video 不会覆盖同名版本,并写入目标路径、文件大小与 SHA-256 交付记录。

代码与成片分离

最终视频移出仓库,只留下可提交的交付记录和完整生产溯源。

环境可重建

删除 .videoenv 不影响源码和 projects;重新运行 ./bin/setup 即可恢复固定版本环境。

源码发行包

./bin/package-workspace 生成不含私有项目与运行环境的源码包,v0.1.0 发行包约 22 MB。

只含可发布内容

包含代码、配置、lockfiles、公共素材与 Skills / 插件源码;排除 Git 元数据、依赖、模型、缓存、日志、凭证与旧项目。

独立输出目录

每次打包写入 .videoenv/tmp/packages/release-时间-随机值/,历史包与校验文件不会被覆盖。

校验后安装

随包输出 SHA-256 校验文件;解压到新目录后运行 ./bin/setup 重建固定版本环境。

技术栈

本地模型、浏览器渲染与媒体处理在统一工作区中协作。

OpenCodeTypeScriptNode.jsPythonpnpmuvVoiceboxWhisperXPlaywrightHTML / SVG MotionFFmpegJSON SchemaH.264 + AACmacOS arm64
返回项目列表