Eleven v3 アルファのご紹介

v3を試す

ElevenLabs、Gemini、VEO 2を使ったテキストからコマーシャル生成ツールの構築方法

AIを活用して、簡単なプロンプトから完成したビデオ広告を作成するツールを構築しました。

Marketing video gen

ジャーナリズムからプロダクトビデオまで、20年間コンテンツを作成してきました。AIは新しいクリエイティブなワークフローを可能にします。バイブコーディングとリアルなビデオ生成の交差点で、簡単なプロンプトから20秒の広告を作成するツールを作れるかどうか考えました。

コンセプトはシンプルでした: 粗いプロダクトアイデアを入力すると、AI生成のビジュアル、ボイスオーバー、サウンドエフェクトを備えた30秒のコマーシャルが完成します。これを構築するために使用したのはElevenLabs TTSとSFX API、GoogleのGemini、そしてGoogleのVEO 2によるビデオ生成です。作成時にはVEO 3はまだリリースされていませんでした。

最終バージョンは、Anthropicの印象的なClaude 4 Opusをほぼ完全に使用して作成されましたが、レート制限に何度も引っかかりながら数日かかりました。unknown node

スタック選択: Node.js、Express、React、Claude 4 Opus

A commercial for "finding places to eat lunch in a park"

バックエンドにはNode.jsとExpress、フロントエンドにはReactを選びました。Nodeはビデオ生成時のリアルタイム更新を処理し、Reactのコンポーネントベースのアーキテクチャはマルチステップインターフェースの管理と拡張を容易にします。

子供の頃から断続的にコードを書いてきましたが、常にフルタイムのエンジニアというよりはプロダクト思考の人間でした。Claude 4 Opusのようなツールがそれを変えました。適切なプロンプトを使えば、迅速に動き、機能を正しく実装し、ボイラープレートではなくプロダクトロジックに集中できます。

これはAIにクリエイティビティを外注することではなく、適切なツールでよりスマートに構築することです。

8ステップウィザード: プロンプトから完成した広告へ

Eight step wizard

新しいプロダクトやサービスのコマーシャルを作成するには、たとえ20秒のものであっても複雑なステップが必要です。そこで、8つの異なるフェーズに分けました:

  1. プロダクト情報
  2. スクリプト生成
  3. ビデオ作成
  4. Sound Effects
  5. ビデオ組み立て
  6. ボイスオーバー
  7. 最終ビデオ
  8. ソーシャル投稿

各ステップは前のステップに基づいて構築され、シンプルなアイデアを完全なコマーシャルに変換するパイプラインを作成します。各段階で、人間は任意の要素を変更したり、テキスト、ビデオ、オーディオを再生成したりする完全なコントロールを持っています。

A commercial for "Epoch" matching

Gemini Flashでアイデアを洗練

最初の課題は、多くの人が完全に形成されたプロダクトアイデアを持っていないことです。「生産性向上のための何か」といった曖昧なものを入力するかもしれません。そこでGeminiが役立ちます。

GoogleのGemini 2.0 Flashモデルを使用して、粗いアイデアを具体的なプロダクトコンセプトに変換しました。ここでのプロンプトエンジニアリングは重要でした。Geminiに曖昧で一般的ではなく、具体的で明確なものを求めました。「フィットネスのための何か」を受け入れる代わりに、システムは「FitPulse AI: 高度なバイオメトリクスを使用して、1日を通してパーソナライズされたマイクロワークアウトを作成するスマートリストバンド」のように変換します。

1"""Enhance a product idea using Gemini"""
2
3 prompt = f"""
4 Enhance this product idea to make it more compelling:
5
6 Original idea: {idea}
7 Target mood: {mood}
8 Target audience: {audience}
9
10 Make it:
11 1. Clear and specific about the value proposition
12 2. Appeal to {audience}
13 3. Match the {mood.lower()} tone
14 4. Be memorable and marketable
15
16 Keep it to 2-3 sentences.
17 """

