申請プロセス
APIを使用するには、まず Kling Videos Generation API の該当ページでサービスを申請する必要があります。ページに入ったら、「Acquire」ボタンをクリックします。以下の図のように:
まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。ログインまたは登録後、現在のページに自動的に戻ります。
初回申請時には無料のクレジットが付与され、このAPIを無料で使用できます。
基本使用
まず、基本的な使用方法を理解します。これは、プロンプトprompt、生成行動 action、初フレーム参照画像 start_image_url、およびモデル model を入力することで処理された結果を得ることができます。まず、action フィールドを簡単に渡す必要があります。その値は text2video で、主に3つの行動が含まれます:文生動画(text2video)、画像生動画(image2video)、拡張動画(extend)。次に、モデル model を入力する必要があります。現在、主に kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-video-o1 モデルがあります。具体的な内容は以下の通りです:

accept:受け取りたいレスポンス結果の形式。ここではapplication/json、つまりJSON形式を記入します。authorization:APIを呼び出すためのキー。申請後、直接ドロップダウンから選択できます。
model:生成する動画のモデル。主にkling-v1,kling-v1-6,kling-v2-master,kling-v2-1-master,kling-v2-5-turbo,kling-video-o1モデルがあります。mode:生成する動画のモード。主に標準モードstdと高速モードproの2種類があります。action:今回の動画生成タスクの行動。主に3つの行動が含まれます:文生動画(text2video)、画像生動画(image2video)、拡張動画(extend)。start_image_url:画像生動画行動image2videoを選択した場合に必ずアップロードする必要がある初フレーム参照画像のリンク。end_image_url:画像生動画時にオプションで、尾フレームを指定します。aspect_ratio:動画のアスペクト比。オプションで、16:9、9:16、1:1をサポートし、デフォルトは16:9です。cfg_scale:関連性の強度。範囲は [0,1] で、大きいほどプロンプトに合致します。camera_control:オプションで、カメラの動きを制御するオブジェクトパラメータ。type/simple プリセットや horizontal、vertical、pan、tilt、roll、zoom などの設定をサポートします。negative_prompt:オプションで、出現してほしくない逆プロンプト。最大200文字。element_list:主体参照リスト。モデルkling-video-o1のみ適用されます。このパラメータの具体的な使用方法は公式文書を参照してください。video_list:参照動画。URL方式で取得します。モデルkling-video-o1のみ適用されます。このパラメータの具体的な使用方法は公式文書を参照してください。prompt:プロンプト。callback_url:結果をコールバックする必要があるURL。

success:この時点での動画生成タスクの状態。task_id:この時点での動画生成タスクID。video_id:この時点での動画生成タスクの動画ID。video_url:この時点での動画生成タスクの動画リンク。duration:この時点での動画生成タスクの動画の長さ。state:この時点での動画生成タスクの状態。
data の動画リンクアドレスに基づいて生成されたKling動画を取得するだけです。
また、対応する接続コードを生成したい場合は、生成されたものを直接コピーできます。例えば、CURLのコードは以下の通りです:
拡張動画機能
既に生成されたKling動画を続けて生成したい場合は、パラメータaction を extend に設定し、続けて生成する動画のIDを入力します。動画IDの取得は基本使用に基づいて行います。以下の図のように:

注意:ここでの動画の video_id は生成後の動画のIDです。動画を生成する方法がわからない場合は、上記の基本使用を参照して動画を生成してください。
次に、拡張するために必要なプロンプトを入力してカスタマイズ生成動画を指定します。
model:生成動画のモデル、主にkling-v1、kling-v1-5とkling-v1-6モデルがあります。mode:生成動画のモード、主に標準モードstdと高速モードproの2種類があります。duration:今回の動画生成タスクの動画の長さ、主に5秒と10秒が含まれます。start_image_url:画像から動画を生成する行動image2videoを選択した場合、必ずアップロードする必要がある最初のフレームの参考画像リンクです。prompt:プロンプト。


非同期コールバック
Kling Videos Generation 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/624b2c78-6dbd-4618-9d2b-b32eade6d8c3 です。
次に、フィールド callback_url を上記のWebhook URLに設定し、対応するパラメータを入力します。具体的な内容は以下の通りです:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3 で生成された動画の結果を確認できます。
内容は以下の通りです:
task_id フィールドがあり、他のフィールドは上記と似ていることがわかります。このフィールドを通じてタスクの関連付けが可能です。
エラーハンドリング
APIを呼び出す際にエラーが発生した場合、APIは対応するエラーコードとメッセージを返します。例えば:400 token_mismatched:不正なリクエスト、パラメータが不足または無効である可能性があります。400 api_not_implemented:不正なリクエスト、パラメータが不足または無効である可能性があります。401 invalid_token:未認証、無効または不足している認証トークン。429 too_many_requests:リクエストが多すぎます、レート制限を超えました。500 api_error:内部サーバーエラー、サーバーで何かがうまくいきませんでした。

