Files
Hommy 4010029b56 新增加TOS(火山引擎对象存储)实现,配置如下:
# 火山引擎 TOS AccessKeyId(COS、OSS 均未配置完整时作为兜底)
TOS_ACCESS_KEY_ID=
# 火山引擎 TOS AccessKeySecret
TOS_ACCESS_KEY_SECRET=
# TOS 存储桶名称
TOS_BUCKET_NAME=
# TOS 地域,例如 cn-beijing、cn-shanghai
TOS_REGION=
# TOS 访问域名(可选,未设置时按地域自动生成,例如 tos-cn-beijing.volces.com)
TOS_ENDPOINT=

优先级排最后,当COS,OSS都没有配置时,才使用TOS
2026-08-21 12:15:44 +08:00

84 lines
3.6 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目常量定义
import os
# 项目根目录
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
# 保存剪映草稿的目录
DRAFT_DIR = os.path.join(PROJECT_ROOT, "output", "draft")
# 日志目录
LOG_DIR = os.path.join(PROJECT_ROOT, "logs")
# 临时文件目录
TEMP_DIR = os.path.join(PROJECT_ROOT, "temp")
# 视频生成任务完成结果(SQLite 持久化)
VIDEO_GEN_TASK_DB_PATH = os.path.join(PROJECT_ROOT, "db", "video_gen_tasks.sqlite3")
# 视频生成任务:生成视频在 COS 上的可访问保留天数(预签名下载 URL 有效期,环境变量覆盖)
VIDEO_GEN_RETENTION_DAYS = max(1, int(os.getenv("VIDEO_GEN_RETENTION_DAYS", "7")))
# 剪映草稿的下载路径
DRAFT_URL = os.getenv("DRAFT_URL", "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft")
# 将容器内的文件路径转成一个下载路径,执行替换操作,即将/app/ -> https://capcut-mate.jcaigc.cn/
DOWNLOAD_URL = os.getenv("DOWNLOAD_URL", "https://capcut-mate.jcaigc.cn/")
# 草稿提示URL
TIP_URL = os.getenv("TIP_URL", "https://docs.jcaigc.cn/")
# 贴纸配置文件路径
STICKER_CONFIG_PATH = os.path.join(os.path.dirname(__file__), "config", "sticker.json")
# 花字配置文件路径
HUAZI_CONFIG_PATH = os.path.join(os.path.dirname(__file__), "config", "huazi.json")
# 模板目录路径
TEMPLATE_DIR = os.path.join(os.path.dirname(__file__), "template")
# 剪映草稿保存路径(下载剪映草稿保存位置)-- 云渲染必需配置
#DRAFT_SAVE_PATH = "C:/Users/Administrator/AppData/Local/JianyingPro/User Data/Projects/com.lveditor.draft"
DRAFT_SAVE_PATH = "C:/Users/1/AppData/Local/JianyingPro/User Data/Projects/com.lveditor.draft"
# 腾讯云对象存储配置(优先)
COS_SECRET_ID = os.getenv("COS_SECRET_ID", "")
COS_SECRET_KEY = os.getenv("COS_SECRET_KEY", "")
COS_BUCKET_NAME = os.getenv("COS_BUCKET_NAME", "")
COS_REGION = os.getenv("COS_REGION", "")
# 阿里云对象存储配置(COS 未配置时作为兜底)
OSS_ACCESS_KEY_ID = os.getenv("OSS_ACCESS_KEY_ID", "")
OSS_ACCESS_KEY_SECRET = os.getenv("OSS_ACCESS_KEY_SECRET", "")
OSS_BUCKET_NAME = os.getenv("OSS_BUCKET_NAME", "")
OSS_ENDPOINT = os.getenv("OSS_ENDPOINT", "")
# 火山引擎 TOS AccessKeyIdCOS、OSS 均未配置完整时作为兜底)
TOS_ACCESS_KEY_ID = os.getenv("TOS_ACCESS_KEY_ID", "")
# 火山引擎 TOS AccessKeySecret
TOS_ACCESS_KEY_SECRET = os.getenv("TOS_ACCESS_KEY_SECRET", "")
# TOS 存储桶名称
TOS_BUCKET_NAME = os.getenv("TOS_BUCKET_NAME", "")
# TOS 地域,例如 cn-beijing、cn-shanghai
TOS_REGION = os.getenv("TOS_REGION", "")
# TOS 访问域名(可选,未设置时按地域自动生成,例如 tos-cn-beijing.volces.com
TOS_ENDPOINT = os.getenv("TOS_ENDPOINT", "")
# 对象存储上传目录前缀(根目录),COS / OSS / TOS 共用。
# 最终 object key 格式:[前缀/]yyyy-MM-dd/文件名;前缀为空时文件落在桶根目录下的日期目录中。
# 首尾多余的 / 会自动去除。
#
# 配置示例(环境变量 STORAGE_UPLOAD_PREFIX):
# 未设置或留空 -> 2026-06-15/video.mp4
# capcut-mate -> capcut-mate/2026-06-15/video.mp4
# prod/capcut-mate -> prod/capcut-mate/2026-06-15/video.mp4
# /capcut-mate/ -> capcut-mate/2026-06-15/video.mp4(与上相同)
STORAGE_UPLOAD_PREFIX = os.getenv("STORAGE_UPLOAD_PREFIX", "")
# APIKEY启用配置-默认启用 -- 云渲染必需配置(环境变量 true / false,大小写不敏感)
ENABLE_APIKEY = os.getenv("ENABLE_APIKEY", "true").strip().lower() == "true"
# 文件下载大小限制(字节),默认200MB
DOWNLOAD_FILE_SIZE_LIMIT = int(os.getenv("DOWNLOAD_FILE_SIZE_LIMIT", str(200 * 1024 * 1024)))