Midjourney 进军视频领域,已成为 2025 年最受关注的创意技术话题之一。起初作为备受喜爱的“以图像为先”的工具,它新增了“Image-to-Video(图像转视频)”工作流,将静帧转换为短动画片段——而且系统正在快速演进。
Midjourney 的视频能力是一个图像转视频的工作流,通过“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 视频模型是面向短时、风格化、可循环片段优化的图像转视频模型。V1 模型的典型特征包括:
- 基础片长约 5 秒,提供受控的扩展机制(每次 4 秒增量,直至文档规定的上限)。
- 强调保留源图像的艺术风格(笔触、色彩、情绪)。
- 在分辨率与质量之间进行权衡,以便快速迭代;V1 更面向社交与网页内容而非完整影院级输出。
这些限制影响资产与提示词的设计方式:V1 最适用于简洁运动、动画化静帧、产品主视觉循环或短角色段落,而非长镜头。
CometAPI 如何呈现 Midjourney Video 模型
CometAPI 是一个多模型网关,在单一 REST 接口后聚合了数百个 AI 模型(文本、图像、音频,以及如今的图像转视频)。它的 Midjourney Video 服务封装了 Midjourney 的 V1 视频能力,使工程师可以通过编程方式调用图像转视频,而不必仅依赖 Discord/网页交互。这使其适合自动化创意管线、构建原型,以及将短动画资产集成到应用或内容生产工作流中。
CometAPI 的 Midjourney Video 让开发者完成身份验证、调用 /mj/submit/video 端点,并传递诸如 prompt(可包含起始图像 URL)、videoType(例如 vid_1.1_i2v_480)、mode(fast/relax)以及 animateMode(automatic/manual)等参数。与直接集成 Midjourney 的基于 Discord 的工作流相比,CometAPI 具有更低的单次调用价格与便利性(单一 API Key + REST 接口)。
在调用 API 之前我需要做哪些准备?
我需要哪些凭据与账号?
- 在 CometAPI 注册,并在账户面板生成 API Key(CometAPI 使用形如
sk-xxxxx的 Bearer Token)。 - 若计划使用外部图像作为起始帧,请确保图像资产可在线访问(公开可访问的 URL)。Midjourney 对外部图像→视频的流程需要可访问的 URL。
前期需要做出的决策
- 起始图像 —— 选择主体清晰、构图明确的图像;纵横比会影响最终视频分辨率/宽高比(Midjourney 会将起始纵横比映射到 SD/HD 像素尺寸)。
- 运动风格 —— 决定低/高运动(
--motion low与--motion high),以及是否采用自动推断或手动控制镜头/主体运动。 - 长度与批大小 —— 默认为 5 秒;可扩展至约 ~21 秒。批大小默认 4(Midjourney 返回 4 个变体),也可请求 1 或 2 以节省算力。
- 分辨率 —— V1 主要为 SD(480p)默认;HD(720p)需要参数说明,例如 vid_1.1_i2v_480。
如何调用 CometAPI 的 Midjourney 视频端点(分步示例)?
最小请求载荷是什么?
至少需要:
prompt:起始图像 URL 和可选的文本运动提示(例如:“
添加一只从左向右奔跑的狗”)。videoType:如vid_1.1_i2v_480。mode:"fast"(或根据套餐允许使用"relax")。animateMode:"automatic"或"manual"。
这是一个示例 curl,演示向 [ 发送 POST。下面是基于 CometAPI 示例清理后的、可直接复制的 curl 示例:
curl --location --request POST ' \
--header 'Authorization: Bearer sk-YOUR_COMETAPI_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"prompt": " 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": " 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 专注于视觉运动。)
推荐的音频添加流程
- 文本转语音(TTS)用于旁白/人声 —— 使用 ElevenLabs、Replica 或类似的语音克隆/TTS 服务从脚本生成语音轨。这些服务可生成自然语音风格,且每分钟成本较低。(LinkedIn/社区帖子推荐将 ElevenLabs 作为轻量化的人声选择。)
- AI 音频设计工具生成音乐/音效 —— MM Audio、Magicshot 或专门的音效生成器可产生贴合片段的背景氛围与效果声。社区指南与教程显示 MM Audio 等音频 AI 的质量良好。
- 手动 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 输出单一混合音轨,然后按上述方式复用进视频。
我该如何撰写运动提示词来控制动画?
运动提示语模式
Motion 提示在 Midjourney V1 中由自然语言驱动。常用模式:
- 方向/动作:“镜头向左移动,主体向前行走”
- 物体运动:“树叶从树上飘落,向镜头方向轻飘”
- 镜头指令:“慢速推近,轻微视差,2x 速度”
- 时间质感:“细微运动,可循环,电影化节奏”
从简洁的运动句开始,然后附加风格与节奏形容词:例如,"start_frame_url animate: 'slow spiral camera, subject bobs gently, loopable', style: 'film grain, cinematic, 2 fps tempo'"。实验与小步迭代至关重要。
手动 vs 自动动画
- 自动:让模型推断合理的运动。适合快速试验。
- 手动:提供明确的镜头路径与主体向量,以获得一致、可复现的结果——适用于需要可预测的走位或匹配实拍镜头的场景。
如何扩展视频、调整批大小或创建循环?
扩展视频长度
生成后,Midjourney(及类似 CometAPI 的封装)会提供“Extend”控制。Midjourney 的界面允许将 5 秒片段按每次 4 秒扩展(最长约 ~21 秒)。在编程方式下,可以对同一端点加入 extend 标志,或提交一个引用原始片段的新扩展任务(CometAPI 文档给出了参数化端点与按钮的概览)。预计扩展成本与初次生成相近。
创建循环视频或指定结束帧
- 要循环,可复用起始帧作为结束帧,或添加
--loop参数。 - 若需不同的结束帧,提供另一张图像 URL(作为
end),并确保纵横比兼容。Midjourney 支持--end参数。考虑使用manual扩展,在扩展过程中微调提示词以确保延续性。
批大小与成本控制
Midjourney 默认生成多个变体(批大小 4)。在生产或成本敏感的流程中,设置 bs:1 以减少算力消耗。Midjourney 的文档包含 SD 与 HD 以及不同批大小的 GPU 时间估算(有助于成本预估)。CometAPI 提供具竞争力的定价。
结论
Midjourney 的 V1 视频模型是其迈向程序化视频的第一步——设计上较为保守,但前景可期。我们期待后续迭代在更长序列、更高保真与更可控的镜头机制方面不断提升。作为聚合器的 CometAPI 则降低了开发者的集成门槛,让他们无需处理多家供应商的认证与并发细节,即可将 Midjourney 视频加入应用。
开发者可通过 CometAPI 访问 Midjourney Video API。入门时,可在 CometAPI 的 Playground 探索模型能力,并参阅 API 指南获取详细说明。访问前请确保已登录 CometAPI 并获取 API Key。CometAPI 提供远低于官方的价格,帮助你更便捷地集成。
准备好开始了吗?→ Midjourney 免费试用!
