diff --git a/pipeline_platform/platform_ability.py b/pipeline_platform/platform_ability.py index 69d3fbd..215d5a0 100644 --- a/pipeline_platform/platform_ability.py +++ b/pipeline_platform/platform_ability.py @@ -334,7 +334,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|embedding|rerank|tts|asr", + "models": [{"vendor_model_id": "供应商侧模型ID", "capability": "t2t|t2i|i2t|t2v|i2v|r2v|i2i|embedding|rerank|tts|asr", "sync_mode": "sync|async(提交后需轮询查询结果的填 async)", "description": "一句话说明"}], "pricing": { @@ -728,7 +728,7 @@ async def _h_apply_llm_config(sor, params, ctx): # 生成类能力:出参是文件(图/视频/音频/3D),response 必须 downloadfile2url 落地 -_MEDIA_CAPS = ('t2i', 'i2v', 't2v', 't2a', 'tts', 'i2i', 'v2v', '3d') +_MEDIA_CAPS = ('t2i', 'i2v', 't2v', 'r2v', 't2a', 'tts', 'i2i', 'v2v', '3d') async def _audit_media_convention(sor, profile_ids): @@ -777,7 +777,7 @@ async def _audit_media_convention(sor, profile_ids): # 能力 → 统一出参键(同类能力对外契约一致:视频出 video、图出 image) _MEDIA_OUT_KEY = { - 't2v': 'video', 'i2v': 'video', 'v2v': 'video', + 't2v': 'video', 'i2v': 'video', 'v2v': 'video', 'r2v': 'video', 't2i': 'image', 'i2i': 'image', 'tts': 'audio', 't2a': 'audio', '3d': 'glb', @@ -791,7 +791,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') +_MEDIA_INPUT_CAPS = ('i2v', 'i2i', 'v2v', 'i2t', '2i2v', 'r2v') def _media_param_name(typeval, keyname):