视频工具页面模板使用指南
概述
TEMPLATE-video-tool.md 是一个标准化的视频工具页面模板,适用于所有文本生成视频(Text-to-Video)和图像生成视频(Image-to-Video)工具。
使用步骤
1. 复制模板
cp TEMPLATE-video-tool.md content/tools/[your-tool-slug].md
2. 替换占位符
模板中所有需要替换的内容都用方括号 [...] 标记:
基本信息
[TOOL-SLUG]→ 工具的 URL slug(例如:flux-dev-ai-video-generator)[Tool Name]→ 工具的显示名称(例如:LTX-2 Pro)[Brief description...]→ 简短的 SEO 友好描述[tool-slug]→ 小写的工具 slug,用于文件路径
媒体资源
[tool-slug]-cover.webp→ 封面图片[tool-slug]-hero-demo.mp4→ Hero 区域的演示视频/models/[model-icon].svg→ 模型图标
内容区域
每个 section(hero, steps, features, credits, faq)都有对应的占位符需要填充。
3. 配置模块
在 modules 数组中选择需要的页面模块:
modules:
  - hero_section # 必需:主视觉区
  - steps_section_1 # 推荐:使用步骤
  - features_section_1 # 推荐:核心功能
  - credits_section # 必需:定价信息
  - faq_section # 推荐:常见问题
  - related_section # 推荐:相关工具
可选模块:
hero_comparison- 用于图像对比类工具cardComparison- 用于工具卡片预览
4. 配置 appConfig
这是最重要的部分,定义了前端表单的行为:
核心字段说明
model 字段(模型选择器):
{
  name: 'model',
  type: 'select',
  label: 'AI Model',
  value: '[tool-slug]',  // 默认选中的模型
  cols: 2,               // 占用列数
  option: [              // 可选模型列表
    {
      value: '[tool-slug]',           // 模型值(必须匹配工具slug)
      label: '[Display Name]',        // 显示名称
      description: '[Short desc]',    // 简短描述
      icon: '/models/[icon].svg',    // 模型图标
      tags: [                         // 标签(时间、价格等)
        { icon: '/images/icon-clock.svg', label: '60s' },
        { label: '50+ credits' }
      ]
    }
  ]
}
prompt 字段(文本输入):
{
  name: 'prompt',
  type: 'prompt',
  label: 'Prompt',
  placeholder: '[Guidance text]',
  value: '',
  height: 4,              // 文本框高度
  translateToggle: true,  // 显示翻译开关
  translateEnabled: false,
  cols: 2,
  required: 1             // 必填字段
}
常见参数字段:
duration- 视频时长(radioGroup 类型)resolution- 分辨率(segmentedOptions 类型)aspect_ratio- 宽高比(aspectRatioSelect 类型)fps- 帧率(select 类型)generate_audio- 音频生成(switch 类型)
priceKey 属性
对于影响定价的字段,添加 priceKey: 1:
{
  name: 'duration',
  type: 'radioGroup',
  priceKey: 1,  // 标记为影响价格的字段
  // ...
}
5. 准备资源文件
需要准备的文件:
/images/
  └── [tool-slug]-cover.webp           # 封面图(用于卡片)
  └── [tool-slug]-[feature].webp       # 功能展示图(可选)
/videos/
  └── [tool-slug]-hero-demo.mp4        # Hero演示视频
  └── [tool-slug]-demo.mp4             # 其他演示视频
/models/
  └── [model-icon].svg                 # 模型图标
6. 提交配置到 API
使用脚本同步配置:
node scripts/submit-configs.js [tool-slug]
最佳实践
SEO 优化
title应包含关键词和品牌description保持在 150-160 字符- 所有图片必须包含 
alt属性 - 使用语义化 HTML 标签(
<h1>,<h2>,<h3>) 
可访问性
- 为所有媒体资源添加描述性 alt 文本
 - 保持标题层级的语义正确性
 - 使用清晰的 CTA 按钮文本
 
内容写作
- Hero description:突出核心价值主张
 - Features:每个功能点简洁明了
 - Steps:按逻辑顺序组织,4-6 步为宜
 - FAQ:回答用户最关心的问题
 
定价配置
- 按常用配置到高级配置排序
 - 清晰标注 credits 数量
 - 考虑添加说明文字
 
常见场景示例
场景 1:简单文本生成视频工具
保留模块:
- hero_section
 - steps_section_1
 - features_section_1
 - credits_section
 - faq_section
 - related_section
 
表单字段:
- model
 - prompt
 - duration
 - aspect_ratio
 
场景 2:高级视频工具(支持音频、高分辨率)
额外添加:
- resolution
 - fps
 - generate_audio
 
场景 3:图像生成视频工具
额外添加:
- image(图像上传字段)
 - motion_strength(运动强度)
 
验证清单
创建新工具页面后,检查以下项目:
-  所有 
[...]占位符都已替换 - URL slug 与文件名一致
 - 图片和视频资源已准备并路径正确
 -  appConfig 中的 
value字段与工具 slug 匹配 - 所有图片都有 alt 文本
 - HTML 标签语义正确(h1/h2/h3 层级)
 - FAQ 至少包含 5 个问题
 - Related section 列出了相关工具
 - Credits 配置完整且准确
 -  本地预览正常:
npm run dev - 配置已同步到 models.yaml
 -  配置已提交到 API:
node scripts/submit-configs.js 
故障排查
页面不显示
- 检查 
draft: false - 检查 YAML 语法(缩进必须用空格,不能用 Tab)
 - 检查 frontmatter 的分隔符 
--- 
模型选择器不工作
- 确保 
value与工具 slug 完全匹配 - 检查 models.yaml 和 model-config.js 是否同步
 
样式异常
- 清除 Hugo 缓存:
rm -rf resources/ - 重新构建 Tailwind:
npm run dev:generate 
appConfig 解析错误
- 检查 JavaScript 对象语法(注意逗号)
 - 确保字符串用引号包裹
 - 数组和对象正确闭合
 
进阶自定义
添加自定义字段
如需添加特殊参数,在 form 数组中添加:
{
  name: 'custom_param',
  type: 'slider',          // 或其他类型
  label: 'Custom Parameter',
  value: 50,
  min: 0,
  max: 100,
  step: 1,
  cols: 2
}
支持的字段类型
select- 下拉选择prompt- 文本输入radioGroup- 单选按钮组segmentedOptions- 分段选择器aspectRatioSelect- 宽高比选择switch- 开关slider- 滑块imageUpload- 图片上传
相关文档
- Hugo 模板系统:
themes/vidpix-hugo/layouts/ - 模块文档:
themes/vidpix-hugo/layouts/partials/article/ - 项目总体架构:
/CLAUDE.md - Hero 对比模块:
/docs/HERO-COMPARISON-USAGE.md 






