惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
M
MIT News - Artificial intelligence
量子位
N
Netflix TechBlog - Medium
The Cloudflare Blog
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
B
Blog
博客园_首页
博客园 - Franky
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
爱范儿
爱范儿
H
Help Net Security
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - PetterLiu

OpenReel开源项目 OpenConnector 技术白皮书 汽车行业高效办公AI实践案例集 微软开源Flint语义驱动的图表项目 工业互联网零信任安全应用进展与挑战 开发思维导论:从大白话创意到AI全自动执行 从微服务到 Agent:我们到底在焦虑什么? Drain3与LogParser-LLM技术优劣势及适用场景对比 人机协作的工程化进化路线与落地案例 长视频如何实现信息压缩与细节 AI 站点可靠性工程 (SRE) Agent 苹果公司"中国+1"布局的逻辑重塑与风险对冲 训练 Agent 最怕什么?不是模型笨,是环境烂。 大语言模型自我验证机制与环境鲁棒性前沿技术研究报告 全球软件产业智能化范式转移与商业价值重构研究报告 基于AJ-Bench智能体自我验证场景案 物业行业 AI 落地避坑指南 2026年6月份个人回顾 Skill不是长Prompt:如何写出工业级 Skill AI 驱动下的上下文治理与管理范式革命 为什么 FDE 正在成为商业落地的唯一解药 《不懂人性,就别做管理》:软件研发管理的核心洞察解读 四周实现非母语教学APP Agent Mail 产品介绍与 Trae Solo Agent 实测 AI时代团队效能的非线性陷阱与组织重构升级 AI落地三大误区与组织提效路径 AI工程化人才的角色演变与组织冲击 揭秘AI搜索时代的"GEO全链路技能库" AI领域值得关注的人与机构 MAICC 如何让 AI 团队在瞬间学会完美协作
AI 驱动的视频内容自动化创作框架ShortGPT
PetterLiu · 2026-07-01 · via 博客园 - PetterLiu

    ShortGPT 的核心是一个开源的 Python 框架,它利用大型语言模型(LLMs)和各种 AI 服务来自动化视频创作。通过为内容生成、语音合成、素材获取和视频编辑提供结构化方法,它简化了复杂的视频制作任务。该框架在 YouTube 自动化和 TikTok 创作者计划自动化中尤为流行,使创作者能够大规模制作引人入胜的内容。

image

image

ShortGPT 采用模块化架构,围绕几个关键组件构建,这些组件协同工作:

1. 内容引擎

该框架为不同类型的内容创作提供专用引擎:

  • ContentShortEngine:专为创作短视频(如 TikTok 或 YouTube Shorts)设计,处理从脚本生成到最终渲染的所有环节
  • ContentVideoEngine:针对长视频优化,管理音频生成、背景素材获取和字幕时间轴
  • ContentTranslationEngine:专注于多语言视频的配音和翻译
  • FactsShortEngine:使用自动获取的信息创建基于事实的短视频
2. 抽象内容引擎

所有内容引擎都继承自 AbstractContentEngine 类,该类为内容创作工作流提供了一致的基础。这个基类处理:

  • 用于持久存储的数据库管理
  • 分步内容创作流程
  • 动态素材的路径管理
  • 进度跟踪和日志记录
3. 编辑框架

编辑框架是 ShortGPT 视频制作能力的核心。它使用基于 JSON 的编辑语言,将复杂的视频编辑任务分解为 LLMs 可以理解和执行的可管理、可定制的步骤。该框架包括:

  • EditingEngine:协调编辑步骤的主类
  • EditingStep:定义各种编辑操作的枚举(添加字幕、水印、背景音乐等)
  • CoreEditingEngine:使用 FFmpeg 处理实际的视频渲染
4. 用户界面

ShortGPT 提供基于 Gradio 的 Web 界面,通过友好的 GUI 使框架易于访问。该界面分为三个主要部分:

  • 内容自动化:用于创建和管理视频内容
  • 素材库:用于管理视频、音频和图像素材
  • 配置:用于设置 API 密钥和首选项

工作流程

image

部署依赖

image

主要功能

自动化视频创作流程