Geminiで非一般的なスクリプトを生成

次にスクリプト生成が行われました。再びGeminiを使用し、出力を4つの5秒シーンとして構成しました。それぞれに3つのコンポーネントがあります:

  • ボイスオーバースクリプト
  • ビデオ生成プロンプト
  • サウンドエフェクトの説明

鍵はGeminiにムードとオーディエンスを理解させることでした。「ミレニアル世代向けのユニークな」コマーシャルは、「企業顧客向けのプロフェッショナルな」ものとは異なる言語が必要です。

プロンプトを洗練し、一般的なAIスピークを避け、各プロダクトに合わせたスクリプトを作成するのにかなりの時間を費やしました。

1 """Generate a 4-scene commercial script"""
2
3 prompt = f"""
4 Create a 30-second commercial script with exactly 4 scenes.
5
6 Product: {product_name}
7 Audience: {target_audience}
8 Key Message: {key_message}
9 Mood: {mood}
10
11 Return a JSON array with 4 scenes, each with:
12 - number: 1-4
13 - duration: 5
14 - script: What the voiceover says
15 - videoPrompt: Visual description for video generation
16 - sfxPrompt: Sound effects description
17
18 Example format:
19 [{{"number": 1, "duration": 5, "script": "...", "videoPrompt": "...", "sfxPrompt": "..."}}]
20 """
21

VEO 2で5秒シーンを作成

GoogleのVEO 2モデル用にFAL.aiのホストAPIを使用しました。各シーンのビデオプロンプトをFAL.aiに送信し、5秒のビデオクリップを返します。これは最も難しい統合の一つで、長い生成時間の処理、API制限の管理、待機中のユーザーへのフィードバック提供が含まれます。

当初はGoogle AI StudioやVertex AIを使用してVeo 2 APIを利用する予定でしたが、Geminiと同じAPIキーを使用することになるため、私のアカウントでVeo 2を動作させることができませんでした。

生成されたビデオをローカルに保存する状態管理システムを実装しました。これにより、ユーザーがナビゲートして戻ってきたときに高価なコンテンツを再生成する必要がありません。Claudeのレート制限に達したとき、ページを更新して生成されたビデオを失うのは避けたいことです。

20秒のクリップのビデオコンテンツは、再カットや再生成がない場合、約10ドルでした。

ElevenLabsを使用したサウンドエフェクトとボイスオーバー

ここで私はElevenLabsのAPIを使って創造的になりました。ElevenLabsは主に音声生成で知られていますが、非常に印象的なサウンドエフェクトAPIもあります。潜在的な使用例としての素晴らしいサウンドボードをご覧ください。

各シーンに対して4つのバリエーションのサウンドエフェクトを生成しました。アップビート、エネルギッシュ、カーム、ドラマチック。ユーザーは各オプションをプレビューし、自分のビジョンに合ったものを選択できます。

1const response = await elevenLabs.soundGeneration({
2 text: modifiedPrompt,
3 duration_seconds: duration,
4 prompt_influence: 0.3
5});
6

FFmpegで最終ビデオを組み立てる

4つのビデオクリップと4つのサウンドエフェクトトラックを組み合わせる必要がありました。これは、ビデオ処理のスイスアーミーナイフであるFFmpegに深く入り込むことを意味しました。バックエンドはFFmpegコマンドを実行して:

  1. 各ビデオクリップにサウンドエフェクトをミックス
  2. すべてのクリップを1つのビデオに連結
  3. 最終ビデオにボイスオーバートラックを追加

FFmpegコマンドを正しくするにはかなりのデバッグが必要でした。特にオーディオミキシングは、レベルとタイミングに注意を払う必要があります。バックグラウンドオーディオは、ボイスオーバーとミックスする際に約30%の音量に減らすべきです。それ以上だと注意を引きすぎ、それ以下だと存在感がなくなります。

ボイスオーバー: ElevenLabsが真価を発揮する場所

