Pixelle-Video 视频模板开发完全指南:从内置模板到自定义 HTML 模板

发布时间:2026/11/8 19:17:24

Pixelle-Video 视频模板开发完全指南:从内置模板到自定义 HTML 模板 Pixelle-Video 视频模板开发完全指南从内置模板到自定义 HTML 模板【免费下载链接】Pixelle-Video AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video本指南系统讲解 Pixelle-VideoAI 全自动短视频引擎中视频模板的设计体系与开发方法模板以 HTML 定义视频画面的布局与样式通过 Playwright 无头浏览器渲染为帧图像。读完本文你将掌握模板命名规范、内置模板全览、模板变量与自定义参数 DSL、创建自定义模板的完整流程以及尺寸适配、排版、图片处理与性能优化等实战技巧。模板简介HTML 即画面在 Pixelle-Video 中视频模板使用 HTML 定义视频画面的布局和样式每个分镜的画面都是一个由模板渲染出的帧Frame。模板负责承载标题、正文文本、AI 生成的图片或视频背景并决定成片的宽高比与视觉风格。项目内置了覆盖不同视频尺寸和风格需求的预设模板存放于 templates/ 目录下按1080x1920竖屏、1920x1080横屏、1080x1080方形三个尺寸分组。从源码结构看模板渲染由 pixelle_video/services/frame_html.py 中的HTMLFrameGenerator类负责它读取模板文件 → 做变量替换 → 用 Playwright 启动 Chromium 无头浏览器 → 按模板解析出的尺寸设置 viewport → 截图输出 PNG 帧图。而 pixelle_video/services/frame_processor.py 中的FrameProcessor则把HTML 模板合成作为每帧流水线的第 3 步TTS → 图像/视频生成 → 模板合成 → 视频片段最终再与 TTS 音频合并为带旁白的视频片段。内置模板预览竖屏模板1080x1920适用于抖音、快手、小红书等短视频平台。以下为内置竖屏模板及其设计定位模板名称文件定位static_defaultstatic_default.html默认静态模板纯文字样式渲染无需 AI 媒体static_excerptstatic_excerpt.html图文摘抄静态模板Blur Cardimage_blur_card.html模糊背景卡片风格适合图文内容展示Cartoonimage_cartoon.html卡通风格适合轻松活泼的内容Defaultimage_default.html默认模板简洁通用Elegantimage_elegant.html优雅风格适合文艺、知性内容Fashion Vintageimage_fashion_vintage.html复古时尚风格适合怀旧主题Life Insightsimage_life_insights.html生活感悟风格适合心灵鸡汤类内容Modernimage_modern.html现代简约风格适合商务、科技内容Neonimage_neon.html霓虹灯风格适合时尚、潮流内容Psychology Cardimage_psychology_card.html心理学卡片风格适合知识科普Purpleimage_purple.html紫色主题适合梦幻、神秘风格Satirical Cartoonimage_satirical_cartoon.html80 年代讽刺漫画风格适合精神类小故事Simple Black Backgroundimage_simple_black.html极简黑色背景适合心灵鸡汤类内容Simple Line Drawingimage_simple_line_drawing.html简笔画适合认知成长类内容Bookimage_book.html图书解读适合科普类内容Long Textimage_long_text.html长文本适合励志鸡汤类内容Excerptimage_excerpt.html图文摘抄适合名人名言Health Preservationimage_health_preservation.html养生窍门适合养生科普内容Life Insights亮色版image_life_insights_light.html人生感悟传递温暖与力量Fullimage_full.html全屏模板适合书单号Healingimage_healing.html治愈模板适合疗愈类内容Video_Defaultvideo_default.html默认动态模板AI 视频背景Video_Healingvideo_healing.html治愈动态模板AI 视频背景以 image_default.html 为样例其结构是典型的标题区 图片区 文本区 页脚四段式布局并利用装饰圆环、L 形角标、侧边圆点等纯 CSS 元素营造简约质感说明内置模板大量使用 CSS 绘制装饰而非依赖图片资源。横屏模板1920x1080适用于 YouTube、B 站等视频平台模板名称文件定位Ultrawide Minimalimage_ultrawide_minimal.html超宽屏极简风格适合桌面端观看Wide Darktechimage_wide_darktech.html暗黑科技风格适合技术、游戏内容Filmimage_film.html电影风格沉浸式体验Fullimage_full.html全屏显示适合书单号Bookimage_book.html图书解读适合科普类内容方形模板1080x1080适用于 Instagram、微信朋友圈等平台模板名称文件定位Minimal Framedimage_minimal_framed.html极简边框风格适合社交媒体分享这些模板的预览图可以在 docs/images/ 目录中找到对应尺寸的子目录如 docs/images/1080x1920/文档站点中的模板预览卡片即引用这些图片。模板命名规范模板文件名前缀决定了该模板在流水线中的媒体行为pixelle_video/utils/template_util.py 中的get_template_type()会依据前缀判断模板类型static_*.html静态模板无需 AI 生成任何媒体内容纯文字样式渲染适合快速生成、低成本场景在 frame_processor.py 中体现为needs_generation frame.image_prompt is not None判断为否、跳过媒体生成步骤直接进入模板合成。image_*.html图片模板使用 AI 生成的图片作为背景/配图调用 ComfyUI 图像生成工作流或直连 API 提供商适合需要视觉配图的内容若模板文件名不遵循static_/image_/video_前缀get_template_type()会给出告警并默认按image类型处理。video_*.html视频模板使用 AI 生成的视频作为背景调用 ComfyUI 视频生成工作流或直连 API 视频工作流创建动态视频内容增强表现力在 frame_processor.py 中is_video_workflow通过工作流名是否含video_或模板类型是否为video判定媒体类型随后决定合成分支视频模板先渲染透明 HTML 叠加层omit_backgroundTrue截图再叠加到视频上最后替换音频。模板结构模板位于 templates/ 目录按尺寸分组templates/ ├── 1080x1920/ # 竖屏 │ ├── static_*.html # 静态模板 │ ├── image_*.html # 图片模板 │ └── video_*.html # 视频模板 ├── 1920x1080/ # 横屏 │ └── image_*.html # 图片模板 └── 1080x1080/ # 方形 └── image_*.html # 图片模板尺寸即路径约定视频尺寸由模板路径中的目录名解析而来。template_util.py 中的parse_template_size()从形如templates/1080x1920/default.html或1080x1920/default.html的路径中提取父目录名并拆分为宽高同时做合法性校验宽高须在 10010000 像素之间。这意味着创建自定义模板时存放它的目录名必须形如WIDTHxHEIGHT这是模板被正确渲染的前提。此外模板查找遵循自定义优先、内置兜底策略resolve_template_path()支持None回退默认1080x1920/image_default.html、纯文件名使用默认尺寸、1080x1920/template.html相对路径以及templates/...旧式路径等多种输入格式get_resource_path()会先查data/templates/再查内置templates/因此你可以在data/templates/下覆盖同名模板或添加自定义模板而不改动仓库文件。创建自定义模板基本步骤从templates/目录复制一个现有模板文件作为起点修改其中的 HTML 与 CSS 样式保存到对应尺寸目录下目录名必须为WIDTHxHEIGHT格式使用.html扩展名在配置config.example.yaml 的template.default_template或 Web 界面中选择该模板名称即可生效。模板变量模板支持以下 Jinja2 风格变量由HTMLFrameGenerator.generate_frame()注入上下文见 frame_html.py变量含义说明{{ title }}视频标题可选取自Storyboard.title{{ text }}当前分镜的文本内容必用取自该帧的narration旁白文本{{ image }}当前分镜的图片有则使用支持相对路径、绝对路径与 HTTP URL需要说明的是模板变量的实际替换由 frame_html.py 中的_replace_parameters()完成正则替换而非真正的 Jinja2 渲染。图片路径在渲染前会被转换为file://URI本地文件或保持原样HTTP/data/file 协议确保无头浏览器能跨源加载。除上述三个预设变量外generate_frame()还通过ext参数注入扩展数据如index帧序号并透传StoryboardConfig.template_params中自定义参数。示例模板以下是一个可直接使用的竖屏静态模板!DOCTYPE html html head style body { width: 1080px; height: 1920px; margin: 0; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; font-family: Arial, sans-serif; } .content { text-align: center; color: white; padding: 40px; } .text { font-size: 48px; line-height: 1.6; } /style /head body div classcontent div classtext{{ text }}/div /div /body /html如果希望模板中嵌入 AI 生成图片作为背景只需在合适位置加入img src{{image}}并配合object-fit: cover参考内置的 image_default.html 图片容器写法。自定义参数 DSL让模板可配置Pixelle-Video 的模板系统还支持自定义参数 DSL语法为{{参数名:类型默认值}}由 frame_html.py 中的parse_template_parameters()解析{{param}}→ text 类型无默认值{{paramvalue}}→ text 类型带默认值{{param:type}}→ 指定类型无默认值{{param:typevalue}}→ 指定类型带默认值。支持的参数类型及默认值解析规则见_parse_default_value()类型说明无默认值时的取值text字符串空字符串number数值含小数点按 float否则 int0color颜色自动补全#前缀#000000bool布尔true/1/yes/on视为真falsetitle、text、image、index是预设参数名不会作为自定义参数暴露。实际渲染时若template_params传入了值则优先使用否则回退占位符内默认值再否则使用空字符串。内置模板中已大量使用该 DSL例如 image_default.html 页脚中的{{authorPixelle.AI}}、{{describeOpen Source Omnimodal AI Creative Agent}}、{{brandPixelle-Video}}以及 static_default.html 的{{backgroundhttps://img.alicdn.com/...jpg}}背景图参数——后者意味着你可以通过template_params传入自定义背景图 URL 而无需改动模板文件。这些参数可通过 HTTP API 自动发现api/routers/frame.py 提供的GET /api/frame/template/params?template1080x1920/image_default.html接口会返回模板的media_width、media_height与所有自定义参数的类型、默认值、标签随后在视频生成请求中通过template_params传入实际值参考 api/schemas/video.py 中VideoGenerateRequest.template_params的定义与示例。配置示例在 config.example.yaml 中通过template.default_template设置全局默认模板template: # 默认帧模板决定视频宽高比与布局风格 # - static_*.html: 静态模板无 AI 媒体 # - image_*.html: 图片模板AI 生成图片 # - video_*.html: 视频模板AI 生成视频 default_template: 1080x1920/image_default.html而在 StoryboardConfig 中frame_template字段默认1080x1920/default.html携带尺寸信息决定最终画面尺寸template_params字典则用于覆盖模板自定义参数如{accent_color: #ff0000}。模板开发技巧1. 响应式尺寸确保模板的body或最外层容器尺寸与目标视频尺寸一致竖屏width: 1080px; height: 1920px;横屏width: 1920px; height: 1080px;方形width: 1080px; height: 1080px;渲染时HTMLFrameGenerator会按解析出的尺寸设置浏览器 viewportdevice_scale_factor1因此超出视口的元素会被截断。注意parse_template_size()的尺寸来源于目录名而 frame_html.py 中的get_media_size()还会解析meta nametemplate:media-width content1024这类 meta 标签来决定AI 媒体图/视频的生成分辨率未找到时回退 1024x1024。即画面尺寸与媒体生成尺寸是两个独立维度二者可不同。2. 文本排版使用合适的字体大小和行高确保可读性内置模板正文多在 4248px、行高 1.62.0为文字添加阴影或背景提高对比度如text-shadow、半透明背景卡片控制文本长度避免溢出可配合min-height固定文本区高度或用white-space: pre-line保留旁白中的换行见 static_default.html。3. 图片处理使用object-fit: cover确保图片填充容器内置模板统一采用此写法添加渐变或遮罩层提升文字可读性如static_default.html中的gradient-overlay层考虑图片加载失败的降级方案如使用background参数提供兜底背景图。4. 性能优化避免使用过于复杂的 CSS 动画渲染是单帧截图动画无意义且拖慢渲染优化背景图片大小控制 HTTP 请求资源体积使用系统字体或 Web 安全字体内置模板采用PingFang SC, Source Han Sans, Microsoft YaHei等字体栈避免依赖外部字体加载。模板渲染的运行环境要求模板依赖 Playwright 无头 Chromium 渲染若在 Linux 服务器部署需满足 frame_html.py 中说明的系统依赖安装fontconfig包启动时会用fc-list自检并告警建议安装基础字体Ubuntu/Debian 执行sudo apt-get install -y fontconfig fonts-liberation fonts-noto-cjkCentOS/RHEL 执行sudo yum install -y fontconfig liberation-fonts google-noto-cjk-fonts安装 Playwright 浏览器playwright install --with-deps chromium。缺少中文字体是模板渲染出来是方块字的最常见原因中文字体Noto CJK 系列务必优先安装。更多信息内置模板源码可直接作为开发起点templates/1080x1920/、templates/1920x1080/、templates/1080x1080/模板工具函数尺寸解析、类型判定、路径解析见 pixelle_video/utils/template_util.py模板渲染引擎变量替换、参数解析、Playwright 截图见 pixelle_video/services/frame_html.py帧合成流水线媒体判定、模板合成、片段生成见 pixelle_video/services/frame_processor.py模板相关配置说明见 config.example.yaml 与 docs/zh/user-guide/api.md模板参数查询接口见 api/routers/frame.py。【免费下载链接】Pixelle-Video AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/6 12:00:56

