Videofly Docs
配置

价格配置

配置订阅计划、积分包和 AI 模型定价

重要: 所有价格和积分配置都在 src/config/pricing-user.ts 文件中管理。这是价格系统的唯一配置文件

本文档详细说明如何配置 VideoFly 的价格和积分系统,包括订阅计划、积分包和 AI 模型定价。


配置文件位置

文件路径: src/config/pricing-user.ts

这个文件包含所有价格和积分相关的配置:

  • 新用户赠送积分
  • 积分过期规则
  • 订阅产品(月付/年付)
  • 一次性积分包
  • AI 模型积分计费

自动生效: 修改 pricing-user.ts 后保存即可,前端价格数据会自动从该文件生成,无需重启服务器。


1. 新用户赠送配置

配置新用户注册时赠送的积分。

export const NEW_USER_GIFT = {
  enabled: true,        // 是否启用赠送
  credits: 2,           // 赠送积分数量
  validDays: 30,        // 积分有效期(天)
};

配置说明

字段类型说明
enabledboolean是否启用新用户赠送
creditsnumber赠送积分数量(建议使用低成本模型,如 Sora 2)
validDaysnumber积分有效期(天),过期后自动清除

成本考量

⚠️ 重要:仅赠送低成本模型!

不同模型的赠送建议:

  • ✅ Sora 2 Lite(2积分):可赠送 1 个
  • ⚠️ Veo 3.1(10积分):不建议赠送
  • ❌ Wan 2.6(25积分):不赠送

高成本模型会让新用户赠送变成成本负担。

模型成本1000新用户成本建议
Sora 2 Lite$0.02$20✅ 可赠送
Veo 3.1$0.14$140⚠️ 不推荐
Wan 2.6$0.35$350❌ 不赠送

2. 积分过期配置

配置不同类型积分的有效期。

export const CREDIT_EXPIRATION = {
  subscriptionDays: 30,   // 订阅积分有效期(天)
  purchaseDays: 365,      // 一次性购买积分有效期(天)
  warnBeforeDays: 7,      // 提前多少天提醒积分即将过期
};

配置说明

字段类型说明推荐值
subscriptionDaysnumber订阅积分有效期30 天(月付)
purchaseDaysnumber一次性购买积分有效期365 天(1年)
warnBeforeDaysnumber过期提醒提前天数7 天

过期策略

FIFO 消费原则: 积分按照先过期先使用的原则消耗。

例如:

  • 用户有 2 个积分包:A(30天后过期)和 B(100天后过期)
  • 生成视频消耗积分时,优先使用包 A 的积分

3. 订阅产品配置

配置月付和年付订阅计划。

export const SUBSCRIPTION_PRODUCTS = [
  {
    id: "prod_4yNyvLWQ88n8AqJj35uOvK", // Creem Product ID(必填)
    name: "Basic Plan",
    priceUsd: 9.9,          // 价格(美元)
    credits: 280,            // 每周期积分
    period: "month",         // "month" 或 "year"
    popular: false,          // 是否推荐
    enabled: true,           // 是否启用
    features: ["hd_videos", "fast_generation"],
  },
  // ... 更多产品
];

字段说明

