跳转到主要内容
Venice Video Harness 是一个由社区维护、agent 优先、Venice 优化的工具包,专为任意长度的一致性优先视频创作而设计。它将 IDE agent(Claude Code、Cursor、Codex 等)转变为可复用 Venice 生产系统的操作员,覆盖 50+ 个 Venice 视频、图像、音频和音乐模型。

GitHub: venice-video-harness

MIT 许可。社区维护。

角色一致性视频

在整个系列中锁定角色、声音和美学风格

故事板到视频

采用 Venice 多重编辑细化的两阶段面板生成

文本优先剪辑

使用 whisper.cpp 在本地转录,从 12KB 包中剪辑,在每个边界自评

这是什么

大多数 Venice 集成只是 API 调用的薄包装。Venice Video Harness 是位于您的 agent 和 Venice API 之间的更高层
  • CLAUDE.md 中的编排规则
  • .claude/commands/ 中的可复用 playbook(19 个工作流命令)
  • .claude/agents/ 中的专用 agent(art-director、prompt-engineer、cut-qa 等)
  • .claude/skills/ 中的 Venice 生产 skill(与 Agent Skills 格式兼容)
  • src/ 中的 TypeScript 执行层
  • 全面的模型注册表,覆盖 50+ 个 Venice 视频、图像、音频和音乐模型
为生产以下内容的创作者构建:
  • 角色一致性视频项目(任何题材、任何长度)
  • 视觉风格锁定的系列或活动
  • 故事板到视频工作流
  • 短视频和长篇叙事内容
  • 品牌化电影序列、预告片和宣传片
  • 包含循环角色的社交媒体系列

入门

要求

Node.js 20+

推荐最新 LTS 版本

ffmpeg + ffprobe

位于您的 PATH 中

Venice API 密钥

可选,用于编辑流水线:安装 whisper-cpp 进行本地转录。

设置

1

克隆 harness

2

配置您的 API 密钥

3

安装并构建

4

在您的 agent 中打开

在 Cursor、Claude Code 或任何支持 agent 聊天的 IDE 中打开项目。agent 会自动读取 CLAUDE.md 和 playbook。尝试这些首次消息之一:
  • “Set up this Venice video harness for first use”
  • “Create a new character-consistent video series”
  • “Generate a 30-second branded video sequence”
  • “Build a multi-episode narrative with locked characters”
  • “Create a product launch trailer with consistent visual style”

它的 Venice 优化体现在哪里

  • 针对 Venice 图像模型调优的图像 prompt,如 seedream-v5-litenano-banana-proflux-2-pro/max
  • 两阶段面板生成,采用 Venice 多重编辑细化进行角色校正
  • 针对动作、氛围和角色一致性层级的模型路由逻辑
  • 参考感知的视频生成,按模型正确使用 elementsreference_image_urlsscene_image_urls
  • 环境感知的 prompt 调整,处理白天 vs 夜晚场景
  • Venice 原生音频路径用于 TTS(Kokoro、Qwen3、ElevenLabs)、SFX 和音乐
  • 通过 /video/quote/audio/quote 在生成前进行成本估算
  • 模型感知的参数构建,自动跳过目标模型不支持的参数

模型路由默认值

harness 默认值是有主见的,因为一致性是关键。当前路由(2026 年 4 月): 默认 Seedance 2.0 R2V。3+ 角色场景回退到 Kling O3 R2V。建立镜头使用 Seedance 2.0 i2v。 这些可以通过 series.json → videoDefaults 按项目覆盖。要针对非 Seedance 系列(例如缺乏 Seedance 访问权限的账户),将 videoDefaults 设置为 kling-o3-standard-reference-to-videoveo3.1-fast-image-to-video
Seedance 人脸规则: Seedance 2.0 屏蔽不是由 seedream-v5-liteseedream-v5-lite-edit 生成的带人脸输入图像。harness 通过将带角色的图像工作路由经 Seedream 处理,并在每次 Seedance 调用之前运行预检门控来自动处理这一点。

支持的 Venice 模型

视频(2026 年 4 月)

图像、音频和音乐

  • 图像(22+ 个模型): nano-banana-pro/2gpt-image-2flux-2-pro/maxgrok-imagineqwen-image-2-prorecraft-v4-proseedream-v4 / v5-litelustify-sdxl/v7wai-Illustrious
  • 多重编辑: qwen-editflux-2-max-editnano-banana-pro-editseedream-v5-lite-editgpt-image-2-edit
  • TTS: tts-kokoro(50+ 种声音)、tts-qwen3-0-6b/1-7belevenlabs-tts-v3elevenlabs-tts-multilingual-v2
  • 音乐: elevenlabs-musicminimax-music-v2ace-step-15stable-audio-25
  • SFX: elevenlabs-sound-effects-v2mmaudio-v2-text-to-audio

生产流水线

生成流水线

端到端叙事视频(脚本 → 故事板 → 视频 → 音频 → 组装):
src/mini-drama/ 中的参考实现涵盖:
  • 系列/角色/集数管理
  • LLM 驱动的脚本工作坊
  • 两阶段故事板生成(生成 + 多重编辑细化)
  • 基于视觉的面板 QA
  • 带帧链接的视频生成
  • 分层音频后期制作
  • 字幕烧录和最终组装

编辑流水线

剪辑已存在的媒体(Venice 生成的镜头或真实原始素材)。文本优先:LLM 读取紧凑的 takes_packed.md(每 40 分钟音频 ~12KB),而不是逐帧转储视频。 五个步骤:
1

转录

本地 whisper.cpp 生成每个来源的 *.words.json + takes_packed.md
2

读取包

LLM 仅从文本形成剪辑策略。
3

确认

提议策略并等待 “yes / revise / cancel”。
4

渲染 EDL

JSON 剪辑列表 → ffmpeg concat,带 30ms 音频淡入淡出。Archive-first,因此原始文件永不会被覆盖。
5

自评

cut-qa agent 在每个剪辑边界运行 6 项程序化检查;最多 3 次修复迭代。
cut-qa 检查捕捉宽高比回归、单词内的帧哈希跳变、配音截断、光照不连续、超过 -6 dBFS 的音频峰值,以及字幕与画面内文字的重叠。
编辑流水线的灵感来自 browser-use/video-use。他们的核心见解,“LLM 永远不看视频,它阅读视频”,是 agent 驱动的编辑在不被帧转储 token 淹没的情况下工作的关键。

命令、Agent 和 Skill

harness 公开 19 个工作流命令、10 个专用 agent 和 7 个生产 skill。亮点:

NLE 来回流转

渲染后,将组装的时间线导出为 XML,以便在您选择的编辑器中精调。每个视频片段、对话剪辑、SFX 剪辑和音乐线索都落在自己的轨道上。

编程使用

您还可以从您自己的 TypeScript 中直接调用 harness 的模块:

资源

GitHub

源代码、issue 和发布

Venice 视频生成

harness 所驱动的底层 API

参考到视频

用于角色一致性的 R2V 指南

Seedance 2.0

harness 默认的视频系列
社区维护,按现状提供。对于 harness 特定问题,请在项目的 GitHub 仓库上提交。