本文聚焦「AI Rap Video」垂直产品线,详解如何将一张自拍转化为对口型说唱短视频。内容涵盖本地无成本链路验证、TryAllAPI 视频接口对接以及项目 Fork 标准化流程,旨在提供可落地的技术实操指南。
(图注:GitHub 示例仓 maynoraivideo-ai-rap)
(图注:GitHub 通用模板仓 maynoraivideo)
1. 产品核心能力:自拍生成对口型说唱视频
用户操作流程简化为短视频流水线:
-
上传正脸或半身照(支持 JPEG/PNG/WebP,限制体积) -
选择视频时长(如 6s/12s/18s),积分消耗随秒数增加 -
扣除积分进入生成队列,生成成功后可下载;若失败、超时或被管理员终止,系统自动退还积分
底层逻辑基于「跟拍模板」:以模板源视频确定节奏与镜头,将用户上传的人脸融合至视频中。示例站主打 9:16 竖屏对口型说唱,采用一次性积分包模式,优先验证付费意愿。
技术生成链路分为四步:
1. 上传照片至 R2 uploads/(可选图片审核)
2. 扣除积分并写入 D1 generations 表,发送 Queues 消息
3. Worker 调用视频服务商(传入签名照片 URL + 模板 MP4)
4. 通过 Webhook 或轮询获取结果,成片存入 R2 outputs/ 并邮件通知;失败则退积分
整套架构运行于 Cloudflare 生态(Workers + D1 + R2 + KV + Queues)。视频生成默认接入 TryAllAPI(OpenAI 兼容聚合平台);本地开发及端到端测试使用 mock 模式,无需调用真实模型即可完整跑通业务闭环。
适用人群:
-
希望快速验证「说唱/对口型」类站点盈利模式的开发者 -
需在本地完成全链路验证后,再决定接入真实视频 API 的团队 -
计划基于示例仓二次开发垂直站点,而非从零构建脚手架的创业者
2. 本地 Mock 环境:零成本跑通业务闭环
克隆示例仓后,执行以下最小化启动步骤:
npm install # 建议 npm ≥ 11.19
cp .dev.vars.example .dev.vars # 至少设置 SESSION_SECRET
npm run seed:local # 执行 D1 迁移并将模板 MP4 导入本地 R2
npm run dev -- --host 127.0.0.1 # 仅绑定本机,避免使用 0.0.0.0
本地默认配置行为:
|
|
|
|
|---|---|---|
PAYMENT_PROVIDER |
mock |
|
VIDEO_PROVIDER |
mock |
|
|
|
|
|
|
|
ADMIN_EMAILS |
|
建议验收清单:
-
通过开发登录进入个人中心,确认积分显示正常(或通过 mock 购买增加积分) -
上传测试图片,选择 6s 时长,提交生成任务 -
等待队列消费完成,在下载页播放生成的「成片」 -
/admin后台检查生成任务状态与积分流水是否一致 -
(可选)测试异常路径:如积分不足、模拟审核拒绝(设置 MODERATION_PROVIDER=mock)
安全提示:开发环境登录、Mock 支付及 /api/dev/* 接口仅允许本机直连。若需联调 Stripe Webhook,请使用仓库提供的 scripts/webhook-proxy.mjs 脚本,严禁将整站暴露于公网。
3. 对接 TryAllAPI 视频服务
本地 Mock 验证无误后,可将视频提供商切换为 TryAllAPI。需在控制台创建 API Key 并妥善保存。
配置步骤:
-
在 TryAllAPI 控制台创建 API Key。本地开发写入 .dev.vars,生产环境使用wrangler secret put或scripts/sync-secrets.mjs注入 -
设置环境变量 VIDEO_PROVIDER=tryallapi -
在 src/config/site.ts的site.video.tryallapi中配置模型与 Prompt-
示例 Prompt 已预设为「参考图人物跟拍说唱模板、对口型、竖屏 9:16」 -
模型名称请依据控制台「模型广场」实际可用型号调整
-
-
可选配置 TRYALLAPI_BASE_URL,未设置则使用文档默认值 -
若上游支持 webhook_url,回调地址为/api/webhooks/tryallapi。系统仍会通过 API Key 回拉确认结果;Cron 任务会轮询滞留任务,超时失败并退还积分
若同时接入 Stripe 测试模式支付:
-
PAYMENT_PROVIDER=stripe -
STRIPE_PRODUCTS填写各积分包对应的 Price ID(price_…) -
Webhook 端点指向 /api/webhooks/stripe,处理 checkout、invoice、refund 等事件 -
将 STRIPE_SECRET_KEY和STRIPE_WEBHOOK_SECRET存入 Secrets
Google 登录回调地址为 /api/auth/google/callback。
密钥管理规范: 敏感信息仅存放于 .dev.vars 或 Wrangler Secrets,严禁写入 wrangler.jsonc、site.ts 或 README。若生产环境仍保留 mock 配置,结账与生成功能将直接返回 503 错误。
4. 项目 Fork 标准化清单
建议将示例仓作为「已配置 AI Rap 文案与模板」的起点。若需拓展其他热词领域,可复用通用模板仓的相同逻辑。
A. 建仓方式
git clone https://github.com/xianyu110/maynoraivideo-ai-rap.git my-rap && cd my-rap
git remote rename origin upstream # 保留原远程仓库引用
git remote add origin git@github.com:<你>/<新仓>.git
-
使用 git clone保留提交历史,便于后续合并上游更新(git merge upstream/main) -
禁止 使用 GitHub「Use this template」创建空仓库,这将导致丢失共同历史,增加后续合并难度
B. 修改站点差异层
|
|
|
|---|---|
src/config/site.ts |
|
src/content/en.ts
zh.ts
|
|
seed/templates/*.mp4 |
durations 配置匹配
|
public/demo/*
og.png
|
|
wrangler.jsonc |
|
package.json
name
|
|
共享业务代码建议在模板仓中修复,再合并至各站点仓。仓库内置 scripts/new-site.mjs、sync-plan.mjs 及 Claude Skill(new-hot-site / sync-upstream)可加速开发,但密钥与正式域名仍需人工确认。
C. 本地验收
npm run typecheck && npm test && npm run test:e2e && npm run seo:check
D. 部署前准备
-
创建 D1、R2、KV、Queues(含死信队列),并将 ID 更新至 wrangler 配置 -
执行 npm run db:migrate:remote,并将模板 MP4 上传至 R2templates/目录 -
同步 Secrets,将 PAYMENT_PROVIDER和VIDEO_PROVIDER切换为非 mock 模式 -
运行 npm run doctor进行健康检查,通过后执行npm run deploy -
绑定自定义域名后,使用 SMOKE_BASE_URL运行npm run test:smoke进行冒烟测试
doctor 脚本会拦截常见错误,如残留 mock 配置、缺失 Secrets、未清理的 TODO(site) 标记或 SITE_URL 不一致等。确保所有检查通过后再上线,避免「部署后仍运行在 mock 模式」的风险。
5. 核心差异:超越 Landing Page 的工程化细节
构建 AI Rap Video 站点的难点不在于首页文案,而在于后端工程化能力:
-
积分扣除后若未生成视频,需实现自动退款机制 -
完善的队列重试、死信处理及超时控制 -
后台需具备任务查询、成本统计及退款时间线追踪功能 -
数据合规:照片与成片保留期管理、举报下架流程及 AI 生成标识
示例仓(maynoraivideo-ai-rap)已整合上述逻辑及 TryAllAPI + Mock 路径;通用模板仓(maynoraivideo)提供同系底层支持。MaynorAI 在上游 ShrimpReel 整理了面向开源用户的 Stripe 与 TryAllAPI 集成文档。
建议实施路径:克隆示例仓 → Mock 环境跑通上传与出片 → 接入 TryAllAPI 测试 Key → 按 Fork 清单替换文案与素材 → 通过 Doctor 检查后部署。
链接汇总
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
https://ai-rap-video-maynor.chatgpt-plus.workers.dev/ |

