feat(#2039): 爆款视频 REST API + Celery 10步编排器(PR2/2) #2099

Closed
xiaoxia wants to merge 1 commits from feat/2039-viral-video-api into develop
Owner

#2039 爆款视频 v1.2+v1.3 — PR2:API + 编排器

依赖 PR1 #2098(DB 模型 + migration)合并后本 PR 自动 retarget 到 develop。

领域层

  • ViralVideoJob 状态机:PENDING → RUNNING ⇄ WAIT_USER_CONFIRM → COMPLETED/FAILED/CANCELLED
  • 11 阶段枚举;PromptType 7 值:image_analysis/intent_parsing/copy_fusion/storyboard/review/video_style_integration/style_constraint

Repository

  • jobs/style_templates/prompt_templates 三个仓储接口 + SQLAlchemy 实现

REST API(6 端点)

  • POST /generate、GET /history、GET /{id}、POST /{id}/retry、POST /{id}/confirm-intent、POST /analyze-style、GET /style-templates

Celery ViralVideoOrchestrator(10 步流水线)

图片 VLM → 视频风格分析 → 意图解析(暂停等确认)→ 文案融合 → 分镜 → 合规审核 → CosyVoice → BGM → UnifiedRender(+MuseTalk)→ OSS上传

  • WS 事件 viral_video:progress
  • Credits 50 点扣点,失败自动回滚

测试

  • 40 个单测:domain/schema/repository/流水线/端到端集成
  • #2051 video_analyzer 用 try/except ImportError 占位,不阻塞合入

🤖 Generated by Agent

## #2039 爆款视频 v1.2+v1.3 — PR2:API + 编排器 依赖 PR1 #2098(DB 模型 + migration)合并后本 PR 自动 retarget 到 develop。 ### 领域层 - `ViralVideoJob` 状态机:PENDING → RUNNING ⇄ WAIT_USER_CONFIRM → COMPLETED/FAILED/CANCELLED - 11 阶段枚举;PromptType 7 值:image_analysis/intent_parsing/copy_fusion/storyboard/review/video_style_integration/style_constraint ### Repository - jobs/style_templates/prompt_templates 三个仓储接口 + SQLAlchemy 实现 ### REST API(6 端点) - POST /generate、GET /history、GET /{id}、POST /{id}/retry、POST /{id}/confirm-intent、POST /analyze-style、GET /style-templates ### Celery ViralVideoOrchestrator(10 步流水线) 图片 VLM → 视频风格分析 → 意图解析(暂停等确认)→ 文案融合 → 分镜 → 合规审核 → CosyVoice → BGM → UnifiedRender(+MuseTalk)→ OSS上传 - WS 事件 viral_video:progress - Credits 50 点扣点,失败自动回滚 ### 测试 - 40 个单测:domain/schema/repository/流水线/端到端集成 - #2051 video_analyzer 用 try/except ImportError 占位,不阻塞合入 ## 🤖 Generated by Agent
xiaoxia changed target branch from feat/2039-viral-video-db to develop 2026-09-29 22:22:18 +08:00
xiaoxia added 1 commit 2026-09-29 22:22:18 +08:00
feat(#2039): viral video domain + repository + REST API + Celery orchestrator(PR2/2)
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m44s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 53s
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
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 29s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m3s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m32s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m4s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 6m19s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 6m7s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 3m30s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (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 / 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 / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
6636dc45f7
- domain: ViralVideoJob 状态机(PENDING/RUNNING/WAIT_USER_CONFIRM/COMPLETED/FAILED/CANCELLED)、
  11 阶段枚举、PromptType 7 值(含 v1.3 video_style_integration/style_constraint)
- repository: 接口 + SQLAlchemy 实现(jobs/style_templates/prompt_templates)
- API: 6 个 REST 端点(generate/history/detail/retry/confirm-intent/analyze-style/style-templates)
- Celery: ViralVideoOrchestrator 10 步流水线,WS viral_video:progress 进度推送,
  Credits CREDITS_VIRAL_VIDEO_COST=50 扣点/失败自动回滚
- ai_service: 新增 call_llm/call_vision(复用现有豆包客户端)
- 测试 40 个单测(domain/schema/repository/流水线/集成)
xiaoxia closed this pull request 2026-09-30 08:03:00 +08:00
xiaoxia reopened this pull request 2026-09-30 08:03:22 +08:00

🗑️ 预览环境已清理

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

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

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

🚀 预览环境已部署

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

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

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

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

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #2099 | | 预览链接 | [https://pr-2099.preview.xiaoxiajianji.com](https://pr-2099.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
auto-approve-bot added 1 commit 2026-09-30 08:19:29 +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 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 28s
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m37s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 36s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m59s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m48s
AI Code Review / AI Code Review (pull_request) Successful in 7m38s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 6m35s
PR Automation / Auto Approve on CI Green (pull_request) Failing after 11m1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Security (pull_request) Successful in 12m30s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 12m11s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 31s
b127c115b6
xiaoxia closed this pull request 2026-09-30 09:52:13 +08:00

🗑️ 预览环境已清理

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

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

🗑️ **预览环境已清理** PR #2099 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Some checks are pending
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 4s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 28s
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m37s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 36s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m59s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 5m48s
AI Code Review / AI Code Review (pull_request) Successful in 7m38s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 6m35s
PR Automation / Auto Approve on CI Green (pull_request) Failing after 11m1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Security (pull_request) Successful in 12m30s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 12m11s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 1s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 31s

Pull request closed

Sign in to join this conversation.