ボイスオーバーには、ElevenLabsのテキスト読み上げAPIを統合し、ユーザーに声の選択肢を提供しました。システムはすべてのシーンスクリプトから単一の一貫したボイスオーバースクリプトを生成し、最適化された音声設定でElevenLabsに送信します:

1const voiceSettings = {
2 stability: 0.75,
3 similarity_boost: 0.75,
4 style: 0.0,
5 use_speaker_boost: true
6};
7

これらの設定は、コマーシャルに適した明確でプロフェッショナルなナレーションを提供します。さまざまな設定を試した結果、このバランスが一貫性を保ちつつ、ロボット的に聞こえないことがわかりました。

堅牢なエラーハンドリングとユーザーエクスペリエンス

複数のAI APIを使用して構築することは、さまざまな障害モードに対処することを意味します。レート制限、タイムアウトエラー、不正なレスポンスなどが発生します。特に午前2時にデバッグしているときにVEO 2が予期しないものを返すときです。

包括的なエラーハンドリングを実装し、フォールバックオプションを用意しました:

  • Geminiが失敗した場合、システムはインテリジェントなフォールバックスクリプトを提供
  • ビデオ生成が失敗した場合、プレースホルダービデオが利用可能
  • サウンド生成が失敗した場合、基本的なオーディオトラックが使用される

目標は、AIサービスが不調な日でもユーザーが常にコマーシャルを完成できるようにすることでした。

パフォーマンスの考慮事項

A commercial for "Globetrotter Grocer"

コマーシャルを生成するには、複数のAI APIコールが必要で、数分かかることがあります。体験を向上させるために、以下を行いました:

  • 可能な限り並行してビデオを処理
  • リアルタイムの進捗インジケーターを表示
  • 高価な生成コンテンツをローカルに保存
  • 個々のコンポーネントを再生成可能にする

また、状態保持システムを実装しました。生成中にブラウザを閉じても、戻ってきて続きから再開できます。テスト中に自分の進捗を何度か失った後、これは優先事項となりました。

重要なポイントと次のステップ

このツールを構築する中で、3つの重要な教訓が浮かび上がりました。

まず、プロンプト設計が重要です。 AIモデルの出力の質は、入力のフレーミングに大きく依存します。プロンプトを洗練するのにコードを書くのと同じくらい時間を費やしました。

次に、ユーザーエクスペリエンスが技術的な複雑さを上回ります。 ユーザーはどれだけ多くのAIサービスが関与しているかではなく、ツールが機能するかどうかを気にします。進捗インジケーター、エラーハンドリング、迅速なフィードバックループがすべての違いを生みます。

第三に、ClaudeのようなAIアシスタントは開発を加速します。 ボイラープレートや構文をモデルに任せ、プロダクトロジックに集中しました。ステップを飛ばすのではなく、よりスマートに構築することです。

週末プロジェクトとして始まったものが、実際の拡張可能なツールに進化しました。マーケティングチームはプロトタイピングに、スタートアップはピッチビデオに、クリエイターはスポンサーコンテンツに使用できます。

システムは設計上柔軟です。VEO 2のプロンプトを調整してビデオスタイルを変更したり、異なるフォーマットのためにシーンの長さを変更したり、FFmpegを通じて音楽を追加したりできます。

本当の機会は、複数のAIシステムを調整することにあります。単一のモデルでは完全なコマーシャルを生成できませんが、Gemini、VEO 2、ElevenLabsを組み合わせることで、単独では実現できない強力なものを生み出すことができます。

これはAIがクリエイターを置き換えることではなく、クリエイターにより良いツールを提供することです。20年間コンテンツに携わってきて、多くの変化を見てきましたが、この変化は基盤的なものに感じます。

ElevenLabsの技術がコンテンツやメディアに新しいアプローチを提供する方法を探りたい場合は、営業チームにご連絡ください

もっと見る

ElevenLabs

最高品質のAIオーディオで制作を

無料で始める

すでにアカウントをお持ちですか? ログイン