Videofly Docs

积分系统

了解和配置 VideoFly 的核心积分逻辑

VideoFly 采用灵活的积分(Credits)系统来管理 AI 视频生成的消耗。这不仅能控制成本,还能为用户提供清晰的价值感知。

所有的积分配置都集中在 src/config/credits.ts 文件中,您可以轻松修改。

1. 积分基本概念

在系统中,积分为整数。通常我们将 1 积分 定价为 1 美分 (0.01 USD) 的价值锚点,但这完全取决于您的定价策略。

  • 获取积分: 用户通过注册赠送、订阅每月发放、或一次性购买获取。
  • 消耗积分: 生成视频时,根据模型类型、时长、画质扣除相应积分。

2. 修改新用户赠送

想在用户注册时赠送更多免费积分以吸引用户?

打开 src/config/credits.ts,找到 registerGift 配置块:

// src/config/credits.ts
 
export const CREDITS_CONFIG = {
  // ...
  registerGift: {
    // 是否开启赠送
    enabled: true, 
    // 赠送数量(例如改成了 100)
    amount: 50,    
    // 积分有效期(天)
    expireDays: 30, 
  },
  // ...
}

您也可以通过环境变量来控制,而无需修改代码:

# .env.local
CREDIT_NEW_USER_AMOUNT="100"

3. 调整模型消耗 (定价)

不同的 AI 模型成本不同。您可以为每个模型单独设置积分消耗规则。

models 配置块中:

// src/config/credits.ts
 
models: {
  "sora-2": {
    // ...
    creditCost: {
      base: 10,              // 基础消耗:生成一次扣 10 积分
      perExtraSecond: 2,     // 额外时长:每多 1 秒多扣 2 积分
    },
  },
  "veo-3.1": {
    // ...
    creditCost: {
      base: 60,              // 固定消耗 60 积分,不论时长
      perExtraSecond: 0,
    },
  },
}

示例计算: 如果 sora-2base 是 10(对应 10秒视频),perExtraSecond 是 2。 生成一个 15秒 的视频,消耗 = 10 + (15-10) * 2 = 20 积分

4. 自定义积分包

您可以在 subscriptions(订阅)和 packages(一次性购买)中定义自己的销售套餐。

// src/config/credits.ts
 
basic_monthly: {
  id: "prod_sub_basic_monthly", // 对应 Stripe/Creem 产品 ID
  credits: 100,                 // 该套餐包含多少积分
  price: {
    amount: 990,                // 显示价格(美分),即 $9.90
    currency: "USD",
  },
  // ...
}

5. 常见问题

Q: 积分会过期吗? A: 是的。默认情况下:

  • 订阅赠送的积分有效期为 30天(随订阅周期刷新)。
  • 一次性购买的积分有效期默认为 365天。 这可以在 CREDITS_CONFIG.expiration 中修改。

Q: 如何给特定用户手动充值? A: 目前您可以通过直接修改数据库 (credit_packages 表) 或在即将推出的 Admin 后台进行操作。

On this page