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

开源!我用 Python 造了个 AI 视频生成框架,输入一句话自动出片
开源我用 Python 造了个 AI 视频生成框架输入一句话自动出片一句话需求AI 自动完成视频直接输出。最近做了一个开源项目小云雀视频 Agent。它是一个纯粹的 AI 视频生成 Agent 框架把用户输入的自然语言需求自动转换成视频。项目地址MIT 协议https://github.com/xiaoyunque-video-agent/xiaoyunque-video-agent为什么做这个现在的 AI 视频工具很强但用起来割裂感严重写好 Prompt打开网页粘贴等待下载想换个风格重写 Prompt重来想做多镜头手动拼累死人如果这个过程让 AI 自己完成呢这就是小云雀的设计目标一个让 Agent 自动完成视频生成的框架。快速体验gitclone https://github.com/xiaoyunque-video-agent/xiaoyunque-video-agent.gitcdxiaoyunque-video-agent pipinstall-e.[dev,cli]# 无需 API KeyMock 模式直接测试python examples/generate_video.py--prompt古代侠客雨夜竹林行走--mock3 秒后就能看到完整的生成流程日志。整个框架的依赖只有 5 个Pydantic v2、httpx、python-dotenv、openai 和 typerCLI。核心架构整个框架就三层用户输入 | v Workflow Agent工作流编排 | - Prompt AgentLLM 优化 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]timeout600Provider 抽象层就三个抽象方法classVideoProvider(ABC):asyncdefsubmit_video(self,options)-TaskInfoasyncdefquery_task(self,task_id:str)-TaskInfoasyncdefdownload_video(self,url:str,pathNone)-Path接新平台只需要继承这个接口。框架内置小云雀和 Mock 两种实现开发阶段用 Mock测试通过切到真实 API零代码改动。在代码里调用importasynciofromsrc.agents.workflowimportWorkflowAgentasyncdefmain():wfWorkflowAgent()resultawaitwf.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/Oopenai 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 自动发布

最新新闻

日新闻

周新闻

月新闻