テンプレートの管理
この API ガイドでは、テンプレートを使用して一括リクエストを生成する方法の概要を説明します。 --- テンプレートを使用すると、テキスト、画像、動画、オーディオ、音声、アバターを追加およびカスタマイズできます。 動画の設定を保存して後で使用したい場合は、動画を直接生成するよりもテンプレートを作成する方が適しています。 🦊
クイックスタート
テンプレートを作成し、テンプレートを一覧表示して、後で効率的に一括動画を生成できるようにする方法を詳しく見ていきましょう。
テンプレートの作成
一括動画テンプレートを作成するには、次の API リクエストを使用します。 音声テキスト、アバター、背景などのさまざまな設定を定義して、再利用可能な動画テンプレートを効率的に生成できます。 ニーズに合わせてパラメータをカスタマイズします。 作成したら、応答の 'id' を 一括リクエストの作成 の 'template_id' として使用して、このテンプレートを使用して一括リクエストを生成できます。 'audio_id' と 'audio_service' は audio listing API から取得でき、"csv_id" は csv listing API から取得できます。'audio_text' 内では '{{}}' 形式のマクロを使用できます。このマクロは、指定した CSV ファイルの値に動的に置き換えられます。たとえば、テキストに '{{First Name}}' を含めると、CSV 内の対応するエントリごとに "John" や "Smith" などの名前に置き換えられ、リスト内の各ビデオにパーソナライズされたオーディオが作成されます。1 つのリクエストにつき最大 20 個のテンプレート変数がサポートされています。テキストと CSV ファイルでこれらの変数の数と名前が完全に一致していることを確認してください。テンプレート変数名は大文字と小文字が区別されません。CSV にテンプレート変数がない場合は、エラーが返されます。
curl --request POST \
--url 'https://api.immersive-fox.com/v1/template/create_bulk_template/' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data { \
"csv_id": 45, \
"template_name": "My new template", \
"configurations": [ \
{ \
"audio_text": "Hi, My name is {{First Name}}", \
"avatar": 102, \
"avatar_size": 76, \
"background_color": "#ffffff", \
"background_music_is_personalized": "system", \
"background_music_volume": 0.1, \
"frame_height": 1080, \
"frame_width": 1920, \
"is_personalized_audio": false, \
"scene_number": 1, \
"scene_transition": "none", \
"audio_id": 2, \
"audio_service": "google_audio", \
"user_voice_speed": 1, \
"x_position": 0.604931, \
"y_position": 0.43101 \
} \
] \
}
=== 「レスポンス」
```javascript
{
"id": 1142,
"project_name": "My new template",
"csv_id": 45,
"user": 31,
}
```
AI によるテンプレートの生成
Immersive Fox は、テンプレートの作成を自動化する強力な機能を提供します。各テンプレートを手動で設計する代わりに、AI モデルを活用してテンプレートを生成できます。説明的なテキスト プロンプトを提供するだけで、アルゴリズムがシーン、テキスト、背景、音声を含む包括的なテンプレートを作成します。また、AI は、一括ビデオ生成中に指定された CSV ファイルのデータも利用します。これにより、クライアントに合わせたマーケティング キャンペーンを簡単に作成できます。ペイロードに optional_params_for_scripts
フィールドを指定することで、CSV のどのフィールドをビデオで使用するかを指定できます。AI 生成テンプレートを要求するには、次の curl コマンドを使用します:
curl --request POST \
--url 'https://api.immersive-fox.com/v1/template/generate_bulk_template_with_ai/' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data { \
"avatar_gender": "female", # male / female \
"template_name": "Project_01", \
"target_audience" : "Subscribers of Spotify", \
"description" : "Tell our users that their subscription is going to finish soon", \
"main_language" : "English", \
"goal" : "Renew Subscription", \
"allow_third_party_ml_models": true, \
"length": "long", # short / medium / long \
"optional_params_for_scripts": ["person_name", "subscription_type", "subscription_charges"] \
}
=== 「レスポンス」
```javascript
{
"id": 1142,
"project_name": "Project_01",
"user": 31,
}
```
テンプレートの一覧表示
ユーザーが作成したすべてのテンプレートを一覧表示するには、次の API リクエストを使用します。すべてのテンプレートの詳細が返されるので、確認して管理できます。テンプレートを取得したら、これらのテンプレートのいずれかの 'id' を 一括リクエストの作成 の 'template_id' として使用して、このテンプレートを使用して一括リクエストを生成できます。
curl --request GET \
--url 'https://api.immersive-fox.com/v1/template/bulk_templates' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: application/json'
=== 「レスポンス」
```json
[
{
"id": 1112,
"project_name": "My old template",
"csv_id": 41,
"user": 31
},
{
"id": 1142,
"project_name": "My new template",
"csv_id": 45,
"user": 31
}
]
```
テンプレートの詳細を取得する
特定のテンプレートの詳細を取得するには、次の API リクエストを使用します。選択したテンプレートに関する情報が提供され、一括リクエストを生成する前に構成を表示できます。テンプレートの詳細を取得したら、一括リクエストの作成 で 'id' を 'template_id' として使用して、このテンプレートを使用して一括リクエストを生成できます。
curl --request GET \
--url 'https://api.immersive-fox.com/v1/template/bulk_template/<template_id>' \
--header 'X-Api-Key: <your-api-key>' \
--header 'Content-Type: application/json'
=== 「レスポンス」
```json
{
"csv_id": 47,
"template_name": "My new template",
"configurations": [ {
"audio_text": "Hi, My name is {{First Name}}",
"avatar": 223,
"avatar_size": 75,
"background_color": "#ffffff",
"background_music_is_personalized": "system",
"background_music_volume": 0.1,
"frame_height": 1080,
"frame_width": 1920,
"is_personalized_audio": false,
"scene_number": 1,
"scene_transition": "none",
"audio_id": 2,
"audio_service": "google_audio",
"user_voice_speed": 1,
"x_position": 0.604931,
"y_position": 0.431010,
}
```