申請プロセス
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。

success:この時点での動画生成タスクの状態。task_id:この時点での動画生成タスクID。image_url:この時点での動画生成タスクのカバー画像。image_width:この時点での動画生成タスクのカバー画像の幅。image_height:この時点での動画生成タスクのカバー画像の高さ。video_id:この時点での動画生成タスクの動画ID。video_urls:この時点での動画生成タスクの動画リンクの配列。
video_urls の動画リンクアドレスに基づいて生成されたMidjourney動画を取得するだけです。
また、対応する接続コードを生成したい場合は、生成されたものを直接コピーできます。例えば、CURLのコードは以下の通りです:
動画拡張機能
すでに生成されたKling動画を続けて生成したい場合は、パラメータaction を extend に設定し、続けて生成する動画のIDを入力します。動画IDの取得は基本使用に基づいて行います。
この時、上記の動画のIDは次のようになります:
注意:ここでの動画の video_id は生成後の動画のIDです。動画を生成する方法がわからない場合は、上記の基本使用を参考にして動画を生成してください。
次に、拡張するためのプロンプトを記入し、カスタマイズして生成動画を指定します。以下の内容を指定できます:
video_index:拡張する動画のインデックスを選定します。このインデックスは上記で生成されたvideo_urlsから取得され、インデックスは0から始まり、デフォルト値は0です。video_id:拡張する動画の指定ID。action:今回の動画拡張のアクション。extendです。prompt:プロンプト。


非同期コールバック
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が得られます。

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:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

