DJANGO_SETTINGS_MODULE=airshelf.settings.development DJANGO_SECRET_KEY=change-me DJANGO_DEBUG=true DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1 DJANGO_CSRF_TRUSTED_ORIGINS=http://localhost:3000,http://127.0.0.1:3000 DB_ENGINE=mysql DB_NAME=airshelf_dev DB_USER=airshelf DB_PASSWORD=change-me DB_HOST=127.0.0.1 DB_PORT=3306 DB_BIND_ADDRESS= REDIS_CACHE_URL=redis://127.0.0.1:6379/0 CELERY_BROKER_URL=redis://127.0.0.1:6379/1 CELERY_RESULT_BACKEND=redis://127.0.0.1:6379/2 REDIS_LOCK_URL=redis://127.0.0.1:6379/3 TOS_ENDPOINT=https://tos-s3-cn-shanghai.volces.com TOS_BUCKET=airshelf TOS_ACCESS_KEY_ID=change-me TOS_SECRET_ACCESS_KEY=change-me VOLCANO_ARK_API_KEY=change-me VOLCANO_ARK_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 YUNQI_API_KEY=change-me YUNQI_BASE_URL=https://www.yunqiai.chat/v1 # 模特库三视图真实生成与计费开关:API 与 Celery worker 同步部署后才能开启。 # true 允许预留积分并投递生成任务;false 时提交接口直接拒绝,不产生任务或扣费。 MODEL_TRIVIEW_GENERATION_ENABLED=true # 模特上身图结构化提示词 V2.2: # true = 所有团队的商品上身图使用 V2.2 提示词;只切提示词,不切换用户选择的 Seedream/GPT, # 不改变 1/2/4 张、图片比例、积分价格、退款或资产落库。false = 仅白名单团队使用; # false + 空白名单 = 全部使用旧提示词。修改后 API 与 Worker 必须使用同一组值并同步重启。 MODEL_TRYON_PROMPT_V2_ENABLED=false MODEL_TRYON_PROMPT_V2_CANARY_TEAM_IDS= # 模型失败重试与自动 Fallback 统一策略。修改后需同步重启 API 与 Celery Worker。 # 所有时间值单位均为秒;重试等待时间使用英文逗号分隔,留空表示该阶段不重试。 # max_models 包含用户选择的主模型;max_calls 包含首次调用、原模型重试和候选模型调用。 # 单个逻辑任务最多尝试的不同模型数量,范围 1~10。调大可能增加等待时间与平台成本。 MODEL_ROUTING_MAX_MODELS=3 # 单个逻辑任务最多发出的真实模型请求总数,范围 1~20,且不得小于 MAX_MODELS。 MODEL_ROUTING_MAX_CALLS=5 # 重试等待的随机抖动比例,范围 0~1;0.20 表示基础等待时间随机浮动 ±20%。 MODEL_ROUTING_JITTER_RATIO=0.20 # 文本:默认原模型最多重试 2 次,分别等待 1 秒、3 秒。 MODEL_ROUTING_TEXT_RETRY_DELAYS=1,3 # 普通文本单次调用超时;调小可能截断正常生成,调大会延长故障等待。 MODEL_ROUTING_TEXT_REQUEST_TIMEOUT=120 # 流式文本单次调用超时;脚本 SSE 通常比普通文本耗时更长。 MODEL_ROUTING_TEXT_STREAM_TIMEOUT=300 # 单个文本逻辑任务总时限,默认 480 秒(8 分钟)。 MODEL_ROUTING_TEXT_TOTAL_TIMEOUT=480 # 文本遇到 429 时接受 Retry-After 的最长等待时间。 MODEL_ROUTING_TEXT_RETRY_AFTER_CAP=15 # 图片:默认原模型等待 3 秒后重试 1 次。 MODEL_ROUTING_IMAGE_RETRY_DELAYS=3 # 单次图片生成或编辑请求超时;中转站真实出图可能超过 75 秒。 MODEL_ROUTING_IMAGE_REQUEST_TIMEOUT=300 # 单张图片逻辑任务总时限,默认 900 秒(15 分钟)。 MODEL_ROUTING_IMAGE_TOTAL_TIMEOUT=900 # 图片遇到 429 时接受 Retry-After 的最长等待时间。 MODEL_ROUTING_IMAGE_RETRY_AFTER_CAP=15 # 配音:默认原模型等待 2 秒后重试 1 次。 MODEL_ROUTING_AUDIO_RETRY_DELAYS=2 # 单次配音请求超时。 MODEL_ROUTING_AUDIO_REQUEST_TIMEOUT=60 # 单个配音逻辑任务总时限,默认 180 秒(3 分钟)。 MODEL_ROUTING_AUDIO_TOTAL_TIMEOUT=180 # 配音遇到 429 时接受 Retry-After 的最长等待时间。 MODEL_ROUTING_AUDIO_RETRY_AFTER_CAP=15 # 视频提交:仅在尚未取得 Provider 任务 ID 时,等待 3 秒后重试 1 次。 MODEL_ROUTING_VIDEO_SUBMIT_RETRY_DELAYS=3 # 单次创建视频 Provider 任务的超时。 MODEL_ROUTING_VIDEO_SUBMIT_TIMEOUT=120 # 视频提交与 Fallback 阶段总时限,默认 300 秒(5 分钟)。 MODEL_ROUTING_VIDEO_SUBMIT_TOTAL_TIMEOUT=300 # 单次查询视频 Provider 任务状态的超时。 MODEL_ROUTING_VIDEO_POLL_REQUEST_TIMEOUT=60 # 视频提交遇到 429 时接受 Retry-After 的最长等待时间。 MODEL_ROUTING_VIDEO_RETRY_AFTER_CAP=30 # 模型成功后的下载、上传、资产保存重试间隔;不增加模型调用次数,也不触发 Fallback。 MODEL_ROUTING_POSTPROCESS_RETRY_DELAYS=2,5,10