Files
meijiaka-zy/python-api/config/points-config.yaml
T
小鱼开发 53371aabcd feat(image): 封面形象抠图增加积分消耗(每次 10 积分)
- config/points-config.yaml: 添加 cover_avatar: 10 固定积分
- point_service.py: _CATEGORY_MAP 添加 cover_avatar → 封面形象
- image.py: remove_background 接口前置余额检查 + 后置扣费
- CoverAvatarLibrary.tsx: 上传弹窗显示积分提示,余额不足友好提示
2026-05-23 10:59:47 +08:00

93 lines
4.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 积分计费配置
# =============
# 修改此文件即可调整各业务积分价格,无需改动代码。重启服务后生效。
#
# 配置结构说明:
# - fixed_costs: 固定积分业务(与使用量无关)
# - duration_based_costs: 按秒计费业务(根据产出内容的实际/预估时长计算)
# - free_services: 不扣积分的业务(黑名单)
# ── 固定积分业务 ──────────────────────────────────────
# 计费公式:消耗积分 = points(与输入输出量无关)
fixed_costs:
# 脚本生成:根据用户输入的装修需求,AI 生成视频脚本文案
script: 5
# 文案润色:对已有脚本进行改写、优化、调整语气风格
polish: 1
# 标题生成:根据脚本内容自动生成多个标题建议
title: 1
# 声音复刻:录制用户声音样本,训练专属 TTS 音色(一次性高成本操作)
voice_clone: 200
# 字幕烧录:将生成的字幕文件烧录到视频中(FFmpeg 合成)
subtitle_burn: 5
# 封面设计:根据视频内容自动生成封面图
cover_design: 5
# 封面形象:上传人物照片 AI 抠图生成透明背景形象
cover_avatar: 10
# 压制成片:将多个素材片段合并为最终视频(FFmpeg 拼接)
compose: 5
# ── 按秒计费业务 ──────────────────────────────────────
# 计费公式见各业务下的注释。共性参数:
# min_points: 最低扣费积分(即使时长极短也至少扣这个数)
# estimation: 执行业务前的预估参数(用于余额检查,取保守估计)
duration_based_costs:
# ── TTS(文字转语音)──
# 计费公式:max(min_points, ceil(实际音频秒数 / divisor))
# 示例:12秒音频 → ceil(12/5) = 3 积分
tts:
divisor: 5 # 每 5 秒为 1 个计费单位
min_points: 1 # 最短音频也至少扣 1 积分
# 预估参数(执行业务前检查余额时使用)
estimation:
# 每个中文字符预估时长(秒)。
# 计算依据:中文正常朗读语速约 200~250 字/分钟,取 240 字/分钟:
# 60秒 ÷ 240字 = 0.25 秒/字
# 注意:此为经验值,未经过 Vidu TTS 实测校准。实际时长受标点停顿、
# 数字/英文混合、TTS 角色风格等因素影响,误差约 ±20%。
# TODO: 收集实测数据后校准此值。
seconds_per_char: 0.25
# ── 视频生成 ──
# 计费公式:max(min_points, ceil(实际视频秒数) × multiplier)
# 说明:秒数先向上取整为整数,再乘以 multiplier。不足 1 秒按 1 秒计算。
# 示例:4.5秒视频 → ceil(4.5) × 1 = 5 积分;0.8秒 → ceil(0.8) × 1 = 1 积分
video:
multiplier: 1 # 每秒视频消耗 1 积分
min_points: 1 # 最短视频也至少扣 1 积分
# 预估参数(执行业务前检查余额时使用)
estimation:
# 视频生成时长 = 输入音频时长,因此用 input_seconds 预估最准确。
# 调用方需传入 input_seconds 参数。
use_input_seconds: true
# ── 充值档位配置 ──────────────────────────────────────
# 前端充值弹窗展示的选项,由后端统一控制。
# 支持积分赠送:points 为实际到账积分数,amount_rmb 为支付金额(分)。
# label 为空时不显示标签角标。
recharge_options:
- { price: 10000, points: 2000, label: "", validity_days: 90 }
- { price: 50000, points: 11000, label: "热销", validity_days: 180 }
- { price: 100000, points: 22500, label: "推荐", validity_days: 180 }
- { price: 500000, points: 120000, label: "超值", validity_days: 365 }
# ── 免费业务(不扣积分)───────────────────────────────
# 以下业务仅提取/处理数据,不产生 AI 生成内容,故不扣积分。
free_services:
# 字幕生成:从视频中提取字幕文本(火山引擎字幕识别)
- caption