feat(points): P2 step 2.6 - ai_avatar_render 数字人渲染 points gate #1943

Merged
auto-approve-bot merged 11 commits from feat/points-avatar-render-gate into develop 2026-09-16 02:47:04 +08:00
Owner

#1895 P2 扣点接入 - AI 数字人渲染

  • create_render_job() 扣 ai_digital_human 积分(per_unit=15 固定15分/次)
  • @points_gate 装饰器自动退费
  • 3个新单测 + 既有用例 autouse 关闭闸门
#1895 P2 扣点接入 - AI 数字人渲染 - create_render_job() 扣 ai_digital_human 积分(per_unit=15 固定15分/次) - @points_gate 装饰器自动退费 - 3个新单测 + 既有用例 autouse 关闭闸门

🚀 预览环境已部署

项目 详情
PR号 #1943
预览链接 https://pr-1943.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1943 | | 预览链接 | [https://pr-1943.preview.xiaoxiajianji.com](https://pr-1943.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia force-pushed feat/points-avatar-render-gate from 0c135ca206 to 35241eded4 2026-09-15 22:52:14 +08:00 Compare
xiaoxia force-pushed feat/points-avatar-render-gate from 8ff3663fe3 to f6bbe74a60 2026-09-16 00:27:49 +08:00 Compare
xiaoxia added 8 commits 2026-09-16 00:57:09 +08:00
- synthesize(): deduct ai_voice points (1/min, est ceil(chars/240)), refund on workflow/Celery failure
- preview_tts(): deduct ai_voice points, refund on CosyVoiceError/ValueError
- get_voice_clone_preview(): deduct voice_clone_synth points (1/min), refund on CosyVoiceError/ValueError
- All points logic gated by settings.points_enabled (default false)
- Raises HTTP 402 INSUFFICIENT_POINTS when balance insufficient
test(points): add unit tests for TTS + voice_clone preview points gating
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 20s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m11s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m41s
AI Code Review / AI Code Review (pull_request) Successful in 7m7s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 14s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 17s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Failing after 13m0s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 5m9s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m8s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 14h12m47s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 14h12m8s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 13h56m59s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 14h12m3s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 14h12m3s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 14h19m17s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 13h56m58s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 13h56m58s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 13h56m26s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 13h56m27s
3862d9158f
- Estimate minutes (ceil(chars/240), min 1) parametrized
- Disabled gate (zero cost), min cost, insufficient (402), member discount
- Refund called on exception
- voice_clone_synth scene cost validation
feat(points): P2 step 2.2 - wire lipsync points gate
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m37s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m0s
AI Code Review / AI Code Review (pull_request) Successful in 6m59s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 9s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 11s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m52s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 5m57s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 6m53s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 14h11m41s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 14h10m57s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 14h10m58s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 14h11m6s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 14h18m53s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 14h10m57s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 14h11m6s
6084b2f662
- create_lipsync_job(): deduct ai_digital_human points (15/min), estimated from audio_duration (if provided) or script_text (chars/240), min 1 min; refund on ValueError/MediaKitError/Exception; refund on failed job
- preview_tts(): deduct ai_digital_human points by script_text length; refund on MediaKitError/Exception
- Both gated by settings.points_enabled (default false)
- Raises HTTP 402 INSUFFICIENT_POINTS on insufficient balance
- 14 new unit tests; 15468 total passed
- extract_from_douyin: @points_gate("douyin_extract") 1分/次
- ai_rewrite: @points_gate("ai_rewrite") 1分/次
- ai_generate_titles: @points_gate("ai_title") 1分/次
- All gated by settings.points_enabled (default false)
- Refund on exception handled by decorator
- Renamed authenticated_user → current_user in route + tests for decorator compat
- 4 new points tests; 32+4=36 scripts_ai tests pass; 15472 total passed
feat(points): P2 step 2.5 - wire generation_preview points gate (ai_video scene)
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m17s
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 14h11m4s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 11s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 11s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 10s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 11s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 14h7m51s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 14h10m21s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 14h10m21s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 14h17m36s
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 14h8m1s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 14h8m1s
b5a593feb9
feat(points): P2 step 2.6 - wire ai_avatar_render points gate (ai_digital_human per_unit=15)
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m13s
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 14h5m24s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 14h5m30s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 5m50s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 22s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 23s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 14h4m36s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 14h4m46s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 14h4m46s
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 14h4m46s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 14h16m45s
a7317bb8e4
xiaoxia force-pushed feat/points-avatar-render-gate from f6bbe74a60 to a7317bb8e4 2026-09-16 00:57:09 +08:00 Compare
xiaoxia force-pushed feat/points-avatar-render-gate from 0f4504381a to a7317bb8e4 2026-09-16 01:32:02 +08:00 Compare
xiaoxia added 2 commits 2026-09-16 01:43:27 +08:00
test(points): add lipsync endpoint tests for insufficient/refund paths
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m53s
AI Code Review / AI Code Review (pull_request) Successful in 6m36s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 18s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 18s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m2s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 13h18m40s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 13h18m59s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 13h17m55s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 13h17m56s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 13h17m57s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 13h18m16s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 13h32m25s
087dc3714e
auto-approve-bot added 1 commit 2026-09-16 02:10:34 +08:00
style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 3s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m22s
AI Code Review / AI Code Review (pull_request) Successful in 6m28s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m40s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m42s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m58s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m30s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m42s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 6m27s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 12m27s
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m45s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 25s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 40s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 12h37m18s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 12h47m49s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 12h38m54s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 12h46m56s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 12h48m19s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 12h48m19s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 12h48m19s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 12h36m35s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 12h36m35s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 12h36m36s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 12h38m45s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 12h36m33s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 12h38m45s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 12h38m45s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 12h38m55s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 12h38m46s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 12h38m54s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 12h47m9s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 13h5m49s
d0a3dfa9df
auto-approve-bot merged commit 8b69a6e18b into develop 2026-09-16 02:47:04 +08:00
auto-approve-bot deleted branch feat/points-avatar-render-gate 2026-09-16 02:47:05 +08:00

🗑️ 预览环境已清理

PR #1943 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1943 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.