Skip to main content
本文では、Midjourney Videos API の接続説明を紹介します。これは、カスタムパラメータを入力することでMidjourney公式の動画を生成することができます。

申請プロセス

APIを使用するには、まず Midjourney Videos API の該当ページでサービスを申請する必要があります。ページに入ったら、「Acquire」ボタンをクリックします。以下の図のように: まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。ログインまたは登録後、現在のページに自動的に戻ります。 初回申請時には無料のクレジットが付与され、このAPIを無料で使用できます。

基本使用

まず、基本的な使用方法を理解します。これは、プロンプト prompt、生成アクション action、先頭と末尾のフレーム参照画像の配列 image_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:動画生成の速度モード。デフォルトはfastです。
  • resolution:動画の解像度。デフォルトは720pです。
  • loop:ループ動画を生成するかどうか。デフォルトはfalseです。
  • callback_url:結果をコールバックするURL。
選択後、右側にも対応するコードが生成されていることがわかります。以下の図のように:

「Try」ボタンをクリックするとテストができます。上の図のように、以下の結果が得られました:
返された結果には複数のフィールドがあり、以下のように説明されます:
  • success:この時点での動画生成タスクの状態。
  • task_id:この時点での動画生成タスクID。
  • image_url:この時点での動画生成タスクのカバー画像。
  • image_width:この時点での動画生成タスクのカバー画像の幅。
  • image_height:この時点での動画生成タスクのカバー画像の高さ。
  • video_id:この時点での動画生成タスクの動画ID。
  • video_urls:この時点での動画生成タスクの動画リンクの配列。
満足のいく動画情報が得られたことがわかります。結果の video_urls の動画リンクアドレスに基づいて生成されたMidjourney動画を取得するだけです。 また、対応する接続コードを生成したい場合は、生成されたものを直接コピーできます。例えば、CURLのコードは以下の通りです:

動画拡張機能

すでに生成されたKling動画を続けて生成したい場合は、パラメータ actionextend に設定し、続けて生成する動画のIDを入力します。動画IDの取得は基本使用に基づいて行います。 この時、上記の動画のIDは次のようになります:
注意:ここでの動画の video_id は生成後の動画のIDです。動画を生成する方法がわからない場合は、上記の基本使用を参考にして動画を生成してください。
次に、拡張するためのプロンプトを記入し、カスタマイズして生成動画を指定します。以下の内容を指定できます:
  • video_index:拡張する動画のインデックスを選定します。このインデックスは上記で生成された video_urls から取得され、インデックスは0から始まり、デフォルト値は0です。
  • video_id:拡張する動画の指定ID。
  • action:今回の動画拡張のアクション。extend です。
  • prompt:プロンプト。
記入例は以下の通りです:

記入が完了すると、自動的に以下のコードが生成されます:

対応するPythonコード:
クリックして実行すると、以下のような結果が得られます:
結果の内容が上記と一致していることがわかります。これにより、動画の拡張機能が実現されました。

非同期コールバック

Midjourney Videos APIによって生成される時間は比較的長く、約1〜2分かかります。APIが長時間応答しない場合、HTTPリクエストは接続を維持し続け、追加のシステムリソースを消費するため、本APIは非同期コールバックのサポートも提供しています。 全体の流れは次の通りです:クライアントがリクエストを発行する際に、追加でcallback_urlフィールドを指定します。クライアントがAPIリクエストを発行した後、APIはすぐに結果を返し、現在のタスクIDを示すtask_idフィールド情報を含みます。タスクが完了すると、生成された動画の結果がPOST JSON形式でクライアントが指定したcallback_urlに送信され、その中にもtask_idフィールドが含まれているため、タスクの結果をIDで関連付けることができます。 以下の例を通じて、具体的にどのように操作するかを理解しましょう。 まず、WebhookコールバックはHTTPリクエストを受信できるサービスであり、開発者は自分で構築したHTTPサーバーのURLに置き換える必要があります。ここでは、デモのために公開されたWebhookサンプルサイトhttps://webhook.site/を使用します。このサイトを開くとWebhook URLが得られます。

このURLをコピーすればWebhookとして使用できます。このサンプルはhttps://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399fです。 次に、フィールドcallback_urlを上記のWebhook URLに設定し、対応するパラメータを入力します。具体的な内容は以下の通りです:

実行をクリックすると、すぐに結果が得られます。以下のようになります:
少し待つと、https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399fで生成された動画の結果を観察できます。以下のようになります:

内容は以下の通りです:
結果にはtask_idフィールドが含まれており、他のフィールドは上記と類似しています。このフィールドを通じてタスクの関連付けが可能です。

エラーハンドリング

APIを呼び出す際にエラーが発生した場合、APIは対応するエラーコードと情報を返します。例えば:
  • 400 token_mismatched:不正なリクエスト、パラメータが欠落または無効である可能性があります。
  • 400 api_not_implemented:不正なリクエスト、パラメータが欠落または無効である可能性があります。
  • 401 invalid_token:認証されていない、無効または欠落した認証トークン。
  • 429 too_many_requests:リクエストが多すぎます、レート制限を超えました。
  • 500 api_error:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

エラー応答の例

結論

この文書を通じて、Midjourney Videos APIを使用して入力プロンプトと最初のフレームの参照画像を通じて動画を生成する方法を理解しました。この文書がAPIの接続と使用に役立つことを願っています。ご不明な点がございましたら、いつでも技術サポートチームにお問い合わせください。