当前位置: 首页 > news >正文

开源!我用 Python 造了个 AI 视频生成框架,输入一句话自动出片

开源!我用 Python 造了个 AI 视频生成框架,输入一句话自动出片

一句话需求,AI 自动完成,视频直接输出。

最近做了一个开源项目:小云雀视频 Agent。它是一个纯粹的 AI 视频生成 Agent 框架,把用户输入的自然语言需求,自动转换成视频。

项目地址(MIT 协议):

https://github.com/xiaoyunque-video-agent/xiaoyunque-video-agent


为什么做这个

现在的 AI 视频工具很强,但用起来割裂感严重:

  1. 写好 Prompt,打开网页,粘贴,等待,下载
  2. 想换个风格?重写 Prompt,重来
  3. 想做多镜头?手动拼,累死人

如果这个过程让 AI 自己完成呢?这就是小云雀的设计目标:一个让 Agent 自动完成视频生成的框架。


快速体验

gitclone https://github.com/xiaoyunque-video-agent/xiaoyunque-video-agent.gitcdxiaoyunque-video-agent pipinstall-e".[dev,cli]"# 无需 API Key,Mock 模式直接测试python examples/generate_video.py--prompt"古代侠客雨夜竹林行走"--mock

3 秒后就能看到完整的生成流程日志。整个框架的依赖只有 5 个:Pydantic v2、httpx、python-dotenv、openai 和 typer(CLI)。


核心架构

整个框架就三层:

用户输入 | v Workflow Agent(工作流编排) | +-> Prompt Agent(LLM 优化 Prompt) | +-> Video Agent(提交 + 轮询 + 下载) | v Provider 抽象层 小云雀 / Mock / Kling(未来) | v 生成视频

Prompt Agent

把大白话转成结构化视频 Prompt。支持 OpenAI 和 DeepSeek,几行代码就能接入:

classPromptGenerator(ABC):asyncdefgenerate(self,user_input:str)->VideoPrompt:...

AI 自动输出场景、角色、运镜、风格、光影、动态等结构化字段。

Video Agent

管理视频任务的完整生命周期。提交任务后,用指数退避轮询:

# 轮询间隔:2s -> 5s -> 10s -> 30s(上限)# 超时时间:600 秒(10 分钟)intervals=[2,5,10]timeout=600

Provider 抽象层

就三个抽象方法:

classVideoProvider(ABC):asyncdefsubmit_video(self,options)->TaskInfoasyncdefquery_task(self,task_id:str)->TaskInfoasyncdefdownload_video(self,url:str,path=None)->Path

接新平台只需要继承这个接口。框架内置小云雀和 Mock 两种实现,开发阶段用 Mock,测试通过切到真实 API,零代码改动。


在代码里调用

importasynciofromsrc.agents.workflowimportWorkflowAgentasyncdefmain():wf=WorkflowAgent()result=awaitwf.run("生成 30 秒赛博朋克城市夜景视频")print(result.local_path)# 视频文件路径asyncio.run(main())

Workflow Agent 的编排代码只有 100 行,每个步骤都有清晰的日志输出。


进阶:多镜头剧本生成

单一镜头不够?框架内置了 v2.0 多镜头工作流:

剧本文本 v ScriptParser 解析为镜头列表 v CharacterExtractor 提取角色档案(外貌、服装) v SceneExtractor 提取场景信息(时间、光影) v ShotGenerator 逐镜头生成,跨镜头一致性 v AudioDesigner 设计音效和配乐 v VideoCompositor 合成最终视频

数据模型用 Pydantic v2 定义:

classShot(BaseModel):id:int# 镜头编号duration:float# 时长(秒)shot_type:ShotType# 景别:远景/中景/特写/过肩subject:str# 主体action:str# 动作camera_movement:str# 运镜方式characters_in_frame:list[str]# 画面中的角色prompt:str# 生成的 Prompt

每个镜头可以独立调整,然后一键合成最终视频。


技术栈

