c6eba97b43
后端: - 简化积分服务: 删除 freeze/settle/refund, 保留 consume/recharge/expire - 计费配置化: config/points-config.yaml 驱动 fixed/duration/free 三种模式 - TTS 时长探测: app/utils/audio_utils.py (httpx + mutagen 纯 Python) - Python 层扣费: script(5)/polish(1)/title(1)/voice_clone(200)/tts(按秒)/video(按秒) - 字幕 free_services: caption/auto_align 不扣费 - 新增 POST /points/consume 端点(402余额预检) - 新增 check_balance + /points/cost 返回 sufficient/balance/required - 新增 expire_batches 定时回收, 接入 scheduler main(每5分钟) - 删除废弃 tts_handler.py - Alembic 迁移: 删除 frozen/total_refunded 字段 - 同步 requirements.lock 添加 mutagen 前端: - Rust/IPC 层扣费: compose(5)/subtitle_burn(2)/cover_design(2) - 字幕打轴改异步: 走 scheduler subtitle handler - 对口型传 duration: VideoGeneration 传 actualDuration - 创建 pointStore: 全局余额 + fetchBalance + 充值弹窗控制 - 402 欠费弹 RechargeModal: VideoGeneration/SubtitleBurning/CoverDesign - 修复 VoiceDubbing.tsx 类型错误 (alignResult never) - 同步 PointBalance 类型(删除 frozen/available/totalRefunded) Refs: 积分消耗集成收尾
184 lines
3.7 KiB
Plaintext
184 lines
3.7 KiB
Plaintext
# This file was autogenerated by uv via the following command:
|
|
# uv pip compile pyproject.toml -o requirements.lock
|
|
aiohappyeyeballs==2.6.1
|
|
# via aiohttp
|
|
aiohttp==3.13.5
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
aiosignal==1.4.0
|
|
# via aiohttp
|
|
alembic==1.14.1
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
annotated-doc==0.0.4
|
|
# via fastapi
|
|
annotated-types==0.7.0
|
|
# via pydantic
|
|
anyio==4.13.0
|
|
# via
|
|
# httpx
|
|
# openai
|
|
# starlette
|
|
# volcengine-python-sdk
|
|
# watchfiles
|
|
asyncpg==0.30.0
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
attrs==26.1.0
|
|
# via aiohttp
|
|
bcrypt==4.2.1
|
|
# via
|
|
# meijiaka-ai-api (pyproject.toml)
|
|
# passlib
|
|
certifi==2026.4.22
|
|
# via
|
|
# httpcore
|
|
# httpx
|
|
# requests
|
|
# volcengine-python-sdk
|
|
cffi==2.0.0
|
|
# via cryptography
|
|
charset-normalizer==3.4.7
|
|
# via requests
|
|
click==8.3.3
|
|
# via uvicorn
|
|
cryptography==48.0.0
|
|
# via
|
|
# python-jose
|
|
# volcengine-python-sdk
|
|
distro==1.9.0
|
|
# via openai
|
|
ecdsa==0.19.2
|
|
# via python-jose
|
|
fastapi==0.136.1
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
frozenlist==1.8.0
|
|
# via
|
|
# aiohttp
|
|
# aiosignal
|
|
greenlet==3.5.0
|
|
# via sqlalchemy
|
|
h11==0.16.0
|
|
# via
|
|
# httpcore
|
|
# uvicorn
|
|
httpcore==1.0.9
|
|
# via httpx
|
|
httptools==0.7.1
|
|
# via uvicorn
|
|
httpx==0.28.1
|
|
# via
|
|
# meijiaka-ai-api (pyproject.toml)
|
|
# openai
|
|
# volcengine-python-sdk
|
|
idna==3.13
|
|
# via
|
|
# anyio
|
|
# httpx
|
|
# requests
|
|
# yarl
|
|
jiter==0.14.0
|
|
# via openai
|
|
mako==1.3.12
|
|
# via alembic
|
|
markupsafe==3.0.3
|
|
# via mako
|
|
multidict==6.7.1
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
mutagen==1.47.0
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
openai==1.58.1
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
orjson==3.11.9
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
passlib==1.7.4
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
propcache==0.4.1
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
psycopg2-binary==2.9.12
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
pyasn1==0.4.8
|
|
# via
|
|
# python-jose
|
|
# rsa
|
|
pycparser==3.0
|
|
# via cffi
|
|
pydantic==2.9.2
|
|
# via
|
|
# meijiaka-ai-api (pyproject.toml)
|
|
# fastapi
|
|
# openai
|
|
# pydantic-settings
|
|
# volcengine-python-sdk
|
|
pydantic-core==2.23.4
|
|
# via pydantic
|
|
pydantic-settings==2.6.1
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
python-dateutil==2.9.0.post0
|
|
# via volcengine-python-sdk
|
|
python-dotenv==1.2.2
|
|
# via
|
|
# pydantic-settings
|
|
# uvicorn
|
|
python-jose==3.4.0
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
python-multipart==0.0.27
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
pyyaml==6.0.3
|
|
# via
|
|
# meijiaka-ai-api (pyproject.toml)
|
|
# uvicorn
|
|
qiniu==7.13.2
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
redis==5.2.1
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
requests==2.33.1
|
|
# via qiniu
|
|
rsa==4.9.1
|
|
# via python-jose
|
|
six==1.17.0
|
|
# via
|
|
# ecdsa
|
|
# python-dateutil
|
|
# volcengine-python-sdk
|
|
sniffio==1.3.1
|
|
# via openai
|
|
sqlalchemy==2.0.49
|
|
# via
|
|
# meijiaka-ai-api (pyproject.toml)
|
|
# alembic
|
|
starlette==1.0.0
|
|
# via fastapi
|
|
tenacity==9.0.0
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
tqdm==4.67.3
|
|
# via openai
|
|
typing-extensions==4.15.0
|
|
# via
|
|
# alembic
|
|
# fastapi
|
|
# openai
|
|
# pydantic
|
|
# pydantic-core
|
|
# sqlalchemy
|
|
# typing-inspection
|
|
typing-inspection==0.4.2
|
|
# via fastapi
|
|
urllib3==2.7.0
|
|
# via
|
|
# requests
|
|
# volcengine-python-sdk
|
|
uvicorn==0.32.1
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
uvloop==0.22.1
|
|
# via uvicorn
|
|
volcengine-python-sdk==5.0.26
|
|
# via meijiaka-ai-api (pyproject.toml)
|
|
watchfiles==1.1.1
|
|
# via uvicorn
|
|
websockets==16.0
|
|
# via uvicorn
|
|
yarl==1.23.0
|
|
# via aiohttp
|