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

Closed
xiaoxia wants to merge 1 commits from feat/2039-viral-video-api into develop
5 changed files with 4 additions and 8 deletions
-1
View File
@@ -6,7 +6,6 @@ from datetime import datetime
from pydantic import BaseModel, Field, field_validator
# ── 枚举常量 ─────────────────────────────────────────────────────────────
VALID_FUSION_LEVELS = ("ai_full", "ai_polish", "user_primary")
+1 -1
View File
@@ -313,8 +313,8 @@ def _step_bgm_select(job: ViralVideoJob) -> str:
def _step_render(job: ViralVideoJob, storyboard: list[dict], audio_url: str, bgm: str) -> str:
"""步骤 8: UnifiedRenderService 渲染。"""
try:
from video_processing.unified_render_service import UnifiedRenderService
from video_processing.render_adapter import build_render_plan
from video_processing.unified_render_service import UnifiedRenderService
render_plan = build_render_plan(
images=job.images,
@@ -6,8 +6,8 @@ from sqlalchemy.orm import Session
from packages.adapters.sqlalchemy_impl.models import (
ViralVideoJobModel,
ViralVideoStyleTemplateModel,
ViralVideoPromptTemplateModel,
ViralVideoStyleTemplateModel,
)
from packages.domain.viral_video import ViralVideoJob, ViralVideoStatus
-1
View File
@@ -9,7 +9,6 @@
from __future__ import annotations
import sys
from dataclasses import dataclass, field
from datetime import datetime, timezone
+2 -4
View File
@@ -13,9 +13,8 @@ from __future__ import annotations
from datetime import datetime, timezone
from unittest.mock import MagicMock, patch
from pydantic import ValidationError
import pytest
from pydantic import ValidationError
from packages.domain.viral_video import (
CREDITS_VIRAL_VIDEO_COST,
@@ -27,7 +26,6 @@ from packages.domain.viral_video import (
ViralVideoStatus,
)
# ── 领域模型测试 ─────────────────────────────────────────────────────────
@@ -326,10 +324,10 @@ class TestViralVideoRepository:
assert repo.count_pending_by_user("user-001") == 2
def test_style_template_repo(self, db_session):
from packages.adapters.sqlalchemy_impl.models import ViralVideoStyleTemplateModel
from packages.adapters.sqlalchemy_impl.viral_video_repository import (
SQLAlchemyViralVideoStyleTemplateRepository,
)
from packages.adapters.sqlalchemy_impl.models import ViralVideoStyleTemplateModel
# 插入模板
tpl = ViralVideoStyleTemplateModel(