diff --git a/core/backend/apps/ai/services.py b/core/backend/apps/ai/services.py index 7beb6a8..683a028 100644 --- a/core/backend/apps/ai/services.py +++ b/core/backend/apps/ai/services.py @@ -1337,11 +1337,12 @@ def run_base_asset_task(*, task_id: str) -> None: group.candidate_assets.add(asset) group.adopted_asset = asset group.save(update_fields=["adopted_asset", "prompt", "updated_at"]) - # 真人资产:事务提交后静默送火山审核(best-effort,网络调用放 on_commit 避免占着事务) - if kind == BaseAssetGroup.Kind.PERSON: - from apps.assets.review import submit_asset_for_review + # 含人脸资产(角色 / 场景 / 商品):事务提交后静默送火山审核(best-effort,网络调用放 on_commit 避免占着事务)。 + # 场景 / 商品也送审,因为它们可能出现真人(模特出镜/上身),拿到 remote_id 后视频路才能换 asset:// 引用, + # 否则传原始直链会被火山判「疑似真人」拒。submit_asset_for_review 自身按 REVIEW_CATEGORIES 兜底,非送审类不会真送。 + from apps.assets.review import submit_asset_for_review - transaction.on_commit(lambda a=asset: submit_asset_for_review(a)) + transaction.on_commit(lambda a=asset: submit_asset_for_review(a)) except Exception as exc: # noqa: BLE001 — 失败要退费并把错误记进 AITask 供前端轮询读取;不向上抛(避免 celery 重试二次扣费) task.status = AITask.Status.FAILED task.error_message = str(exc) diff --git a/core/backend/apps/assets/models.py b/core/backend/apps/assets/models.py index e13d0a4..d4968e0 100644 --- a/core/backend/apps/assets/models.py +++ b/core/backend/apps/assets/models.py @@ -34,8 +34,10 @@ class Asset(TeamOwnedModel): FREE_CREATE = "free_create", "Free Create" # 自由创作(图片趴) STORYBOARD = "storyboard", "Storyboard" # 分镜图(视频趴·送审) - # 送审范围(火山人像审核):视频趴含人脸 = 角色定妆照 / 三视图 / 分镜图。图片趴(上身图/套图/创作)不送审。 - REVIEW_CATEGORIES = ("person", "tri_view", "storyboard") + # 送审范围(火山人像审核):视频趴含人脸 = 角色定妆照 / 三视图 / 分镜图 / 场景 / 商品图。 + # 场景图与商品图也可能出现真人(模特出镜/上身),不送审则视频路只能传原始直链 → 火山判「疑似真人」拒; + # 送审后拿到 remote_id,视频路换 asset:// 素材库引用即可放行。图片趴(上身图/套图/创作)仍不送审。 + REVIEW_CATEGORIES = ("person", "tri_view", "storyboard", "scene", "product_image") name = models.CharField(max_length=255) asset_type = models.CharField(max_length=24, choices=Type.choices) diff --git a/core/frontend/src/routes/pipeline.tsx b/core/frontend/src/routes/pipeline.tsx index 5086b68..2591c50 100644 --- a/core/frontend/src/routes/pipeline.tsx +++ b/core/frontend/src/routes/pipeline.tsx @@ -2942,6 +2942,16 @@ export function PipelinePage(props: { })()} {previewTriAsset && (
+ {/* 商品图也挂审核盾:商品图可能出现模特,送审后视频路才能换 asset:// 引用(与角色/场景同款) */} + {adoptedTriAsset && ( + submitAssetReview(adoptedTriAsset)} + /> + )}