真人素材库本地完成
This commit is contained in:
@@ -16,3 +16,5 @@ from app.enums.team import *
|
||||
from app.enums.home_material import *
|
||||
from app.enums.celery_queue import *
|
||||
from app.enums.audio_reference import *
|
||||
|
||||
from app.enums.private_portrait import *
|
||||
|
||||
@@ -6,6 +6,7 @@ class CeleryQueue(str, Enum):
|
||||
GEN_PROVIDER_POLL = "gen_provider_poll"
|
||||
GEN_RESULT_DOWNLOAD = "gen_result_download"
|
||||
GEN_RECOVERY = "gen_recovery"
|
||||
GEN_PRIVATE_PORTRAIT = "gen_private_portrait"
|
||||
DEFAULT = "default"
|
||||
|
||||
|
||||
@@ -19,3 +20,8 @@ class CeleryTaskName(str, Enum):
|
||||
STARTUP_RECOVERY = "recovery.startup_recovery_once"
|
||||
MODULE_ASYNC_RECOVERY = "module_async.recover_module_async_tasks_once"
|
||||
SHOT_SPLIT_RECOVERY = "shot_replicate.recover_split_tasks_once"
|
||||
PRIVATE_PORTRAIT_POLL_ASSET = "private_portrait.poll_asset_status"
|
||||
PRIVATE_PORTRAIT_SYNC_DUE_ASSETS = "private_portrait.sync_due_assets"
|
||||
PRIVATE_PORTRAIT_DELETE_ASSET = "private_portrait.delete_asset_remote"
|
||||
PRIVATE_PORTRAIT_DELETE_PROJECT = "private_portrait.delete_project_remote"
|
||||
PRIVATE_PORTRAIT_RECOVER_REMOTE_DELETES = "private_portrait.recover_remote_deletes"
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from enum import Enum
|
||||
|
||||
# 用户真人素材图片默认上限。users.private_portrait_image_limit = 0 表示关闭模块;>0 表示启用并限制总量。
|
||||
PRIVATE_PORTRAIT_DEFAULT_IMAGE_LIMIT = 5
|
||||
|
||||
# ProjectName 由服务层按 {env}-{user_id}-{项目名slug} 生成并快照到 private_portrait_projects.remote_project_name。
|
||||
PRIVATE_PORTRAIT_PROJECT_ENV_LOCAL = "local"
|
||||
PRIVATE_PORTRAIT_PROJECT_ENV_TEST = "test"
|
||||
PRIVATE_PORTRAIT_PROJECT_ENV_ONLINE = "online"
|
||||
PRIVATE_PORTRAIT_PROJECT_ENV_VALUES = {
|
||||
PRIVATE_PORTRAIT_PROJECT_ENV_LOCAL,
|
||||
PRIVATE_PORTRAIT_PROJECT_ENV_TEST,
|
||||
PRIVATE_PORTRAIT_PROJECT_ENV_ONLINE,
|
||||
}
|
||||
|
||||
PRIVATE_PORTRAIT_GROUP_TYPE = "LivenessFace"
|
||||
PRIVATE_PORTRAIT_VERIFY_TYPE = "real_time"
|
||||
PRIVATE_PORTRAIT_SUCCESS_RESULT_CODE = "10000"
|
||||
PRIVATE_PORTRAIT_ASSET_URI_PREFIX = "asset://"
|
||||
|
||||
ARK_PRIVATE_PORTRAIT_SERVICE_NAME = "ark"
|
||||
ARK_PRIVATE_PORTRAIT_VERSION = "2024-01-01"
|
||||
ARK_PRIVATE_PORTRAIT_REGION = "cn-beijing"
|
||||
ARK_PRIVATE_PORTRAIT_HOST = "ark.cn-beijing.volcengineapi.com"
|
||||
|
||||
PRIVATE_PORTRAIT_ASSET_POLL_INTERVAL_SECONDS = 20
|
||||
PRIVATE_PORTRAIT_ASSET_POLL_MAX_COUNT = 60
|
||||
PRIVATE_PORTRAIT_ASSET_POLL_BATCH_SIZE = 50
|
||||
PRIVATE_PORTRAIT_REMOTE_DELETE_RECOVERY_BATCH_SIZE = 50
|
||||
PRIVATE_PORTRAIT_VALIDATE_TOKEN_EXPIRE_MINUTES = 30
|
||||
|
||||
# 系统侧保守限流;火山文档 GetAsset 是 100 QPS,这里预留余量为 80。
|
||||
PRIVATE_PORTRAIT_ACTION_QPS_LIMITS: dict[str, int] = {
|
||||
"CreateVisualValidateSession": 3,
|
||||
"GetVisualValidateResult": 3,
|
||||
"CreateAsset": 1,
|
||||
"ListAssetGroups": 10,
|
||||
"ListAssets": 10,
|
||||
"GetAsset": 80,
|
||||
"GetAssetGroup": 10,
|
||||
"UpdateAsset": 10,
|
||||
"UpdateAssetGroup": 10,
|
||||
"DeleteAsset": 10,
|
||||
"DeleteAssetGroup": 5,
|
||||
}
|
||||
|
||||
|
||||
class ArkPrivatePortraitAction(str, Enum):
|
||||
CREATE_VISUAL_VALIDATE_SESSION = "CreateVisualValidateSession"
|
||||
GET_VISUAL_VALIDATE_RESULT = "GetVisualValidateResult"
|
||||
CREATE_ASSET = "CreateAsset"
|
||||
GET_ASSET = "GetAsset"
|
||||
LIST_ASSETS = "ListAssets"
|
||||
LIST_ASSET_GROUPS = "ListAssetGroups"
|
||||
GET_ASSET_GROUP = "GetAssetGroup"
|
||||
UPDATE_ASSET = "UpdateAsset"
|
||||
UPDATE_ASSET_GROUP = "UpdateAssetGroup"
|
||||
DELETE_ASSET = "DeleteAsset"
|
||||
DELETE_ASSET_GROUP = "DeleteAssetGroup"
|
||||
|
||||
|
||||
class PrivatePortraitProjectStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
DELETED = "deleted"
|
||||
|
||||
|
||||
class PrivatePortraitValidateSessionStatus(str, Enum):
|
||||
CREATED = "created"
|
||||
CALLBACK_SUCCESS = "callback_success"
|
||||
CALLBACK_FAILED = "callback_failed"
|
||||
GROUP_ACTIVE = "group_active"
|
||||
EXPIRED = "expired"
|
||||
FAILED = "failed"
|
||||
|
||||
|
||||
class PrivatePortraitAssetGroupStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
LOCAL_DELETED = "local_deleted"
|
||||
REMOTE_DELETED = "remote_deleted"
|
||||
DELETE_FAILED = "delete_failed"
|
||||
FAILED = "failed"
|
||||
|
||||
|
||||
class PrivatePortraitAssetStatus(str, Enum):
|
||||
CREATING = "creating"
|
||||
PROCESSING = "Processing"
|
||||
ACTIVE = "Active"
|
||||
FAILED = "Failed"
|
||||
LOCAL_DELETED = "local_deleted"
|
||||
REMOTE_DELETED = "remote_deleted"
|
||||
DELETE_FAILED = "delete_failed"
|
||||
|
||||
|
||||
class PrivatePortraitAssetType(str, Enum):
|
||||
IMAGE = "Image"
|
||||
VIDEO = "Video"
|
||||
AUDIO = "Audio"
|
||||
|
||||
|
||||
class PrivatePortraitRemoteDeleteStatus(str, Enum):
|
||||
NONE = "none"
|
||||
PENDING = "pending"
|
||||
SUCCESS = "success"
|
||||
FAILED = "failed"
|
||||
SKIPPED = "skipped"
|
||||
|
||||
|
||||
class PrivatePortraitReferenceSource(str, Enum):
|
||||
PRIVATE_PORTRAIT_ASSET = "private_portrait_asset"
|
||||
|
||||
|
||||
class PrivatePortraitEventStatus(str, Enum):
|
||||
SUCCESS = "success"
|
||||
FAILED = "failed"
|
||||
PENDING = "pending"
|
||||
SKIPPED = "skipped"
|
||||
WARNING = "warning"
|
||||
|
||||
|
||||
class PrivatePortraitEventSource(str, Enum):
|
||||
API = "api"
|
||||
SERVICE = "service"
|
||||
CALLBACK = "callback"
|
||||
CELERY = "celery"
|
||||
ADMIN = "admin"
|
||||
SYSTEM = "system"
|
||||
|
||||
|
||||
class PrivatePortraitEventType(str, Enum):
|
||||
PROJECT_CREATE = "PROJECT_CREATE"
|
||||
PROJECT_UPDATE = "PROJECT_UPDATE"
|
||||
PROJECT_DELETE = "PROJECT_DELETE"
|
||||
PROJECT_REMOTE_NAME_LOCKED = "PROJECT_REMOTE_NAME_LOCKED"
|
||||
|
||||
VALIDATE_SESSION_CREATE = "VALIDATE_SESSION_CREATE"
|
||||
VALIDATE_CALLBACK_RECEIVED = "VALIDATE_CALLBACK_RECEIVED"
|
||||
VALIDATE_CALLBACK_SUCCESS = "VALIDATE_CALLBACK_SUCCESS"
|
||||
VALIDATE_CALLBACK_FAILED = "VALIDATE_CALLBACK_FAILED"
|
||||
VALIDATE_GET_RESULT_START = "VALIDATE_GET_RESULT_START"
|
||||
VALIDATE_GET_RESULT_SUCCESS = "VALIDATE_GET_RESULT_SUCCESS"
|
||||
VALIDATE_GET_RESULT_FAILED = "VALIDATE_GET_RESULT_FAILED"
|
||||
|
||||
ASSET_GROUP_UPDATE_REMOTE_START = "ASSET_GROUP_UPDATE_REMOTE_START"
|
||||
ASSET_GROUP_UPDATE_REMOTE_SUCCESS = "ASSET_GROUP_UPDATE_REMOTE_SUCCESS"
|
||||
ASSET_GROUP_UPDATE_REMOTE_FAILED = "ASSET_GROUP_UPDATE_REMOTE_FAILED"
|
||||
|
||||
ASSET_CREATE_REJECT_DISABLED = "ASSET_CREATE_REJECT_DISABLED"
|
||||
ASSET_CREATE_REJECT_MAX_LIMIT = "ASSET_CREATE_REJECT_MAX_LIMIT"
|
||||
ASSET_CREATE_START = "ASSET_CREATE_START"
|
||||
ASSET_CREATE_SUCCESS = "ASSET_CREATE_SUCCESS"
|
||||
ASSET_CREATE_FAILED = "ASSET_CREATE_FAILED"
|
||||
|
||||
ASSET_SYNC_START = "ASSET_SYNC_START"
|
||||
ASSET_SYNC_SUCCESS = "ASSET_SYNC_SUCCESS"
|
||||
ASSET_SYNC_FAILED = "ASSET_SYNC_FAILED"
|
||||
ASSET_POLL_START = "ASSET_POLL_START"
|
||||
ASSET_POLL_SUCCESS = "ASSET_POLL_SUCCESS"
|
||||
ASSET_POLL_FAILED = "ASSET_POLL_FAILED"
|
||||
ASSET_POLL_TIMEOUT = "ASSET_POLL_TIMEOUT"
|
||||
|
||||
ASSET_DELETE_LOCAL = "ASSET_DELETE_LOCAL"
|
||||
ASSET_DELETE_REMOTE_START = "ASSET_DELETE_REMOTE_START"
|
||||
ASSET_DELETE_REMOTE_SUCCESS = "ASSET_DELETE_REMOTE_SUCCESS"
|
||||
ASSET_DELETE_REMOTE_FAILED = "ASSET_DELETE_REMOTE_FAILED"
|
||||
PROJECT_DELETE_REMOTE_START = "PROJECT_DELETE_REMOTE_START"
|
||||
PROJECT_DELETE_REMOTE_SUCCESS = "PROJECT_DELETE_REMOTE_SUCCESS"
|
||||
PROJECT_DELETE_REMOTE_FAILED = "PROJECT_DELETE_REMOTE_FAILED"
|
||||
|
||||
|
||||
TASK_DISPATCH_SUCCESS = "TASK_DISPATCH_SUCCESS"
|
||||
TASK_DISPATCH_FAILED = "TASK_DISPATCH_FAILED"
|
||||
|
||||
SYNC_DUE_ASSETS_START = "SYNC_DUE_ASSETS_START"
|
||||
SYNC_DUE_ASSETS_DONE = "SYNC_DUE_ASSETS_DONE"
|
||||
SYNC_DUE_ASSETS_FAILED = "SYNC_DUE_ASSETS_FAILED"
|
||||
|
||||
REMOTE_DELETE_RECOVERY_START = "REMOTE_DELETE_RECOVERY_START"
|
||||
REMOTE_DELETE_RECOVERY_DONE = "REMOTE_DELETE_RECOVERY_DONE"
|
||||
REMOTE_DELETE_RECOVERY_FAILED = "REMOTE_DELETE_RECOVERY_FAILED"
|
||||
|
||||
REFERENCE_RESOLVE_START = "REFERENCE_RESOLVE_START"
|
||||
REFERENCE_RESOLVE_SUCCESS = "REFERENCE_RESOLVE_SUCCESS"
|
||||
REFERENCE_RESOLVE_FAILED = "REFERENCE_RESOLVE_FAILED"
|
||||
|
||||
ARK_API_CALL_START = "ARK_API_CALL_START"
|
||||
ARK_API_CALL_SUCCESS = "ARK_API_CALL_SUCCESS"
|
||||
ARK_API_CALL_FAILED = "ARK_API_CALL_FAILED"
|
||||
ARK_API_RATE_LIMIT_WAIT = "ARK_API_RATE_LIMIT_WAIT"
|
||||
ARK_API_RATE_LIMIT_REJECT = "ARK_API_RATE_LIMIT_REJECT"
|
||||
Reference in New Issue
Block a user