5c9b5ef69e
主要改动 1. 阿里云通用抠图接入(新增 platform-matting crate) 手搓阿里云 VIAPI 通用抠图接口(ACS3-HMAC-SHA256 签名),跨区输入走临时桶通道。 图片抠图升级为三档降级:BgFilter → 阿里云 → 本地键色兜底。 动作视频逐帧抠图改用阿里云,remove_editor_generated_green_screen_background 降为最后兜底。 2. 背景色不再写死绿色,改多背景色自动决策 动作视频背景色和生图一样从候选调色板自动选,选项继承。 3. 视觉背景色决策(修"蓝撞蓝") 让 LLM 看参考图选背景色(gpt-4o-mini 视觉模型,路由到 VectorEngine 视觉客户端),修复原纯文本盲选。 4. 背景色候选硬过滤器(新增 editor_screen_background_filter) 按参考图前景配色算 Lab 危险质量 + 皮肤专属三判据(ΔE 距离 / 色调投影 / RGB 分离)剔除撞色候选,LLM 只在安全集合里审美选。露肤角色自动收敛到冷区。新增"灰竹绿"候选补齐安全弧绿色段。 5. 源图合成到背景色(修视频背景变白) 透明源图先填成选定实色再发给 Ark,视频背景确定性等于抠图键色,不再赌模型服从提示词。 6. screenColorHex 结构化记录 + 死代码清理 四条链路统一把实际背景色写进 generation_inputs,修复生图链路"抠图背景色"字段从未生效的旧逻辑。 清理前端抠绿 + qwenSprite 死代码,移除一次性探针示例。 Reviewed-on: https://git.genarrative.world/git/GenarrativeAI/Genarrative/pulls/75 Reviewed-by: kdletters <kdletters@qq.com> Co-authored-by: Linghong <ink29535@proton.me> Co-committed-by: Linghong <ink29535@proton.me>
70 lines
3.4 KiB
Bash
70 lines
3.4 KiB
Bash
# 复制为 deploy/container/api-server.env 后填入本机或预发值。
|
|
# 该文件只用于容器隔离方案,不参与 systemd/Jenkins 生产部署。
|
|
# 不要在这里写真实 token 后提交 Git。
|
|
|
|
GENARRATIVE_ENV=container
|
|
GENARRATIVE_API_HOST=0.0.0.0
|
|
GENARRATIVE_API_PORT=8082
|
|
GENARRATIVE_API_LOG=info,tower_http=info
|
|
GENARRATIVE_API_LISTEN_BACKLOG=1024
|
|
GENARRATIVE_API_WORKER_THREADS=4
|
|
# 容器 smoke 可临时设 all;压测或预发按 api / external-generation-worker 拆进程。
|
|
GENARRATIVE_PROCESS_ROLE=api
|
|
# 默认 queue 进入 external_generation_job;本地/小流量同步排查可显式设 inline。
|
|
GENARRATIVE_EXTERNAL_GENERATION_MODE=queue
|
|
GENARRATIVE_EXTERNAL_GENERATION_WORKER_ID=
|
|
GENARRATIVE_EXTERNAL_GENERATION_WORKER_CONCURRENCY=2
|
|
GENARRATIVE_EXTERNAL_GENERATION_WORKER_POLL_INTERVAL_MS=2000
|
|
GENARRATIVE_EXTERNAL_GENERATION_WORKER_LEASE_SECONDS=600
|
|
GENARRATIVE_EXTERNAL_GENERATION_WORKER_JOB_TIMEOUT_SECONDS=900
|
|
GENARRATIVE_EXTERNAL_GENERATION_WORKER_LONG_JOB_TIMEOUT_SECONDS=1800
|
|
GENARRATIVE_API_MAX_CONCURRENT_REQUESTS=512
|
|
GENARRATIVE_API_GALLERY_MAX_CONCURRENT_REQUESTS=320
|
|
GENARRATIVE_API_DETAIL_MAX_CONCURRENT_REQUESTS=64
|
|
GENARRATIVE_API_ADMIN_MAX_CONCURRENT_REQUESTS=16
|
|
GENARRATIVE_TRACKING_OUTBOX_ENABLED=true
|
|
GENARRATIVE_TRACKING_OUTBOX_DIR=/var/lib/genarrative/tracking-outbox
|
|
GENARRATIVE_TRACKING_OUTBOX_BATCH_SIZE=500
|
|
GENARRATIVE_TRACKING_OUTBOX_FLUSH_INTERVAL_MS=1000
|
|
GENARRATIVE_TRACKING_OUTBOX_MAX_BYTES=268435456
|
|
GENARRATIVE_WALLET_REFUND_OUTBOX_ENABLED=true
|
|
GENARRATIVE_WALLET_REFUND_OUTBOX_DIR=/var/lib/genarrative/wallet-refund-outbox
|
|
GENARRATIVE_WALLET_REFUND_OUTBOX_BATCH_SIZE=100
|
|
GENARRATIVE_WALLET_REFUND_OUTBOX_FLUSH_INTERVAL_MS=1000
|
|
GENARRATIVE_WALLET_REFUND_OUTBOX_MAX_BYTES=67108864
|
|
GENARRATIVE_EDITOR_BGFILTER_REQUEST_TIMEOUT_MS=180000
|
|
GENARRATIVE_EDITOR_BGFILTER_CIRCUIT_FAILURE_THRESHOLD=3
|
|
GENARRATIVE_EDITOR_BGFILTER_CIRCUIT_COOLDOWN_SECONDS=300
|
|
# BgFilter 失败后的中间兜底:阿里云通用抠图(SegmentCommonImage)。AccessKey 留空则跳过该层,
|
|
# BgFilter 失败直接本地 editor_green_screen 去背;填入后恢复 BgFilter→阿里云→本地三级兜底。
|
|
# AccessKey 也可复用标准 SDK 命名 ALIBABA_CLOUD_ACCESS_KEY_ID / ALIBABA_CLOUD_ACCESS_KEY_SECRET。
|
|
GENARRATIVE_ALIYUN_MATTING_ENABLED=true
|
|
GENARRATIVE_ALIYUN_MATTING_ENDPOINT=imageseg.cn-shanghai.aliyuncs.com
|
|
GENARRATIVE_ALIYUN_MATTING_ACCESS_KEY_ID=
|
|
GENARRATIVE_ALIYUN_MATTING_ACCESS_KEY_SECRET=
|
|
GENARRATIVE_ALIYUN_MATTING_REQUEST_TIMEOUT_MS=30000
|
|
|
|
GENARRATIVE_OTEL_ENABLED=true
|
|
OTEL_SERVICE_NAME=genarrative-api
|
|
OTEL_EXPORTER_OTLP_ENDPOINT=http://otelcol:4318
|
|
OTEL_RESOURCE_ATTRIBUTES=deployment.environment=container,service.namespace=genarrative
|
|
|
|
GENARRATIVE_INTERNAL_API_SECRET=CHANGE_ME_FOR_CONTAINER
|
|
GENARRATIVE_JWT_ISSUER=genarrative-container
|
|
GENARRATIVE_JWT_SECRET=CHANGE_ME_FOR_CONTAINER
|
|
AUTH_REFRESH_COOKIE_SECURE=false
|
|
|
|
# 默认连接 compose 内部 SpacetimeDB;宿主机发布模块使用 127.0.0.1:13101。
|
|
GENARRATIVE_SPACETIME_SERVER_URL=http://spacetimedb:3101
|
|
GENARRATIVE_SPACETIME_DATABASE=genarrative-loadtest
|
|
GENARRATIVE_SPACETIME_TOKEN=
|
|
GENARRATIVE_SPACETIME_POOL_SIZE=8
|
|
GENARRATIVE_SPACETIME_PROCEDURE_TIMEOUT_SECONDS=45
|
|
|
|
GENARRATIVE_LLM_PROVIDER=openai-compatible
|
|
GENARRATIVE_LLM_BASE_URL=https://api.vectorengine.cn/v1
|
|
GENARRATIVE_LLM_API_KEY=
|
|
GENARRATIVE_LLM_MODEL=gpt-5.4-mini
|
|
WECHAT_MINIPROGRAM_MESSAGE_TOKEN=
|
|
WECHAT_MINIPROGRAM_MESSAGE_ENCODING_AES_KEY=
|