mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-07-23 05:43:48 +08:00
## 概述 / Summary 将默认全局技能 **minimax-video-gen(MiniMax 文生视频)** 从 MiniMax 原生 API 切换到 NewAPI 网关,已在本地 dev 环境验证通过。版本 `1.2.3 → 1.3.0`。 Switch the built-in skill **minimax-video-gen** from MiniMax's native API to the NewAPI gateway. Verified locally in dev. Version bumped `1.2.3 → 1.3.0`. ## 改动 / Changes - `provider: "minimax"` → `providerId: "desirecore-cloud"`(原生主机不支持 NewAPI 路径,必须用 providerId 指定网关 / native host doesn't support the NewAPI path) - endpoint `/video_generation` → `/video/generations`(带 s / with trailing "s") - 轮询/状态值 `Success/Fail/Processing` → `completed/failed/queued/in_progress` - 移除 `file_id` 检索步骤,下载链接改为直接从 `data.metadata.url` 提取 / drop the `file_id` retrieval step, read the URL from `data.metadata.url` - 字段名 `resolution` → `size`;默认参数 `size=768P, duration=6` - 下载用 `curl -sL` 直连,不再经 media-proxy 代理 / download directly, no media-proxy 中英双语文档(SKILL.md / SKILL.zh-CN.md)已同步修改。 ## 影响 / Impact 合并后,已安装且未偏离该技能的线上客户端将通过 `marketSync` 的 git fetch + 10 分钟定时 `syncMarketSkillsOnly` 自动更新到 1.3.0(`compareSemver(1.2.3, 1.3.0) === -1` 触发更新);已手动修改过该技能的用户会被跳过以保护本地改动。 Once merged, installed clients that haven't locally diverged will auto-update to 1.3.0 via marketSync git fetch + the 10-min `syncMarketSkillsOnly` timer. Users who modified the skill locally are skipped.
6.4 KiB
6.4 KiB
minimax-video-gen 技能
强制规则(违反将导致功能失败)
- 必须用 HTTPS 访问 agent-service —
https://127.0.0.1:${PORT}加-k跳过证书验证 - 全程使用 Bash curl — 不要使用 HttpRequest 工具或 Python
- 轮询间隔 10 秒 — 使用
sleep 10等待 - 必须使用
providerId— 不要使用provider,否则会路由到错误的上游
完整执行流程
前置条件
- 用户已在资源管理器-算力中配置并启用支持
video_gen服务的 Provider 并填写 API Key - agent-service 正在运行
核心概念:四步异步流程
视频生成通过 NewAPI 网关采用异步任务模式:
- 提交任务:POST
/video/generations创建任务,返回task_id - 轮询状态:GET
/videos/{task_id}直到status为"completed" - 下载并上传:从
data.metadata.url下载视频,上传到 media-store - 展示:用
dc-media://协议展示
Provider 选择(重要)
使用 providerId(不是 provider)来指定正确的网关。当 Provider 是 NewAPI 网关(如 desirecore-cloud)时,使用 providerId。不要使用 provider: "minimax"——这会路由到 MiniMax 原生主机,原生主机不支持 NewAPI 的 /video/generations 路径。
{
"providerId": "desirecore-cloud",
"serviceType": "video_gen",
"endpoint": "/video/generations",
...
}
模型选择与降级策略
| 模型 | 支持模式 | 特点 | 适用场景 |
|---|---|---|---|
| MiniMax-Hailuo-2.3 | 文生视频 + 图生视频 | 最高画质,默认首选 | 用户未指定时的默认选择 |
| MiniMax-Hailuo-2.3-fast | 仅图生视频 | 速度快,成本低 50% | 图生视频场景下额度不足时降级 |
降级规则(强制):
- 默认使用
MiniMax-Hailuo-2.3 - 文生视频(T2V)额度不足时:
MiniMax-Hailuo-2.3-fast不支持文生视频,无法降级。应直接告知用户额度不足,建议等待额度重置或切换到其他视频生成服务(如可灵) - 图生视频(I2V)额度不足时:可降级到
MiniMax-Hailuo-2.3-fast,告知用户"已切换到快速模型生成" - 如果用户做图生视频且明确要求快速生成,直接使用
MiniMax-Hailuo-2.3-fast
第一步:提交文生视频任务
重要:endpoint 是 /video/generations(带 "s"),不是 /video_generation。
PORT=$(cat ${DESIRECORE_ROOT}/agent-service.port)
curl -sk -X POST "https://127.0.0.1:${PORT}/api/media-proxy" \
-H "Content-Type: application/json" \
-d '{
"providerId": "desirecore-cloud",
"serviceType": "video_gen",
"endpoint": "/video/generations",
"body": {
"model": "MiniMax-Hailuo-2.3",
"prompt": "用户描述的视频内容",
"size": "768P",
"duration": 6
},
"responseType": "json"
}'
可选参数(加入 body 中):
"duration": 视频时长秒数(6 或 10)"size":"768P"或"1080P"(使用size,不是resolution)
从 JSON 响应中提取 data.task_id。
成功响应示例:
{
"success": true,
"data": {
"id": "task_xxx",
"task_id": "task_xxx",
"object": "video",
"model": "MiniMax-Hailuo-2.3",
"status": "queued",
"progress": 0,
"created_at": 1780995870
},
"statusCode": 200
}
第一步(备选):图生视频
PORT=$(cat ${DESIRECORE_ROOT}/agent-service.port)
curl -sk -X POST "https://127.0.0.1:${PORT}/api/media-proxy" \
-H "Content-Type: application/json" \
-d '{
"providerId": "desirecore-cloud",
"serviceType": "video_gen",
"endpoint": "/video/generations",
"body": {
"model": "MiniMax-Hailuo-2.3",
"prompt": "描述图片中场景的动态变化",
"first_frame_image": "https://图片URL",
"size": "768P"
},
"responseType": "json"
}'
第二步:轮询任务状态
每隔 10 秒调用一次,直到 status 为 "completed" 或 "failed"。将 TASK_ID 替换为第一步返回的 task_id。
PORT=$(cat ${DESIRECORE_ROOT}/agent-service.port)
TASK_ID="第一步返回的task_id"
curl -sk -X POST "https://127.0.0.1:${PORT}/api/media-proxy" \
-H "Content-Type: application/json" \
-d "{
\"providerId\": \"desirecore-cloud\",
\"serviceType\": \"video_gen\",
\"endpoint\": \"/videos/${TASK_ID}\",
\"method\": \"GET\",
\"responseType\": \"json\"
}"
处理中状态可能为:"queued" 或 "in_progress"。
轮询响应(进行中):
{
"success": true,
"data": {
"id": "task_xxx",
"status": "in_progress",
"progress": 42
}
}
轮询响应(完成):
{
"success": true,
"data": {
"id": "task_xxx",
"status": "completed",
"progress": 100,
"metadata": {
"url": "https://.../output_aigc.mp4?..."
}
}
}
第三步:下载并上传到 media-store
从第二步完成响应的 data.metadata.url 提取视频下载地址。下载 URL 有 24 小时时效,必须立即下载。
PORT=$(cat ${DESIRECORE_ROOT}/agent-service.port)
VIDEO_URL="第二步返回的 data.metadata.url"
curl -sL "$VIDEO_URL" -o /tmp/minimax-video.mp4 && \
curl -sk -X POST "https://127.0.0.1:${PORT}/api/media/upload" \
-F "file=@/tmp/minimax-video.mp4;type=video/mp4"
从 JSON 响应中提取 mediaId 字段。
第四步:用 dc-media 协议展示视频
在你的回复文本中直接写 Markdown 图片语法(前端会自动识别视频扩展名并渲染播放器):

错误处理
status: "failed":视频生成失败,向用户说明success: false+error: "未找到匹配的供应商":未找到已启用且支持video_gen服务的 Providersuccess: false+error: "未配置 API Key":未填写 API Key- 额度不足(
statusCode: 429、insufficient_quota、balance相关错误):文生视频无法降级(Fast 模型不支持 T2V),告知用户额度不足;图生视频可换用MiniMax-Hailuo-2.3-fast从第一步重试 - 轮询超过 10 分钟未完成:告知用户任务可能超时
注意事项
- 视频生成是异步的,通常需要 2-10 分钟
- 轮询间隔建议 10 秒
- 下载 URL 有 24 小时时效
- 如果用户未明确要求,默认传
"size": "768P"和"duration": 6 - 不要通过 media-proxy 代理下载 URL——用
curl -sL "$VIDEO_URL"直接下载