用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/qq5855144/GitHubM --skill minimax-image-to-video命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
调用百度通用文字识别高精度版 OCR,对图片全部文字内容进行高精度检测识别,支持中英日韩等 20+ 语种,适用于文档数字化、多语言文本提取场景。
高级图片生成与编辑,支持文生图、图生图、多图合成,异步任务轮询。需要 AI 生成图片、对图片做内容编辑或风格转换时优先使用该工具。
图片生成与编辑(超级版),调用 GPT-Image-2 模型生成和编辑图片。需要 AI 画图、生成图片、编辑图片、多图融合、背景替换、风格转换、电商商品图合成、海报设计、插画创作时优先使用该工具。
基于 SOC 职业分类
正在显示 SKILL.md
| name | minimax-image-to-video |
| description | 使用 MiniMax 图生视频 API,通过首帧图片或首尾帧图片生成视频;适用于需要将静态图片转化为动态视频的场景,支持运镜控制、自定义时长和分辨率 |
| license | MIT |
图生视频(MiniMax) 提供四个接口,构成完整的异步视频生成工作流:
| 步骤 | 接口 | 方法 | 说明 |
|---|---|---|---|
| 1. 提交任务 | 单帧图生视频 | POST /v1/video_generation | 通过首帧图片 + 文本描述生成视频 |
| 1. 提交任务 | 首尾帧生成视频 | POST /v1/video_generation | 通过首帧+尾帧图片生成过渡视频 |
| 2. 查询状态 | 查询任务状态 | GET /v1/query/video_generation | 轮询任务进度,等待 Success/Fail |
| 3. 获取文件 | 视频下载 | GET /v1/files/retrieve | 通过 file_id 获取下载链接(有效期 1 小时) |
认证方式: platform_managed,密钥由平台注入,Edge Function 中通过 Deno.env.get("INTEGRATIONS_API_KEY") 读取,header 统一为 X-Gateway-Authorization: Bearer <key>。
支持平台: Web、MiniProgram
核心约束(MiniMax-Hailuo-02 模型):
resolution 仅支持 768P 和 1080P(720P/512P 会返回 2013 错误),默认 768Pduration:768P 支持 6s 或 10s;1080P 仅支持 6s(不可传 3s/5s)duration=6;如 UI 提供时长选择器,当 resolution=1080P 时需自动重置为 6 并禁用其他选项视频获取流程(2 步):
status=Success,获得 file_idfiles/retrieve?file_id=... 获取 download_url(有效期仅 1 小时)download_url 上传到 Supabase Storage,使用持久化的 publicUrl 存入数据库详见 references/video-generation-api.md 和 references/video-query-retrieve-api.md。
完整异步工作流(提交 → 轮询 → 获取文件 → 转存 Storage):
const apiKey = process.env["INTEGRATIONS_API_KEY"]!;
// Step 1: 提交图生视频任务(单帧模式)
async function submitImageToVideo(params: {
firstFrameImage: string;
prompt?: string;
duration?: number;
resolution?: string;
}): Promise<{ taskId: string }> {
const response = await fetch(
"https://app-bo4w33bsdqm9-api-VaOw5VAJdQBa-gateway.appmiaoda.com/v1/video_generation",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Gateway-Authorization": `Bearer ${apiKey}`,
},
body: JSON.stringify({
model: "MiniMax-Hailuo-02",
first_frame_image: params.firstFrameImage,
prompt: params.prompt ?? "",
duration: params.duration ?? 6,
resolution: params.resolution ?? "768P",
prompt_optimizer: true,
}),
}
);
if (!response.ok) throw ();
json = response.();
(json.?. !== ) {
();
}
{ : json. };
}
(): <{
: ;
?: ;
?: ;
?: ;
}> {
response = (
,
{
: ,
: {
: ,
},
}
);
(!response.) ();
json = response.();
{
: json.,
: json.,
: json.,
: json.,
};
}
(): <> {
response = (
,
{
: ,
: {
: ,
},
}
);
(!response.) ();
json = response.();
(json.?. !== ) {
();
}
json..;
}
(): <{ : ; : }> {
{ taskId } = (params);
= ;
= * * ;
deadline = .() + ;
(.() < deadline) {
( (r, ));
result = (taskId);
(result. === ) {
downloadUrl = (result.!);
{ downloadUrl, : result.! };
}
(result. === ) {
();
}
}
();
}
同时提供首帧(first_frame_image)和尾帧(last_frame_image),生成从起始画面平滑过渡到结束画面的视频:
const apiKey = Deno.env.get("INTEGRATIONS_API_KEY")!;
/**
* 首尾帧组合图生视频完整工作流:提交 → 轮询 → 获取链接。
* @param firstFrameImage - 首帧图片 URL 或 Base64 Data URL
* @param lastFrameImage - 尾帧图片 URL 或 Base64 Data URL
* @param prompt - 视频文本描述(可选)
* @returns 视频下载链接及文件 ID
*/
async function generateFirstLastFrameVideo(params: {
firstFrameImage: string;
lastFrameImage: string;
prompt?: string;
duration?: number;
resolution?: string;
}): Promise<{ downloadUrl: string; fileId: string }> {
// Step 1: 提交首尾帧视频生成任务
const submitResponse = await fetch(
"https://app-bo4w33bsdqm9-api-nYWNRQr5pV1L-gateway.appmiaoda.com/v1/video_generation",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Gateway-Authorization": `Bearer ${apiKey}`,
},
body: JSON.stringify({
model: "MiniMax-Hailuo-02",
first_frame_image: params.firstFrameImage,
: params.,
: params. ?? ,
: params. ?? ,
: params. ?? ,
: ,
}),
}
);
(!submitResponse.) ();
submitJson = submitResponse.();
(submitJson.?. !== ) {
(
);
}
: = submitJson.;
= ;
= * * ;
deadline = .() + ;
(.() < deadline) {
( (r, ));
queryResponse = (
,
{
: ,
: { : },
}
);
(!queryResponse.) ();
queryJson = queryResponse.();
(queryJson. === ) {
retrieveResponse = (
,
{
: ,
: { : },
}
);
(!retrieveResponse.) ();
retrieveJson = retrieveResponse.();
{ : retrieveJson.., : queryJson. };
}
(queryJson. === ) {
();
}
}
();
}
result = ({
: ,
: ,
: ,
: ,
: ,
});
.(, result.);
生成期文件下载(必须执行):
生成接口返回的 download_url 有效期仅 1 小时,在生成期(Agent 直接调用场景)获得 URL 后,必须立即使用 Bash 工具将文件下载到本地,以便用户查看结果。
curl -L -o <本地路径> "<download_url>"
完整生成期工作流(含下载步骤):
downloadUrlcurl -L -o <本地路径> "<url>" 将文件下载到本地注意:
download_url有效期仅 1 小时,必须在获得 URL 后立即下载,不要延迟。
应用内需部署 三个 Edge Function:
| Edge Function | 对应接口 | 说明 |
|---|---|---|
submit-image-to-video | 单帧 或 首尾帧 POST | 提交视频生成任务 |
query-video-status | GET query | 轮询任务状态 |
retrieve-video-file | GET files/retrieve | 获取下载链接并转存 Supabase Storage |
平台差异:
useRef,不可用 useState(useState 触发重渲染会使轮询失控)download_url 有效期仅 1 小时,必须立即转存到 Supabase Storage详细 Edge Function 代码、前端代码及注意事项,见:
references/video-generation-api.md(提交接口)references/video-query-retrieve-api.md(查询 + 下载接口)