diff --git a/pipeline_platform/platform_ability.py b/pipeline_platform/platform_ability.py index 3bdc8ae..3824ad8 100644 --- a/pipeline_platform/platform_ability.py +++ b/pipeline_platform/platform_ability.py @@ -358,7 +358,7 @@ _EXTRACT_PROMPT = """你是大模型 API 配置专家。通读下面这份模型 "response_format": "响应格式说明(content 字段路径 + usage 字段路径)", "response_example": {"说明": "文档中的响应示例 JSON(或结果字段说明),逐字照抄;无则 null"}, "async_steps": [{"purpose": "query|download", "path": "该步骤接口路径", "method": "GET|POST", "request_fields": ["请求字段名列表"], "response_format": "该步骤响应格式说明"}], - "models": [{"vendor_model_id": "供应商侧模型ID", "capability": "t2t|t2i|i2t|t2v|i2v|r2v|i2i|embedding|rerank|tts|asr|mm-embedding|mm-rerank", + "models": [{"vendor_model_id": "供应商侧模型ID", "capability": "t2t|t2i|i2t|m2t|t2v|i2v|r2v|i2i|embedding|rerank|tts|asr|mm-embedding|mm-rerank", "sync_mode": "sync|async(提交后需轮询查询结果的填 async)", "description": "一句话说明"}], "pricing": { @@ -386,9 +386,10 @@ _EXTRACT_PROMPT = """你是大模型 API 配置专家。通读下面这份模型 - capability 必须以文档**概述正文 + 输入/输出模态声明**为准,禁止以调用示例为准—— 示例常只演示最简形态(纯文本 prompt),照示例判会把多媒体参考模型误判成纯文本模型。 - 判定表(输入模态 → 输出模态 ⇒ 能力): - 多种媒体输入或正文含「参考/reference/全能参考/多图/多模态输入」⇒ r2v(即使示例只有文本); + 多种媒体输入或正文含「参考/reference/全能参考/多图/多模态输入」且输出为视频 ⇒ r2v(即使示例只有文本); 图像+文本 → 视频 ⇒ i2v;仅文本 → 视频 ⇒ t2v;仅文本 → 图像 ⇒ t2i;图像 → 图像 ⇒ i2i; - 视频 → 视频 ⇒ v2v 类按字典就近;文本 → 音频 ⇒ tts;音频 → 文本 ⇒ asr。 + 视频 → 视频 ⇒ v2v 类按字典就近;文本 → 音频 ⇒ tts;音频 → 文本 ⇒ asr; + 仅图像(+文本) → 文本 ⇒ i2t;多种媒体输入(图+视频/音频等任意组合)(+文本) → 文本 ⇒ m2t;仅文本 → 文本 ⇒ t2t。 - description 里必须保留正文的模态声明原文关键词(如"支持四模态全能参考"),供下游一致性校验。 定价规则: @@ -927,7 +928,7 @@ _MEDIA_TYPES = ('first_frame', 'last_frame', 'ref_image', 'ref_images', 'image', _MEDIA_KEY_HINTS = ('img_url', 'image_url', 'first_frame_url', 'last_frame_url', 'ref_image_url', 'video_url', 'audio_url') # 需要「输入媒体」的能力(这些能力里出现 URL 叶子才判定为上传媒体) -_MEDIA_INPUT_CAPS = ('i2v', 'i2i', 'v2v', 'i2t', '2i2v', 'r2v') +_MEDIA_INPUT_CAPS = ('i2v', 'i2i', 'v2v', 'i2t', 'm2t', '2i2v', 'r2v') def _media_param_name(typeval, keyname):