uapi/sql/minimax_h3_setup.sql

151 lines
4.1 KiB
SQL

-- ============================================================
-- MiniMax-H3 — uapiio + uapi (data/response Jinja2 templates)
-- ============================================================
-- === 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"
}
]'
);
-- === uapi: 创建视频任务 ===
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'
);
-- === uapi: 查询视频任务 ===
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,
'{
"task_id": "{{response.task.id}}",
"status": "{{response.task.status}}",
"video_url": "{{response.task.content.url}}",
"resolution": "{{response.task.resolution}}",
"duration": {{response.task.duration}},
"ratio": "{{response.task.ratio}}"
}',
'm_h3_video_gen_io'
);
-- === upapp ===
INSERT IGNORE INTO upapp (id, name, baseurl, myappid, ownerid, description) VALUES (
'minimax',
'minimax',
'https://api.minimax.chat',
'minimax',
'platform',
'MiniMax 视频生成平台。提供 H3 视频生成模型。'
);