如何通过 Midjourney API 创建视频?

CometAPI
AnnaDec 29, 2025
如何通过 Midjourney API 创建视频?

Midjourney 进军视频领域,已成为 2025 年最重要的创意科技故事之一。它从备受喜爱的图像优先工具起步,新增了“Image-to-Video”工作流,将静态图转换为短动画片段——而且系统正在迅速演进。

Midjourney 的视频能力是一个 image-to-video 工作流,通过“Animate”流程将单帧图像动画化为短片段,默认生成 5 秒的片段,并允许扩展至约 21 秒。该功能于 2025 年中以 Midjourney 的 V1 视频模型发布,并可通过 CometAPI 的 Midjourney Video V1 API 使用。

什么是 Midjourney V1

Midjourney V1 的作用及其如何呈现给用户

Midjourney 的 V1 视频模型将单张静态图(可为 Midjourney 内部生成或外部托管的图像)转换为短动画片段——默认约 5 秒——支持自动或手动动画模式与运动强度标记(--motion low / --motion high)。用户可按每次 4 秒进行扩展(最长约 21 秒),并可控制批量大小、循环与终帧;视频输出为 MP4。Midjourney 的 V1 Video 模型是专注于短、风格化、可循环片段的image-to-video模型。V1 模型的典型特征包括:

  • 基础片段长度约 5 秒,并具备可控的扩展机制(每次 4 秒增量,直至文档规定的上限)。
  • 强调保留源图的艺术风格(笔触、色彩、氛围)。
  • 为快速迭代进行分辨率与质量的权衡;V1 面向社交与网页内容,而非完整电影级输出。

这些约束将影响你设计素材与提示词的方式:V1 最适合用于简洁的运动、动画化静帧、产品主视觉循环或短角色片段,而非长场景。

CometAPI 如何呈现 Midjourney 视频模型

CometAPI 是一个多模型网关,在统一的 REST 接口之后聚合了数百种 AI 模型(文本、图像、音频,以及如今的 image-to-video)。其 Midjourney Video 服务封装了 Midjourney 的 V1 Video 能力,使工程师能通过编程方式进行 image-to-video 生成,而不仅依赖 Discord/网页交互。这对于自动化创意流水线、构建概念验证、以及将短动画素材集成到应用或内容生产流程中非常有用。

CometAPI 的 Midjourney Video 使开发者能够进行认证,调用 /mj/submit/video 端点,并传递诸如 prompt(可包含起始图像 URL)、videoType(例如 vid_1.1_i2v_480)、mode(fast/relax)与 animateMode(automatic/manual)等参数。与以 Discord 为中心的 Midjourney 直接集成相比,CometAPI 具有更低的单次调用价格与便利性(单一 API Key + REST 接口)。

在调用 API 之前我该如何准备?

我需要哪些凭证和账户?

  1. 在 CometAPI 注册,并在账户控制台生成 API Key(CometAPI 使用类似 sk-xxxxx 的 Bearer Token)。
  2. 确保你的图像素材可在线访问(公开可访问的 URL),如果计划使用外部图像作为起始帧。对于外部图像→视频工作流,Midjourney 需要可访问的 URL。

前期需要做出的决策

  • 起始图像 — 选择主题清晰、构图明确的图像;纵横比会影响最终视频分辨率/比例(Midjourney 会将起始纵横比映射到 SD/HD 像素尺寸)。
  • 运动风格 — 决定低运动或高运动(--motion low vs --motion high),以及是否使用自动推断或手动控制镜头/主体运动。
  • 时长与批量大小 — 默认 5 秒;可扩展至约 21 秒。批量大小默认 4(Midjourney 返回 4 个变体),但你可以请求 1 或 2 以节省算力。
  • 分辨率 — V1 主要默认是 SD(480p);HD(720p)需要参数说明,例如 vid_1.1_i2v_480。

如何调用 CometAPI 的 Midjourney 视频端点(逐步示例)?

最小请求负载是什么?

至少需要发送:

  • prompt:起始图像 URL 与可选的文字运动提示(例如,"https://.../frame.png add a dog running from left to right")。
  • videoType:例如,vid_1.1_i2v_480
  • mode"fast"(或在计划允许时为 "relax")。
  • animateMode"automatic""manual"

这是一个演示向https://api.cometapi.com/mj/submit/video.发起 POST 的 curl 示例。以下是一个清理过、可直接复制的 curl 示例,改编自 CometAPI 的示例:

curl --location --request POST 'https://api.cometapi.com/mj/submit/video' \
  --header 'Authorization: Bearer sk-YOUR_COMETAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "prompt": "https://cdn.midjourney.com/example/0_0.png A peaceful seaside scene — camera slowly zooms out and a gull flies by",
    "videoType": "vid_1.1_i2v_480",
    "mode": "fast",
    "animateMode": "manual",
    "motion": "low",
    "bs": 1
  }'

Python 示例(requests)

如果你偏好 Python,下面是一个使用 requests 提交视频任务并轮询完成的健壮示例(请替换占位符)。这是一个实用模式:提交 → 轮询 → 下载。以下示例有意保持简洁,生产环境应适配你的异步/作业系统。

import time
import requests

API_KEY = "sk-YOUR_COMETAPI_KEY"
BASE = "https://api.cometapi.com"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

payload = {
    "prompt": "https://cdn.midjourney.com/example/0_0.png A calm city street — camera pans left, rain falling",
    "videoType": "vid_1.1_i2v_480",
    "mode": "fast",
    "animateMode": "manual",
    "motion": "low",
    "bs": 1
}

