Midjourneyの動画への進出は、2025年のクリエイティブ・テクノロジーにおける最大のトピックの一つとなっている。画像中心の愛されるツールとして始まったMidjourneyは、静止画を短いアニメーションクリップに変換する「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 Videoモデルは、短尺でスタイライズされ、ループ可能なクリップに最適化されたimage-to-videoモデル。V1モデルの一般的な特性は次の通り:
- ベースクリップ長は約5秒で、制御された拡張メカニズム(4秒刻み、ドキュメントに記載の上限まで)を備える。
- 元画像のアーティスティックなスタイル(筆致、色彩、ムード)を重視して保持する。
- 高速反復のための解像度と品質のトレードオフ;V1はフル映画品質というよりソーシャル/Web向けコンテンツを志向。
これらの制約により、アセットやプロンプトの設計方法が定まる。V1は、長尺のシーンよりも、簡潔なモーション、アニメ化された静止画、製品ヒーローのループ、短尺のキャラクター演出などに最適。
CometAPI が Midjourney Video モデルをどのように提供するか
CometAPIは、単一のRESTインターフェースの背後で数百のAIモデル(テキスト、画像、音声、そして今はイメージ・トゥ・ビデオ)へのアクセスを集約するマルチモデル・ゲートウェイ。CometAPIのMidjourney Videoは、MidjourneyのV1 Video機能をラップし、エンジニアがDiscord/Web操作に頼ることなく、プログラムからイメージ・トゥ・ビデオ生成を呼び出せるようにする。これにより、クリエイティブパイプラインの自動化、PoCの構築、アプリやコンテンツ制作ワークフローへの短いアニメーションアセットの統合に役立つ。
CometAPIのMidjourney Videoでは、開発者が認証し、/mj/submit/videoエンドポイントを呼び出して、prompt(開始画像URLを含められる)、videoType(例:vid_1.1_i2v_480)、mode(fast/relax)、animateMode(automatic/manual)などのパラメータを渡せる。CometAPIは、単一APIキー+RESTインターフェースという利便性に加え、MidjourneyのDiscord中心のワークフローに直接統合する場合よりも1回あたりの価格が低い。
API を呼び出す前の準備
必要な認証情報とアカウント
- CometAPIにサインアップし、アカウントのダッシュボードからAPIキーを生成する(CometAPIは
sk-xxxxxのようなベアラートークンを使用)。 - 外部画像を開始フレームとして使用する場合は、画像アセットがオンラインで利用可能(一般公開URL)であることを確認する。Midjourneyは外部画像→動画のワークフローで到達可能なURLを必要とする。
事前に決めておくべきこと
- Starting image — 明確な主題と構図を持つ画像を選ぶ;アスペクト比は最終動画の解像度/アスペクトに影響する(Midjourneyは開始アスペクト比をSD/HDのピクセルサイズにマッピング)。
- Motion style — LowかHighのモーション(
--motion lowvs--motion high)を決め、カメラ/被写体の動きを自動推定に任せるか手動制御するかを選ぶ。 - Length & batch size — デフォルトは5秒;約21秒まで拡張可能。バッチサイズはデフォルトで4(Midjourneyは4つのバリアントを返す)が、計算資源節約のために1または2を指定できる。
- Resolution — 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です。以下はCometAPIの例を基にした、整え済みでコピー可能なcurl例:
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は視覚的モーションに集中している。)
ボイスとサウンドを追加する推奨パイプライン
- テキスト読み上げ(TTS)によるナレーション/ボイス — ElevenLabs、Replicaなどの音声クローン/TTSサービスを使って、スクリプトから音声トラックを生成。これらのサービスは自然な話し方を再現でき、1分あたりのコストが低い場合もある。(LinkedIn/コミュニティ投稿では、軽量な選択肢としてElevenLabsが推奨されることが多い。)
- 音楽/効果音のAIオーディオデザインツール — MM Audio、Magicshotや特化型SFXジェネレーターなどを使って、クリップに合った背景音や効果音を生成。コミュニティのガイドやチュートリアルでは、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
より高度なミックス(BGM+セリフ+効果音)の場合は、DAWから単一のミックス済み音声トラックをレンダリングし、上記のように動画へ多重化する。
アニメーションを制御するモーションプロンプトの書き方
モーションプロンプトのパターン
Midjourney V1のモーションプロンプトは自然言語で駆動される。有効なパターン:
- 方向/アクション: 「カメラが左にドリーし、被写体が前進する」
- オブジェクトの動き: 「葉が木から落ち、カメラに向かって漂う」
- カメラインストラクション: 「ゆっくりズームイン、わずかなパララックス、2倍速」
- 時間的な質感: 「控えめな動き、ループ可能、シネマティックなリズム」
まず簡潔なモーションの一文から始め、スタイルやタイミングの形容を追加する:例、"start_frame_url animate: 'slow spiral camera, subject bobs gently, loopable', style: 'film grain, cinematic, 2 fps tempo'"。試行と小さな反復が不可欠。
手動 vs 自動アニメーション
- Automatic: モデルに妥当なモーションを推定させる。クイックな実験に最適。
- Manual: カメラ経路や被写体ベクトルを明示的に指定して、一定で再現性の高い結果を得る——実写映像との整合や予測可能な振付が必要な場合に有用。
動画の延長、バッチサイズの変更、ループ作成
動画の長さを延長する
生成後、Midjourney(およびCometAPIのようなラッパー)は「Extend」操作を提供。MidjourneyのUIでは、5秒クリップを1回につき4秒ずつ延長(最大約21秒まで)できる。プログラム的には、同じエンドポイントにextendフラグを付けて呼び出すか、元のクリップを参照する新たなextendジョブを送信する(CometAPIのドキュメントには、パラメータ化されたエンドポイントとボタンが概説されている)。延長コストは初回生成と同程度と考えてよい。
ループ動画の作成やエンドフレームの指定
- ループするには、開始フレームを終了フレームとして再利用するか、
--loopパラメータを追加する。 - 別の終了フレームにしたい場合は、
endとして別の画像URLを指定し、アスペクト比の互換性を確保する。Midjourneyは--endパラメータをサポート。継続性のため、延長時にmanualを使ってプロンプトを調整することを検討。
バッチサイズとコスト管理
Midjourneyはデフォルトで複数のバリアント(バッチサイズ4)を生成。プロダクションやコスト重視のフローでは、計算資源を減らすためにbs:1を設定する。Midjourneyのドキュメントには、SDとHD、異なるバッチサイズにおけるGPU時間の見積りが記載されている(コスト予測に有用)。CometAPIは競争力のある価格を提供。
結論
MidjourneyのV1 Videoモデルは、プログラム可能な動画への最初の一歩——設計は保守的だが有望だ。長尺シーケンスの改善、高い忠実度、より制御可能なカメラリグなど、反復的なモデルアップデートが期待される。CometAPIはアグリゲーターとしての役割により、複数のプロバイダー固有の認証や同時実行の癖に対処せずに、Midjourneyの動画をアプリへ組み込みたい開発者の統合障壁を下げる。
開発者は、CometAPIを通じて MIdjourney Video API にアクセスできる。開始するには、CometAPI のPlaygroundでモデル機能を試し、詳細な手順はAPIガイドを参照。アクセス前に、CometAPIへログインしAPIキーを取得していることを確認する。CometAPI は、公式価格よりはるかに低価格で、統合を支援する。
Ready to Go?→ Midjourney の無料トライアル!
