动作视频/生图背景色链路升级 + 阿里云抠图接入 #75
Reference in New Issue
Block a user
Delete Branch "feat/video-BGfilter"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
主要改动
手搓阿里云 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 死代码,移除一次性探针示例。
6e4e9ea318to00ce3a275c外部供应商协议归属应留在 platform-* 层。此前 api-server 从中文错误字符串 contains("timeout") / find("HTTP ") 反推超时、HTTP 状态与 transport,违反分层。 - MattingError::Upstream 改为结构化 UpstreamFailure,携带 timeout/transport/ upstream_status,在错误发生处(reqwest is_timeout、HTTP 状态、响应体不可用)直接捕获 - 新增 external_call_attempted/is_timeout/is_transport/upstream_status 访问器 - 20 处 Upstream 构造点改用 upstream_transport_error/upstream_http_error/ upstream_response_error,分类语义不变 - aliyun_matting.rs 删除三个字符串解析 helper,直接读结构化分类;审计 JSON 键 (timeout/transport/upstreamStatus/externalCallAttempted)完全不变,无功能损失 - 分类单测下沉到 platform-matting,BFF 侧改测映射 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>