添加艾特角色功能
This commit is contained in:
@@ -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"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user