数字化工厂的质量与成本控制关键技术解析

1. 质量与成本控制的行业演进脉络十年前我刚入行做生产管理时,质量控制还停留在"事后检验"阶段,成本控制就是简单压价。记得有次供应商交来一批零件,抽检合格率达标就放行了,结果上线装配时才发现尺寸公差累积导致整批产…

2026/11/7 0:47:57

Python在混合配电系统双目标优化中的应用实践

1. 项目背景与核心价值混合配电系统规划是电力行业近年来的重点研究方向。随着可再生能源占比的持续提升,传统配电网面临着经济性与可靠性难以兼顾的挑战。我在参与某省级电网改造项目时深有体会:当光伏渗透率超过30%后,简单的容量叠加反而导…

2026/11/8 22:10:25

MongoDB更新操作符详解:set、inc、push与原子更新

1. MongoDB更新操作深度解析在数据库日常开发中,更新操作是最频繁使用的功能之一。MongoDB作为文档型数据库的代表,提供了比传统关系型数据库更丰富的更新操作符。今天我们就来深入剖析set、inc、push这三个最常用的更新操作符,以及如何实现原…

2026/11/9 11:00:08

高级工电工证论文怎么写?内部消息告诉你这些事

高级工电工证论文怎么写?内部消息告诉你这些事 你是不是也和我一样,看到“高级工电工证论文”几个字就犯愁?报名流程太复杂、怕被中介坑、论文不知道怎么写……其实,这些问题在咱们这行里太常见了。尤其是像我这种在鹤壁从事建筑工作的电工,想进一步提升…

