在这篇文章中,我们将介绍如何集成 Midjourney 视频 API,该 API 允许用户通过输入自定义参数生成官方的 Midjourney 视频。无论你是初学者还是中级开发者,本文都将为你提供详细的步骤,帮助你快速上手。
简介
Midjourney 是一个基于人工智能的图像和视频生成平台,通过其 API,用户可以轻松生成创意视频,适用于各种场景,比如社交媒体内容制作、广告宣传、以及个人创作等。本文将逐步指导你如何申请和使用 Midjourney 视频 API。
环境准备/前置条件
在开始之前,请确保你具备以下条件:
- 访问 Midjourney 视频 API 页面。
- 注册并登录你的账户。
- 具备基本的 Python 编程知识。
详细步骤
申请 API 使用权限
首先,你需要在 Midjourney 视频 API 页面申请相应的服务。进入页面后,点击"获取"按钮,如下图所示:

如果你尚未登录或注册,系统会自动将你重定向到登录页面。完成登录或注册后,你将返回到当前页面。
首次申请时,你将获得一个免费的配额,以便免费使用 API。
基本用法
了解基本用法后,你可以通过输入以下字段生成视频:
promptactionimage_url(参考图像链接)
首先,你需要将 action 字段设置为 generate,此字段主要包括两个动作:生成视频(generate)和扩展视频(extend)。具体步骤如下:

请求头中应包括:
accept: 填写为application/json,表示期望接收 JSON 格式的响应。authorization: 用于调用 API 的密钥,可以在申请后直接选择。
请求体设置如下:
image_url: 生成视频的第一帧参考图像链接。end_image_url: 可选,指定生成视频的最后一帧参考图像。video_id: 扩展视频时需指定的视频 ID。video_index: 指定扩展的具体视频索引,索引从 0 开始,默认值为 0。action: 视频生成任务的动作,主要包括生成视频(generate)和扩展视频(extend)。prompt: 生成提示。mode: 视频生成的速度模式,默认为快速。resolution: 视频清晰度,默认为 720p。loop: 是否生成循环视频,默认为 false。callback_url: 接收回调结果的 URL。
填写完毕后,代码将自动生成,如下图所示:

点击"尝试"按钮进行测试,结果如下:
json
{
"image_url": "https://storage.fonedis.cc/upload_1751816808164156352.png",
"image_width": 560,
"image_height": 688,
"progress": 100,
"video_id": "1751816807896311",
"video_urls": [
"https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_0.mp4",
"https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_1.mp4",
"https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_2.mp4",
"https://storage.fonedis.cc//video/1c67c36c-8177-4f19-ad72-1dc1567265a6/0_3.mp4"
],
"task_id": "037955e0-deee-4050-baa8-1416300d67e2",
"success": true
}
返回的结果包含多个字段,详见下述说明:
success: 当前视频生成任务的状态。task_id: 当前视频生成任务的 ID。image_url: 当前视频生成任务的封面图像。image_width: 当前视频生成任务封面图像的宽度。image_height: 当前视频生成任务封面图像的高度。video_id: 当前视频生成任务的视频 ID。video_urls: 当前视频生成任务的视频链接数组。
通过 video_urls 中的视频链接,你可以轻松获取生成的 Midjourney 视频。
扩展视频功能
如果你想继续生成已经创建的视频,只需将 action 设置为 extend 并输入要继续生成的视频 ID。该视频 ID 可以通过基本用法获得。
从前面的文本中,我们可以看到视频 ID 是:
"video_id": "1751816807896311"
接下来,你需要填写下列内容以自定义视频生成:
video_index: 选择要扩展的视频索引,索引从video_urls中获取,默认值为 0。video_id: 指定要扩展的视频 ID。action: 视频扩展的动作,设置为extend。prompt: 生成提示。
以下是填入内容的示例:

填写后,代码将自动生成:

对应的 Python 代码如下:
python
import requests
url = "https://api.acedata.cloud/midjourney/videos"
headers = {
"accept": "application/json",
"authorization": "Bearer {token}",
"content-type": "application/json"
}
payload = {
"action": "extend",
"prompt": "A cat sitting on a table",
"video_id": "1751816807896311",
"video_index": 1
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
点击运行后,你将获得如下结果:
json
{
"image_url": "https://storage.fonedis.cc/upload_1751817471047011172.png",
"image_width": 560,
"image_height": 688,
"progress": 100,
"video_id": "1751818094559027",
"video_urls": [
"https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_0.mp4",
"https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_1.mp4",
"https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_2.mp4",
"https://storage.fonedis.cc//video/a4bd2f43-b925-462d-9725-8aef98403133/0_3.mp4"
],
"task_id": "da3bdcd0-9c21-4b40-877a-2c36e5f479e5",
"success": true
}
可以看到结果内容与前述一致,实现了扩展视频功能。
异步回调
由于 Midjourney 视频 API 的生成时间较长,大约为 1-2 分钟,如果 API 长时间没有响应,HTTP 请求会保持连接,从而导致额外的系统资源消耗。因此,该 API 还支持异步回调。
整体流程是:客户端发起请求时,指定一个额外的 callback_url 字段。API 会立即返回一个包含 task_id 字段的结果,表示当前任务 ID。当任务完成后,生成的视频结果将以 POST JSON 形式发送到客户端指定的 callback_url,同时也包括 task_id 字段,以便通过 ID 关联任务结果。
下面通过示例了解如何操作。
首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应将其替换为自己 HTTP 服务器的 URL。为演示目的,我们使用一个公共 Webhook 示例网站 webhook.site,打开该网站会提供一个 Webhook URL,如下图所示: