展开本页目录
开始前准备什么
- 下载本页 ZIP,保留原始输入和来源;示例材料不是模型输出。
- 按官方说明准备匹配软件/模型、设备或账号权限,权重与账号额度不包含在下载包。
- 本地检查需 Python 3 与 FFmpeg/ffprobe;真实结果需要实际生成并回听/看图。
- 通过官方接口上传片段,配音走已配置 TTS
- 从当前 OpenAPI 核对真实前缀
- 配置最小请求并只提交一次
- 轮询真实状态并设置截止时间
- 从返回字段下载真实结果
- 回读 MP4 与任务对应关系
1. 通过官方接口上传片段,配音走已配置 TTS
在本机 /docs 找到 POST video_materials,逐个上传本包 clip,保存响应 data.file。HTTP 的 custom_audio_file 默认只允许当前任务目录文件,不能把任意主机绝对路径塞进去;自备配音改走已有 WebUI/CLI 教程。本题 request.json 不发送该字段。
2. 从当前 OpenAPI 核对真实前缀
启动官方 API 服务,保存本机 /openapi.json。不要凭旧文章硬编码 /api/v1;run-api.py 会从实际 paths 中寻找唯一的 /videos 与 /tasks/{task_id} 路由,歧义时停止,请人工核对。
3. 配置最小请求并只提交一次
保持 video_source=local,把 video_materials 的 url 填为上传返回的文件 key;voice_name 选本机已验证可用的 TTS 音色,关闭字幕与配乐。脚本拒绝所有 REPLACE_WITH 占位,并在 POST 前写 pending-submit.json;响应丢失时先核实服务任务,不自动重发。
4. 轮询真实状态并设置截止时间
按脚本间隔读取 task.data.state:当前源码 1 完成、-1 失败,其它状态继续等。记录每次实际 JSON,超过截止时间退出并保留 task_id,后续用 --task-id 查询原任务,不能自己填 100% 进度。
5. 从返回字段下载真实结果
成功后使用响应 videos 文件 URL,限制为同一本地服务来源,以流方式写临时文件;检查 Content-Type,再用 ffprobe 验证有效视频流、时长与容器后才替换 final.mp4。404、空文件和错误 JSON/HTML 不命名为成功 MP4。
运行步骤
# 在 MoneyPrinterTurbo 仓库按官方 README 启动 API
uv run python main.py
# 在本机 /docs 的 POST video_materials 上传片段
# 将返回 data.file 与真实可用 voice_name 填入 request.json,再运行
python run-api.py --origin http://127.0.0.1:8080
# 查询既有任务而不重复提交
python run-api.py --origin http://127.0.0.1:8080 --task-id 你的真实任务ID6. 回读 MP4 与任务对应关系
运行 check.py --result final.mp4,检查时长、视频流与输入是否相同,再播放首尾。示例 runtime.json 初始为 not-executed;本站没有开启 MPT API、排队或下载该软件产物。
7. 实读输入与坏文件,再检查你自己的输出
在解压目录运行 python check.py --self-test。脚本读取本页 provenance.json 的输入 hash,检查真实音视频/PNG 和目标区间;坏 WAV、坏 MP4 与反向时间范围应被拒绝。它不会下载模型、请求账号或自动判定口型、音乐质量。输入检查结果见 input-check.json。实际运行后用 --result 指向新文件,并逐项回听/看图。
check.py
python check.py --self-test
python check.py --result 你实际导出的文件.mp48. 交付原始输入、真实输出和待确认项
保留 README、原始输入、parameters.json、provenance.json 和你实际生成的文件;将模型/软件/账号版本、设备和错误写入独立运行记录。review.csv 的 pending 由真实回听/看图后更新,未运行项目不改成 done。配图中的原始参考与官方示例不代表本站已生成同样成果。
怎样确认已经完成
- 路由来自实际 OpenAPI,镜头使用上传返回的文件 key,TTS 音色已实测可用。
- task_id 与请求 hash 保存,超时后查询原任务。
- 成功结果能解码并播放,不能将错误响应当视频。
常见问题
为什么脚本不直接固定 /api/v1/videos?
官方部署或版本可能影响前缀。脚本读取当前服务公开 OpenAPI,再要求唯一匹配;这样避免静默请求错误地址。
本站已经跑过 MPT API 的完整生成吗?
没有。本次执行了输入预检、请求结构和错误分支检查,未启动外部服务或付费模型。真正 API 响应、任务状态和成片须由实际环境产出。



