meigen@2.0.0 或更高版本(npx -y meigen@2.0.0),远程使用已更新的 https://www.meigen.ai/api/mcp。npm 1.4.0 不支持本页合同。发布顺序为后端部署、npm 发布、公开安装指南;2.0.0 尚未发布时应使用本地构建包验证。重新连接并检查实际 schema 是否包含 requestId、wait 和按请求查询。后端回滚时应保留恢复端点及幂等 POST 合同;无需撤回用户已安装的 npm 包。
普通生成任务合同
以上可恢复云端任务合同适用于 MeiGen。可选的本地 OpenAI-compatible/ComfyUI 后端异步能力可能不同,应读取实际 schema 和返回错误,不能假设它们存在 MeiGen 请求回执。保留调用方指定的模型、供应商和参数。需要查询当前能力或价格时均可使用
list_models;视频必须指定模型。
使用 structuredContent 推进工作流,不依赖人类可读文案或本地文件名。普通生成结果在信息可用时包含:
success、status:processing、completed、failed、error或unknown。requestId、generationId、实际mediaType、可选的原始意图requestedMediaType、modelId、deduped。urls,始终为数组;以及返回时存在的imageUrl或videoUrl。creditsUsed、creditsStatus;只有账务状态确认后才能声明退款。pollAfterSeconds、observationEnded;nextAction可包含type、tool、arguments、afterSeconds、message。error:code、message、retryable,以及可选的httpStatus、retryAfterSeconds、required、available。- 本地 npm 还可能包含
provider、savedPath、downloadWarning(生成成功,但本地保存失败)和receiptWarning(私有持久回执不可用,上层需保存请求 ID 和原始参数)。
unknown 是观察/恢复状态,不代表可以创建替代任务。普通任务使用 check_generation;五项专用 Skills 使用 check_skill、原 Skill/请求 ID 及完整 retryParameters。Skill 回执仍要求原 API Key;普通请求允许同一账号的另一个有效 API Key 恢复。不能将 Web session 免费积分任务转作 API Token 账务使用。
最小调用
以下完整步骤只依赖已连接并认证的 MCPclient,不依赖额外的计划变量。提交前保存 input;下方 UUID 仅用于这一次示例,新的生成意图应使用新 UUID,恢复时沿用已保存的 ID。
示例:N 个脚本 → N 张首帧 → N 段视频
上层先确定脚本、图像/视频参数、输出数量、批准的最高预算和替代失败任务的规则。可以通过list_models 查询当前选项;此处不假定固定模型、价格、时长或质量。
- 每个脚本创建并保存一个首帧 UUID 和一个视频 UUID,以及精确输入。只在创建新工作流时执行一次,重跑或恢复时不能重新分配。
- 每次新提交前,按当前选定模型、档位、时长和参考素材价格预留预计费用,同时计入全部在途预留。返回后用实际
creditsUsed和已确认退款核算;费用未明确时继续保留预算。 - 对独立首帧采用有限并发,立即保存每次响应。首帧完成后,先将选定 URL 保存为对应视频的固定输入,再提交视频。如果模型返回多张候选图,上层需保存选定的那张。
- 使用已有句柄查询或恢复。宿主重启时读取保存的计划,查询待完成步骤;不重建 UUID,也不重新上传没有变化的参考图。
- 把完成视频和失败/未明确的步骤交回上层。中间预览、视觉检查、下载、最终展示以及已授权的失败替代均由上层决定。
script、参数和持久化 ID 来自上层保存的计划,client 是已连接的 MCP 客户端。这是调用示例,不是调度器或新的 API SDK。
Retry-After。不存在通用的“最多 10 张”工作流上限,也不禁止已授权视频任务并发。
预算由调用方管理,不是服务端原子执行的整批预算上限。估价可能变化;新增价格或缩图代价超出已批准范围时应暂停处理。独立步骤可能部分成功,失败不会回滚已经完成的首帧或视频。
本地 wait: true 对暂态状态查询错误进行有界重试:连续三次错误后停止,成功状态查询重置计数;遵守较长的 Retry-After,查询和退避都计入总观察预算。取消或终态错误立即停止。这只重试查询,不重发生成 POST,也不说明任务已取消、失败或退款。
恢复时避免重复生成
远程普通生成保留旧版
attemptId 兼容入口;新集成优先使用 UUID requestId。旧回执可能没有核验所有历史参数所需的标准化输入,因此不能宣称新保护能够追溯验证每一个旧任务。
旧请求与换 Key: 使用旧 attemptId 提交但丢失响应时,应先用原 Key 恢复,再撤销该 Key。旧句柄包含 Key,新 Key 无法重建尚未记录的旧身份。已有 generationId 时应保存;不要用新 Key 自动重交仍未明确的旧尝试。