# Submit job
r = requests.post(f"{BASE}/mj/submit/video", json=payload, headers=HEADERS)
r.raise_for_status()
job = r.json()
job_id = job.get("id") or job.get("job_id")

# Poll for completion (example polling)
status_url = f"{BASE}/mj/status/{job_id}"
for _ in range(60):  # poll up to ~60 times
    s = requests.get(status_url, headers=HEADERS)
    s.raise_for_status()
    st = s.json()
    if st.get("status") == "completed":
        download_url = st.get("result", {}).get("video_url")
        print("Video ready:", download_url)
        break
    elif st.get("status") in ("failed", "error"):
        raise RuntimeError("Video generation failed: " + str(st))
    time.sleep(2)

如何为 Midjourney/CometAPI 视频添加音频(语音、音乐、音效)?

Midjourney 是否原生生成音频?

不支持——在 V1 阶段,Midjourney 的视频输出为静音(不嵌入音频的 MP4)。用户需在外部增加声音。(也有其他 AI 系统可同时生成音频/视频,但 Midjourney 的 V1 专注于视觉运动。)

添加语音与声音的推荐流程

  1. 文本转语音(TTS)用于解说/人声 — 使用 ElevenLabs、Replica 或类似的语音克隆/TTS 服务,从脚本生成语音轨。这些服务可生成自然语音风格,并且通常按分钟计价较为低廉。(LinkedIn/社区帖子推荐 ElevenLabs 作为轻量的人声选择。)
  2. 用于音乐/音效的 AI 音频设计工具 — 像 MM Audio、Magicshot 或专业化 SFX 生成器可生成契合片段的背景氛围与效果。社区指南与教程表明 MM Audio 及其他音频 AI 能提供不错的质量。
  3. 手动 DAW/编辑器方案(精细控制) — 将生成的 MP4 导入 DaVinci Resolve/Premiere/Audacity,添加 TTS 人声、音效并混音。这是实现精确口型同步与时序的最佳路径。社区教程与 YouTube 演示提供将音频匹配到 Midjourney 视频的循序步骤。

快速示例:用 ffmpeg 合成音频 + 视频

假设 video.mp4(静音)与 speech.mp3(TTS)已准备好:

# Normalize audio length (optional), then combine:
ffmpeg -i video.mp4 -i speech.mp3 -c:v copy -c:a aac -shortest output_with_audio.mp4

对于更高级的混合(背景音乐 + 对话 + 音效),请先在你的 DAW 渲染单一混合音轨,再按上述方式复用进视频。

我该如何编写运动提示词以控制动画?

运动提示词模式

Midjourney V1 的运动提示词由自然语言驱动。常用模式:

  • 方向/动作:“镜头向左推进,同时主体向前行走”
  • 物体运动:“树叶从树上落下并向镜头漂移”
  • 镜头指令:“缓慢推近,轻微视差,2x 速度”
  • 时间质感:“动作轻微、可循环、电影般节奏”

先以简洁的运动句子起步,再追加风格与时序形容词:例如,"start_frame_url animate: '缓慢螺旋镜头,主体轻轻摆动,可循环', style: '胶片颗粒、电影质感、2 fps 节奏'"。试验与小步迭代至关重要。

手动 vs 自动动画

  • 自动:让模型推断合理的运动。适合快速试验。
  • 手动:提供明确的镜头路径与主体向量,以获得一致、可复现的结果——当需要可预测的编排或匹配实拍素材时更有用。

如何扩展视频、调整批量大小或创建循环?

扩展视频时长

生成后,Midjourney(及 CometAPI 等封装)会提供“Extend”控制。Midjourney 的 UI 允许将 5 秒片段每次扩展 4 秒(最长约 21 秒)。以编程方式,你可以调用同一端点并带上 extend 标记,或提交引用原始片段的新扩展任务(CometAPI 文档在概览中展示了参数化端点与按钮)。预计扩展的成本与初始生成相近。

创建循环视频或指定终帧

  • 要循环,可将起始帧复用为终帧,或添加 --loop 参数。
  • 若需要不同终帧,请提供另一张图像 URL(作为 end),并确保纵横比一致。Midjourney 支持 --end 参数。可考虑使用 manual 扩展,在扩展中途微调提示词以确保连贯性。

批量大小与成本控制

Midjourney 默认生成多个变体(批量大小 4)。对于生产或成本敏感场景,将 bs:1 以降低算力。Midjourney 文档包含 SD 与 HD 以及不同批量大小的 GPU 时间估算(用于成本预测)。CometAPI 提供具有竞争力的定价。

结论

Midjourney 的 V1 Video 模型是迈向可编程视频的第一步——它在设计上较为保守,但前景可期。我们预期迭代更新将提升更长序列、更高保真度、更可控的镜头装置。CometAPI 作为聚合器的角色,降低了开发者将 Midjourney 视频集成到应用中的门槛,无需处理多供应商的认证与并发细节。

开发者可通过 CometAPI 访问 Midjourney Video API。开始之前,请在 CometAPIPlayground 探索模型能力,并查阅 API 指南获取详细说明。访问前,请确保已登录 CometAPI 并获取 API Key。CometAPI 提供远低于官方价格的方案,帮助你完成集成。

Ready to Go?→ Midjourney 免费试用!

阅读更多

一个 API 中超 500 个模型

最高 20% 折扣