字段类型必填说明
idstringCreem Product ID(格式:prod_xxx
namestring显示名称
priceUsdnumber价格(美元,如 9.9 表示 $9.90)
creditsnumber每周期赠送积分数(必须是整数)
period"month" | "year"付费周期
popularboolean是否标记为推荐(最多选1-2个)
enabledboolean是否启用该产品
featuresstring[]功能特性列表

Creem Product ID 配置流程

创建产品
  1. 登录 Creem Dashboard
  2. 创建订阅产品(Subscription)
  3. 设置产品名称、价格、描述
复制 Product ID

在产品列表中,复制产品的 Product ID(格式:prod_xxx

更新配置文件

将 Product ID 粘贴到 pricing-user.ts 对应产品的 id 字段

配置 Webhook

在 Creem Dashboard 设置 Webhook URL:

https://yourdomain.com/api/auth/creem/webhook

产品规划示例

月付订阅(3个)

名称价格积分/月基准视频数推荐度
Basic$9.90280~28-
Pro ⭐$29.90960~96推荐
Ultimate$79.902,850~285-

年付订阅(3个)

年付优惠: 年付价格 = 月付 × 10(买 10 送 2,省 2 个月)

  • Basic: $9.90 × 10 = $99
  • Pro: $29.90 × 10 = $299
  • Ultimate: $79.90 × 10 = $799
名称年付价积分/年基准视频数折扣
Basic$993,360~33617% OFF
Pro ⭐$29911,520~1,15217% OFF
Ultimate$79934,200~3,42017% OFF

4. 积分包配置

配置一次性购买的积分包。

export const CREDIT_PACKAGES: CreditPackageConfig[] = [
  {
    id: "prod_xxx",         // Creem Product ID
    name: "Starter Pack",
    priceUsd: 14.9,
    credits: 280,
    popular: false,
    enabled: true,
    allowFreeUser: true,    // 是否允许免费用户购买
    features: ["hd_videos", "fast_generation"],
  },
  // ... 更多积分包
];

字段说明

字段类型必填说明
idstringCreem Product ID(格式:prod_xxx
namestring显示名称
priceUsdnumber价格(美元)
creditsnumber积分数(必须是整数)
popularboolean是否标记为推荐
enabledboolean是否启用
allowFreeUserboolean是否允许免费用户购买(默认 true
featuresstring[]功能特性列表

allowFreeUser 说明

购买限制

  • allowFreeUser: true - 所有用户都可以购买
  • allowFreeUser: false - 只有订阅用户才能购买

设计目的:引导免费用户转为订阅用户。

积分包规划示例

名称价格积分基准视频数购买限制
Starter$14.90280~28所有用户
Standard ⭐$39.90960~96订阅用户
Pro$99.902,850~285订阅用户

设计原则

  1. 积分包 > 月付: 积分包单价比月付贵 25-35%(引导订阅)
  2. 积分越多越优惠: 大额积分包提供更好的单价
  3. 分层限制: 入门包开放给所有用户,高级包仅限订阅用户

5. AI 模型积分计费

配置不同 AI 模型的积分消耗规则。

export const VIDEO_MODEL_PRICING: Record<string, VideoModelPricing> = {
  "veo-3.1": {
    baseCredits: 10,        // 基础积分
    perSecond: 0,           // 每秒积分(固定价格用 0)
    enabled: true,
  },
  "sora-2": {
    baseCredits: 2,
    perSecond: 0,
    enabled: true,
  },
  "wan2.6": {
    baseCredits: 25,        // 5秒 720p = 25积分
    perSecond: 5,           // 每秒 = 5积分
    qualityMultiplier: 1.67, // 1080p = 720p × 1.67
    enabled: true,
  },
  "seedance-1.5-pro": {
    baseCredits: 0,         // 不使用 baseCredits
    perSecond: 4,           // 720p 有音频: 4积分/秒
    qualityMultiplier: 2,   // 1080p = 720p × 2
    enabled: true,
  },
};

字段说明

字段类型必填说明
baseCreditsnumber基础积分(最短时长、最低画质)
perSecondnumber每秒积分(用于按秒计费的模型)
qualityMultipliernumber画质乘数(1080p vs 720p)
enabledboolean是否启用该模型

计费模式

1. 固定价格模式

适用于价格固定的模型(如 Veo 3.1, Sora 2):

{
  baseCredits: 10,   // 固定 10 积分/视频
  perSecond: 0,      // 不按秒计费
}

2. 时长计费模式

适用于按时长计费的模型(如 Wan 2.6):

{
  baseCredits: 25,   // 5秒基础积分
  perSecond: 5,      // 每增加1秒 +5积分
}
// 计算:5秒 = 25积分,10秒 = 25 + 5×5 = 50积分

3. 按秒计费模式

适用于完全按秒计费的模型(如 Seedance):

{
  baseCredits: 0,    // 不使用基础积分
  perSecond: 4,      // 每秒 4 积分
}
// 计算:5秒 = 5×4 = 20积分,10秒 = 10×4 = 40积分

画质乘数

画质乘数说明qualityMultiplier 用于计算高画质的积分消耗。

示例(Wan 2.6):

  • 720p(5秒)= 25 积分
  • 1080p(5秒)= 25 × 1.67 = 42 积分(向上取整)

6. 定价策略参考

详细的定价策略和成本分析,请参阅:定价策略文档

快速定价指南

确定基准模型

选择 Veo 3.1 Fast Lite 作为定价基准:

  • ✅ 固定价格(10 积分,不受分辨率影响)
  • ✅ 成本稳定($0.14/视频)
  • ✅ 适合大多数用户场景

设置订阅积分

计划月付积分年付积分视频数/月目标用户
Basic2803,360~28轻度用户
Pro96011,520~96专业用户
Ultimate2,85034,200~285重度用户

设置积分包

名称积分价格vs 月付购买限制
Starter280$14.90同 Basic所有用户
Standard960$39.90+33% vs Pro订阅用户
Pro2,850$99.90+25% vs Ultimate订阅用户

7. 配置验证

检查清单

配置完成后,请检查以下项目:

基础配置
  • NEW_USER_GIFT 配置合理
  • CREDIT_EXPIRATION 设置正确
  • 所有产品的 enabled 字段正确
Creem 配置
  • 所有 id 字段都填入了 Creem Product ID
  • Product ID 格式正确(prod_xxx
  • Webhook URL 已配置
价格验证
  • 价格数值合理(美元)
  • 积分数值为整数
  • 年付 = 月付 × 10
功能测试
  • 前端价格页面显示正确
  • 订阅流程正常
  • 积分购买流程正常

常见错误

⚠️ 常见配置错误

  1. 忘记填写 Product ID - id: "prod_xxx" 未替换
  2. 价格格式错误 - 使用了美分而不是美元(应该用 9.9 而不是 990
  3. 积分数值错误 - 使用了小数而不是整数
  4. 年付价格错误 - 未按照 月付 × 10 计算

8. 修改配置

如何修改价格

直接编辑 src/config/pricing-user.ts

{
  id: "prod_xxx",
  name: "Basic Plan",
  priceUsd: 12.9,  // ← 修改价格
  credits: 300,     // ← 修改积分
  // ...
}

修改后保存文件,前端价格数据会自动更新,无需重启服务器。

如何禁用产品

将产品的 enabled 设为 false

{
  id: "prod_xxx",
  enabled: false,  // ← 禁用该产品
  // ...
}

如何添加新模型

VIDEO_MODEL_PRICING 中添加新配置:

export const VIDEO_MODEL_PRICING = {
  // ... 现有模型
 
  "new-model": {
    baseCredits: 15,
    perSecond: 0,
    enabled: true,
  },
};

9. 相关文档

配置相关

  • 价格配置(本文档) - 价格和积分配置(主要配置文档)
    • 订阅计划配置(月付/年付)
    • 积分包配置
    • AI 模型定价配置
    • 新用户赠送配置
    • 积分过期规则
  • 环境配置 - 环境变量配置(数据库、APIKey、支付等)
  • 支付配置 - Creem 和 Stripe 支付集成

策略相关

安装部署


10. 故障排查

问题:前端价格没有更新

解决方案

  1. 确认 pricing-user.ts 已保存
  2. 清除浏览器缓存
  3. 检查前端是否正确导入配置

问题:Creem Webhook 不工作

解决方案

  1. 确认 Webhook URL 配置正确:https://yourdomain.com/api/auth/creem/webhook
  2. 检查 CREEM_WEBHOOK_SECRET 环境变量
  3. 查看 Better Auth Creem 插件日志

问题:积分消耗不正确

解决方案

  1. 检查 VIDEO_MODEL_PRICING 配置
  2. 确认前端和后端的积分计算逻辑一致
  3. 查看积分服务日志

最后更新: 2026-02-02