diff --git a/skills_library/pipelines/platform_general/common/model-auto-config/SKILL.md b/skills_library/pipelines/platform_general/common/model-auto-config/SKILL.md index dd792f3..5f15c63 100644 --- a/skills_library/pipelines/platform_general/common/model-auto-config/SKILL.md +++ b/skills_library/pipelines/platform_general/common/model-auto-config/SKILL.md @@ -52,6 +52,33 @@ llm_model 的 price_input/price_output/cost_input/cost_output 四字段已删除 (price_factors: duration 或 flat,分辨率等做 filter 维度);价格照文档原文 记录,禁止换算推导(详见定价数据格式技能)。 +## 媒体转换铁律(2026-09-05 用户定夺——每个 llm_api_profile 配置必查) + +生成类模型(t2i/i2v/t2v/tts/i2i/v2v/3d 等出参是文件的能力)的适配模板 +`llm_api_profile`,**data 和 response 必须处理两个媒体转换逻辑**: + +- **上行(request_template / data)**:上传/本地媒体一律 `xxx_file` 命名, + 用 `{{ b64media2url(request, params.image_file) }}` 转成本地公网 URL + 再传上游(base64 落盘 → /idfile 公网地址;已是 http/https URL 则原样透传)。 +- **下行(response_template)**:上游生成物 URL 用 + `{{ downloadfile2url(request, output.video_url) }}` 落地为本地持久 URL + 再给调用者——**上游 URL 有效期极短(DashScope 视频仅 24 小时),不落地即丢**。 + +同类能力对外契约统一:i2v 一律 `image_file` 进 → `video` 出; +t2i 出 `image`。模板不用为同一类能力写多套参数名。 + +**执行机制(已落地,非口头约定)**: +- 推理层 `inference.py` 已把 `downloadfile2url`/`b64media2url` 注入模板命名 + 空间(`_media_ns_extra`,request=None 时走部署机 `BASEURL` 兜底拼公网地址)。 +- `apply_llm_config` 落库后自动调 `_audit_media_convention` 审计本次涉及的 + 生成类模板,缺转换函数会返回 `media_audit` 警告,必须如实转告用户。 +- 非标协议骨架模板已自带转换占位,人工只需把产物字段名换成文档真实路径。 + +**核对清单(配每个生成类模型都过一遍)**: +1. request 模板含 image/video/audio 上传参数 → 是否有 `b64media2url`? +2. response 模板 → 产物 URL 是否经 `downloadfile2url` 落地? +3. 出参字段名是否与同类能力一致(video/image)? + ## 提取链路机制(2026-09-05 修复) - `extract_llm_api_spec` 的 LLM 调用走辅助模型链(purpose=utility),单次