添加艾特角色功能

This commit is contained in:
Azmat@qq.com
2026-09-17 18:31:29 +08:00
parent 5df038c635
commit abccf4393a
18 changed files with 2769 additions and 182 deletions
+9 -4
View File
@@ -147,23 +147,28 @@ def _record_submit_error(asset: Asset, reason: str) -> None:
SELF_TRUSTED_SOURCES = (Asset.Source.AI_GENERATED, Asset.Source.SYSTEM)
def reference_review_state(asset: Asset) -> str:
def reference_review_state(asset: Asset, *, require_registered: bool = False) -> str:
"""引用一个平台资产(自由创作 @引用三库)前的审核判定。
返回 allowed / processing / failed / unsubmitted 四态之一,由调用方决定放行还是给提示。
未送审(unsubmitted)不代表拒绝到底 —— 调用方应顺手送一次审,让用户等一会儿再来。
require_registered=True 用于 Seedance 的人物类参考图:即使图片由平台生成,也必须先取得
火山素材 ID 并通过 asset:// 引用。普通直链会被生成接口按真人隐私素材直接拒绝。
"""
if not assets_client.is_enabled():
# 审核整套机制没配置时不能拿它拦人,否则一关审核全平台引用都用不了
return "allowed"
if asset.source in SELF_TRUSTED_SOURCES:
return "allowed"
if asset.review_status == "active":
if asset.review_status == "active" and (asset.review_remote_id or not require_registered):
return "allowed"
if asset.review_status == "processing":
return "processing"
if asset.review_status == "failed":
return "failed"
if require_registered:
return "unsubmitted"
if asset.source in SELF_TRUSTED_SOURCES:
return "allowed"
return "unsubmitted"