-- ============================================================ -- MiniMax-H3 — 完整 uapi + uapiio 部署 SQL -- ============================================================ -- === 1. uapiio === INSERT IGNORE INTO uapiio (id, name, description, input_fields) VALUES ( 'm_h3_video_gen_io', 'MiniMax-H3 视频生成', 'MiniMax-H3 视频生成v2接口。支持文生视频、图生视频(首帧)。', '[ {"name":"model","label":"模型","uitype":"text","defaultvalue":"MiniMax-H3","hidden":true}, {"name":"prompt","label":"提示词","required":true,"uitype":"text"}, {"name":"image_files","label":"参考图片(首帧)","uitype":"image"}, {"name":"resolution","label":"分辨率","uitype":"code","data":[{"value":"768P","text":"768P"},{"value":"2K","text":"2K"}],"defaultvalue":"768P"}, {"name":"duration","label":"视频时长","uitype":"code","data":[{"value":4,"text":"4秒"},{"value":5,"text":"5秒"},{"value":6,"text":"6秒"},{"value":8,"text":"8秒"},{"value":10,"text":"10秒"},{"value":12,"text":"12秒"},{"value":15,"text":"15秒"}],"defaultvalue":5}, {"name":"ratio","label":"宽高比","uitype":"code","data":[{"value":"adaptive","text":"自适应"},{"value":"21:9","text":"21:9"},{"value":"16:9","text":"16:9"},{"value":"4:3","text":"4:3"},{"value":"1:1","text":"1:1"},{"value":"3:4","text":"3:4"},{"value":"9:16","text":"9:16"}],"defaultvalue":"adaptive"} ]' ); -- === 2. uapi: 创建任务 (async) === -- data: bricks字段 → MiniMax content数组格式 -- response: {{response}} 透传,由 chunk_match='task_id' 提取task_id INSERT IGNORE INTO uapi (id, upappid, name, title, description, need_auth, stream, path, httpmethod, chunk_match, headers, params, data, response, ioid) VALUES ( 'm_h3_create_task', 'minimax', 'video_generation_v2', 'MiniMax-H3 创建视频任务', '创建 MiniMax-H3 视频生成任务,返回 task_id 用于轮询结果', '0', 'async', '/v2/video_generation', 'POST', 'task_id', '{"Content-Type": "application/json", "Authorization": "Bearer {{apikey}}"}', NULL, '{ "model": "{{model or ''MiniMax-H3''}}", "content": [ {% if image_files %}{% if isinstance(image_files, str) %}{% set image_files = [image_files] %}{% endif %}{% for img in image_files %} {"type": "image_url", "image_url": {"url": "{{b64media2url(request, img)}}"}, "role": "first_frame"}{% if not loop.last or prompt %},{% endif %}{% endfor %}{% endif %}{% if prompt %} {"type": "text", "text": {{json.dumps(prompt)}}}{% endif %} ], "resolution": "{{resolution or ''768P''}}", "duration": {{duration or 5}}{% if ratio %}, "ratio": "{{ratio}}"{% endif %} }', '{{response}}', 'm_h3_video_gen_io' ); -- === 3. uapi: 查询任务 (sync) === -- response: 按Sage async task规范转换 -- output.task_status: SUCCEEDED → video+usage, FAILED → error INSERT IGNORE INTO uapi (id, upappid, name, title, description, need_auth, stream, path, httpmethod, chunk_match, headers, params, data, response, ioid) VALUES ( 'm_h3_query_task', 'minimax', 'query_video_generation', 'MiniMax-H3 查询视频任务', '按 task_id 查询 MiniMax-H3 视频生成任务状态与结果', '0', 'sync', '/v2/query/video_generation/{{task_id}}', 'GET', '', '{"Authorization": "Bearer {{apikey}}"}', NULL, NULL, '{ {% if output.task_status == ''SUCCEEDED'' %} "video": "{{downloadfile2url(request, output.video_url)}}", "usage": {{json.dumps(output.usage)}}, {% elif output.task_status == ''FAILED'' %} "error": "{{output.code}}:{{output.message}}", {% endif %} "status": "{{output.task_status}}" }', 'm_h3_video_gen_io' ); -- === 4. upapp === INSERT IGNORE INTO upapp (id, name, baseurl, myappid, ownerid, description) VALUES ( 'minimax', 'minimax', 'https://api.minimax.chat', 'minimax', 'platform', 'MiniMax 视频生成平台。提供 H3 视频生成模型。' ); -- === 5. upappkey (请替换真实 API Key) === -- INSERT IGNORE INTO upappkey (id, upappid, orgid, apikey, enabled_date, expired_date) VALUES ( -- 'mk_minimax_default', 'minimax', 'platform', '', '2025-01-01', '9999-12-31' -- );