技术用途
Python 3.13+开发语言
Pydantic v2数据模型与配置管理
httpx异步 HTTP 客户端
asyncio全链路异步 I/O
openai SDKLLM Prompt 优化
typerCLI 命令行

测试覆盖:25 个测试文件,核心路径加异常路径全覆盖。Mock Provider 让 CI 测试零外部依赖。


命令行工具

# 生成视频python-msrc generate--prompt"古代侠客"--duration10--ratio9:16# 仅提交任务(不等待)python-msrc submit--prompt"测试视频"--duration10# 查询任务状态python-msrc query task_abc123# 下载视频python-msrc download task_abc123--output./my_video.mp4

写在最后

做这个项目的初衷很简单:让视频生成像写代码一样,可以被编排、被自动化。

现在的版本接入了小云雀 API,但 Provider 抽象层已经为 Kling、Runway 留好了位置。框架也是完全开源的,欢迎加功能、提 PR。

仓库地址:
https://github.com/xiaoyunque-video-agent/xiaoyunque-video-agent

欢迎在评论区聊聊你们的 AI 视频使用场景。对框架有想法也可以直接提 Issue。

如果这篇文章对你有帮助,GitHub Star 是对开源最好的支持。


本文由 CSDN Writer 自动发布

http://www.jsqmd.com/news/1178538/

相关文章:

  • Nano Banana2:基于Gemini 3.1 Flash的AI图像生成工具实战指南
  • Unidbg+IDA逆向魔改SHA1算法:绕过反调试的SO模拟执行实战
  • 《造梦之家》电影技术解析:4K画质与手持拍摄的情感叙事
  • C++插件机制实战:从动态链接到工业级架构设计
  • C++矩阵转置性能优化:从基础实现到缓存友好与并行计算
  • Unity微信小游戏包体瘦身实战:代码剪裁与TMP字体优化指南
  • 思科交换机VLAN间通信:Access与Trunk端口配置的2个关键区别与1个常见误区
  • 幻兽帕鲁存档编辑完全指南:如何安全修改游戏数据实现个性化体验
  • Python自动化实战指南:从工具选型到工作流构建
  • JSON数组超10万条时Cursor智能跳转失灵?用这4个自定义Snippet+1个AST解析宏实现毫秒级字段定位
  • 《阿甘正传》深度解析:纯粹人生与历史隐喻的经典启示
  • 2026年7月最新常州欧米茄官方售后客户服务热线与维修网点地址汇总 - 欧米茄服务中心
  • TK1开发板WiFi自动连接实战指南:从配置到自愈
  • C++构造函数初始化列表:从原理到实战的深度解析
  • UVM重载实战:Transaction、Sequence、Component 3类对象替换场景与代码示例
  • 影栈:全平台视频一键下载工具,自媒体人的素材神器(2026最新测评)
  • Honey Select 2终极汉化指南:3步解锁完整中文体验与上百个实用插件
  • Android真机Frida调试环境搭建与实战指南
  • 深入解析WonderTrader内存对象池:C++高性能量化交易系统的核心优化
  • PIC18F27K42驱动EPT-14A4005P压电蜂鸣器方案详解
  • 2026年7月最新苏州百达翡丽官方售后热线及客户服务网点地址 - 百达翡丽服务中心
  • C++观察者模式:从原理到现代实现,解决对象间松耦合通知
  • eNSP 与 VirtualBox 5.2.12 虚拟网络配置:解决“###”与错误代码40的2个核心要点
  • Subtitle Edit完全指南:从新手到专家的免费字幕编辑解决方案
  • C++并发编程实战指南:从内存模型到线程池与无锁队列
  • Anbox社区贡献指南:如何参与openEuler Android中间件开发
  • 轻量级AI模型在代码安全审计中的应用:从SQL注入检测到自动化修复
  • 【ElevenLabs企业级部署白皮书】:单日10万次请求压测实录,负载均衡+缓存策略+Webhook异常熔断三重保障
  • NumPy新手实战指南:从报错到交付的四大高频场景
  • ZeroMQ与Protobuf构建C++/Python图像处理高速通信框架