2026/11/9 11:00:08

电工证外包装真实经历:濮阳人怎么避开中介陷阱拿到证书

电工证外包装真实经历:濮阳人怎么避开中介陷阱拿到证书 不知道去哪报名怕被中介坑?真实经历告诉你,别让“电工证外包装”变成你求职路上的绊脚石。在濮阳,我见过太多人因为信息不对称,被中间人套路,花了不少冤枉钱,还拿不到正规的电工证。今天我来从头…

2026/11/9 11:00:08

高级工电工证论文怎么写?工地太忙根本没时间复习考试

高级工电工证论文怎么写?工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这是很多电工从业者的真实写照,特别是那些要应对高级工电工证论文和电子证书考试的班组负责人。一忙起来,连吃饭都顾不上,更别说抽时间复习了。但别小看这个证书,它不仅…

2026/11/9 10:55:08

福州闽都电工证培训多久拿证?学历不高也能报!

福州闽都电工证培训多久拿证?学历不高也能报! 你是不是也担心自己学历不够,考不了电工证?别急,福州闽都电工证培训早就考虑到像你这样的学员。其实,只要满足基本条件, 多久拿证…

2026/11/9 0:37:55

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/9 0:03:09

建设厅的特种工有哪些含金量高?别交完钱考不过

建设厅的特种工有哪些含金量高?别交完钱考不过 怕考不过白交培训费?别急,先搞清楚建设厅的特种工有哪些含金量高的证,再决定是不是值得投入时间和金钱。 建设厅的特种工证是建筑行业里最基础、也最实用的证书之一,涉及多个作业类别,每种证的 含金量…

2026/11/9 0:03:09

荆门市电工证报名怎么考才靠谱 全国通用证别交冤枉钱

荆门市电工证报名怎么考才靠谱 全国通用证别交冤枉钱 怕考不过白交培训费?荆门市电工证报名前必须知道这些避坑指南。别看网上一堆培训机构广告,真要报个电工证,很多人被坑得一塌糊涂。特别是那些打着“包过”旗号的,最后不是考试不过,就是证不是全国通…

2026/11/9 0:03:09

高空电工作业过程通过率揭秘:怎么选靠谱机构不被坑

高空电工作业过程通过率揭秘:怎么选靠谱机构不被坑 不知道去哪报名怕被中介坑?你不是一个人。现在特种作业证报名渠道五花八门,从线下培训机构到线上代理,真假难辨。尤其是像高空电工作业这类高风险、高门槛的作业类型,证书含金量和考试通过率直接影响你…

2026/11/9 6:30:27

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