ShortGPT 通过一系列明确定义的步骤自动化整个视频创作过程。例如,ContentShortEngine 遵循以下工作流:

  1. 脚本生成:使用 AI 创建引人入胜的脚本
  2. 音频生成:使用 TTS 服务将脚本转换为旁白
  3. 音频处理:优化音频时间和速度
  4. 字幕时间轴:使用语音识别生成带时间轴的字幕
  5. 素材获取:从网络查找相关图片和视频
  6. 背景选择:选择合适的背景音乐和视频
  7. 素材准备:处理所有素材以供编辑
  8. 视频渲染:将所有元素合成为最终视频
  9. 元数据生成:为平台创建标题和描述
多语言支持

ShortGPT 支持多语言内容创作,包括:

  • 英语、西班牙语、阿拉伯语、法语、波兰语、德语、意大利语、葡萄牙语、俄语、普通话、日语和印地语
  • 脚本和字幕的自动翻译
  • 特定语言的字幕渲染(例如阿拉伯语文本的特殊处理)

外部依赖

image

技术栈

ShortGPT 利用强大的技术组合来实现其功能:

技术

用途

OpenAI GPT

脚本生成、翻译和内容规划

MoviePy

视频编辑和渲染

ElevenLabs

高质量语音合成

EdgeTTS

免费的多语言文本转语音

Whisper

用于字幕时间轴的语音识别

Pexels API

素材视频和图片获取

Gradio

Web 界面框架

TinyDB

用于内容管理的轻量级数据库

FFmpeg

视频处理和渲染

Gemini API 在 ShortGPT 中用作 OpenAI API 的替代方案,用于执行大语言模型(LLM)完成任务,如脚本生成、编辑提示词生成等。在 llm_completion 函数中,系统会优先检查 Gemini API 密钥。如果存在,则使用 Gemini API 进行 LLM 完成;否则回退到 OpenAI API。

可扩展性

ShortGPT引擎系统的核心是AbstractContentEngine类,它作为所有内容生成引擎的基础。这个抽象基类提供了一个基于步骤的工作流系统,负责处理从脚本生成到最终视频渲染的整个内容创作过程。

该架构遵循清晰的继承模式:

  • AbstractContentEngine(基类)
  • ContentShortEngine(继承抽象类,提供通用短视频功能)
  • 特定引擎如FactsShortEngineRedditShortEngine(继承ContentShortEngine)

这种分层架构意味着您可以利用现有功能,同时专注于实现引擎的独特之处。

ShortGPT引擎使用步骤字典来定义内容创作过程。每个步骤都是按顺序执行的方法:

image

FAQ:

1.如何判断视频中图片时间轴位置,与字幕如何对应?

项目通过一个多步骤流程来确定图片时间轴位置并与字幕对应,核心是使用 Whisper 进行音频分析生成字幕时间戳,然后通过 LLM 生成图片查询和时间戳对。 content_short_engine.py:72-82

核心流程

1. 字幕时间生成 (_timeCaptions)

首先使用 Whisper 分析音频,生成带时间戳的字幕:

whisper_analysis = audio_utils.audioToText(self._db_audio_path)

self._db_timed_captions = captions.getCaptionsWithTime(whisper_analysis)

content_short_engine.py:72-76

2. 图片搜索查询生成 (getImageQueryPairs)

gpt_editing.getImageQueryPairs 函数接收带时间的字幕,使用 LLM 生成图片查询和时间戳对: gpt_editing.py:12-51

关键逻辑

  • LLM 返回 JSON 格式数据,包含 timestampquery gpt_editing.py:24-26
  • 计算每个图片的结束时间:min(time + maxTime, next_time),确保图片显示不超过 maxTime(默认2秒) gpt_editing.py:32-37
  • 返回格式:[((time, end), query + " image"), ...] gpt_editing.py:39
3. 视频渲染时的对应

_editAndRenderShort 中,图片和字幕使用相同的时间戳系统添加到编辑引擎: content_short_engine.py:140-148

# 添加字幕

for timing, text in self._db_timed_captions:

videoEditor.addEditingStep(caption_type, {'text': text.upper(),

'set_time_start': timing[0],

'set_time_end': timing[1]})

# 添加图片

for timing, image_url in self._db_timed_image_urls:

videoEditor.addEditingStep(EditingStep.SHOW_IMAGE, {'url': image_url,

'set_time_start': timing[0],

'set_time_end': timing

image