商品
TwelveLabs Embed API ベータ

マニッシュ・マヘシュワリ
Twelve LabsはEmbed APIのオープンベータ版をリリースしました。これにより、開発者はビデオ、テキスト、画像、音声を横断するマルチモーダル埋め込みを生成できるようになります。また、Pinecone、MongoDB、Databricks、Milvus、LanceDB、ApertureDBとの統合に対応しており、同等のソリューションと比較して最大70%低いコストで利用可能です。
Twelve LabsはEmbed APIのオープンベータ版をリリースしました。これにより、開発者はビデオ、テキスト、画像、音声を横断するマルチモーダル埋め込みを生成できるようになります。また、Pinecone、MongoDB、Databricks、Milvus、LanceDB、ApertureDBとの統合に対応しており、同等のソリューションと比較して最大70%低いコストで利用可能です。

この記事の内容
ニュースレターに登録する
ニュースレターに登録する
ビデオ理解に関する最新の技術進歩、チュートリアル、業界の動向をお届けします
ビデオ理解に関する最新の技術進歩、チュートリアル、業界の動向をお届けします
AIを活用してビデオを検索、分析、探索します。
2024/11/13
5 分
記事へのリンクをコピー
最先端のマルチモーダル埋め込み(マルチモーダルエンベディング)を生成できる、新しい Embed API のオープンベータ版をリリースいたしました。
主な特徴:
最先端のマルチモーダルモデル Marengo 2.6を搭載。テキストからビデオの検索ベンチマーク(MSR-VTT、ActivityNet)およびテキストから画像の検索ベンチマーク(MS-COCO)において、Gemini Multimodal embeddings や Google VideoPrism を上回る性能を発揮します。
コスト・パフォーマンスにおいて、CLIPベースのモデルを含む他のソリューションと比較して最大70%安価です。
時空間的な理解により、ビデオ内におけるオブジェクト、アクション、またはイベントを、空間(フレーム内のどこで発生するか)と時間(複数のフレームにわたっていつ発生するか)の両方で特定し、位置を検出します。
簡単なベクトル保存のために、MongoDB、Pinecone、Databricks Mosaic AI、Milvus、LanceDB、ApertureDBと統合されています。
APIを使用してインデックス化されたビデオの埋め込みを取得し、Twelve Labs Playground 上でビデオ埋め込みを可視化できます。
Embed APIを使用して埋め込みの作成を始めるには、こちらのドキュメントおよびクイックスタート クックブックに従ってください。Embed APIの価格はこちらからご確認いただけます。

なぜマルチモーダル埋め込みなのか?
アプリケーションでは、多様なコンテンツ形式を扱う必要があることがよくあります。Twelve LabsのEmbed APIは、複数のモダリティにわたるコンテンツの埋め込みをサポートしており、ユーザーはテキスト、画像、ビデオ、およびオーディオデータの間に関連性を作成できます。
Embed APIを使用することで、開発者は以下を含むエニートゥエニー(あらゆる形式間)の検索および取得タスクを実行できます。
テキストからビデオ(Text-to-Video):自然言語のクエリを使用してビデオライブラリを検索します。
画像からビデオ(Image-to-Video):画像に基づいて関連するビデオコンテンツを取得します。
テキストからオーディオ(Text-to-Audio)およびオーディオからビデオ(Audio-to-Video):オーディオデータとビデオデータを効率的にリンクして検索します。
さらに、マルチモーダル埋め込みは、以下を含む幅広いAIユースケースに使用できます。
検索拡張生成(RAG)
ハイブリッド検索
モデルのトレーニング
高品質なトレーニングデータの作成
異常検知
以下のインタラクティブな視覚化は、Kinetics 400データセットからのビデオサンプルの埋め込みを示しています。

Twelve Labs Embed APIを使用したVideo-RAGの構築
マルチモーダル埋め込みのユースケースの1つに、ハイブリッド検索の構築があります。Twelve Labs Embed APIと一般的なベクトルデータベースを使用して、ビデオ検索拡張生成(Video-RAG)システムを構築できるようになりました。以下のブログでは、以下を使用したVideo-RAGアプリケーションの構築方法についての詳細なチュートリアルを紹介しています。
Pinecone – マルチモーダルRAG:Twelve LabsとPineconeを使用したビデオとのチャット (Pinecone ドキュメント)
MongoDB Atlas – Twelve Labs Embed APIとMongoDB Atlasを使用したビルディング・セマンティック・ビデオ・サーチ (MongoDB ドキュメント)
Databricks Mosaic AI – Twelve Labs + Databricks Mosaic AIによる高度なビジュアル理解
Milvus – セマンティック検索のためのTwelve LabsとMilvusの活用 (Milvus ドキュメント)
ApertureDB – Twelve LabsとApertureDBを使用したセマンティックビデオ検索エンジン

Twelve Labs Embed APIを使用したビデオ埋め込みの生成
以下の表は、Twelve Labs Embed APIを使用した埋め込みに関する詳細を示しています。

以下のコードスニペットは、Twelve Labs Embed APIを使用して埋め込みを生成する例を示しています。
Twelve Labsのマルチモーダル埋め込みは、当社のAPIおよびSDK(Python、NodeJS)からアクセスできます。このコードスニペットではPython SDKを使用します。最初のステップは、必要なライブラリをインストールし、必要なモジュールをインポートすることです。
# Install necessary libraries and dependencies !pip install twelvelabs # Import required modules import twelvelabs
上記のコードを実行すると、必要なすべてのライブラリがインストールされ、以降のステップで使用できるようになります。以下のコードスニペットは、ビデオ埋め込みを作成する方法を示しています。
from twelvelabs import TwelveLabs from twelvelabs.models.embed import EmbeddingsTask # Initialize the Twelve Labs client twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) def generate_embedding(video_url): # Create an embedding task task = twelvelabs_client.embed.task.create( engine_name="Marengo-retrieval-2.6", video_url=video_url ) print(f"Created task: id={task.id} engine_name={task.engine_name} status={task.status}") # Define a callback function to monitor task progress def on_task_update(task: EmbeddingsTask): print(f" Status={task.status}") # Wait for the task to complete status = task.wait_for_done( sleep_interval=2, callback=on_task_update ) print(f"Embedding done: {status}") # Retrieve the task result task_result = twelvelabs_client.embed.task.retrieve(task.id) # Extract and return the embeddings embeddings = [] for v in task_result.video_embeddings: embeddings.append({ 'embedding': v.values, 'start_offset_sec': v.start_offset_sec, 'end_offset_sec': v.end_offset_sec, 'embedding_scope': v.embedding_scope }) return embeddings, task_result # Example usage video_url = "https://storage.googleapis.com/ad-demos-datasets/videos/Ecommerce%20v2.5.mp4" # Generate embeddings for the video embeddings, task_result = generate_embedding(video_url) print(f"Generated {len(embeddings)} embeddings for the video") for i, emb in enumerate(embeddings): print(f"Embedding {i+1}:") print(f" Scope: {emb['embedding_scope']}") print(f" Time range: {emb['start_offset_sec']} - {emb['end_offset_sec']} seconds") print(f" Embedding vector (first 5 values): {emb['embedding'][:5]}") print()
以下のコードスニペットは、テキストクエリが与えられたときにテキスト埋め込みを作成する方法を示しています。
def create_text_embedding( twelvelabs_client: TwelveLabs, text: str, engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create a text embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) text_embedding = create_text_embedding(twelvelabs_client, "Your text here") """ # Create embedding text_embedding = twelvelabs_client.embed.create( engine_name=engine_name, text=text ) # Print information if verbose is True if verbose: print("Created a text embedding") print(f" Engine: {text_embedding.engine_name}") print(f" Embedding: {text_embedding.text_embedding}") return text_embedding
以下のコードスニペットは、オーディオファイルが与えられたときにオーディオ埋め込みを作成する方法を示しています。
def create_audio_embedding( twelvelabs_client: TwelveLabs, audio_file: Union[str, Path], engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create an audio embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) audio_embedding = create_audio_embedding(twelvelabs_client, "path/to/audio.mp3") """ # Create embedding audio_embedding = twelvelabs_client.embed.create( engine_name=engine_name, audio_file=audio_file, ) # Print information if verbose is True if verbose: print("Created an audio embedding") print(f" Engine: {audio_embedding.engine_name}") if audio_embedding.audio_embedding.segments: print("Segments:") for i, segment in enumerate(audio_embedding.audio_embedding.segments, 1): print(f" Segment {i}:") print(f" Start Offset (sec): {segment.start_offset_sec}") if segment.values: print(f" Values: {segment.values[:5]}... (truncated)") return audio_embedding
以下のコードスニペットは、画像ファイルが与えられたときに画像埋め込みを作成する方法を示しています。
def create_image_embedding( twelvelabs_client: TwelveLabs, image_file: Union[str, Path], engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create an image embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) image_embedding = create_image_embedding(twelvelabs_client, "path/to/image.jpg") """ # Create embedding image_embedding = twelvelabs_client.embed.create( engine_name=engine_name, image_file=image_file ) # Print information if verbose is True if verbose: print("Created an image embedding") print(f" Engine: {image_embedding.engine_name}") print(f" Embedding: {image_embedding.image_embedding.values[:5]}... (truncated)") return image_embedding
Twelve Labs Embed API を使い始める
Twelve Labs Embeddingsは、APIおよびPlaygroundを通じて利用可能です。Embed APIをすぐに使い始めるためのリソースをいくつか紹介します。
著者
リード
Lucas Lee, Yeonhoo Park, Manish Maheshwari
コア・リサーチ、プロダクト、デザイン、エンジニアリングおよびGTM
Jeff Kim, Jenna Kang, Sean Barclay, Sunny Nguyen, Meryl Hu, Ryan Won, Esther Kim, Wade Jeong, SJ Kim, Henry Choi, Maninder Saini, James Le, Aiden Lee, Soyoung Lee, Jae Lee
最先端のマルチモーダル埋め込み(マルチモーダルエンベディング)を生成できる、新しい Embed API のオープンベータ版をリリースいたしました。
主な特徴:
最先端のマルチモーダルモデル Marengo 2.6を搭載。テキストからビデオの検索ベンチマーク(MSR-VTT、ActivityNet)およびテキストから画像の検索ベンチマーク(MS-COCO)において、Gemini Multimodal embeddings や Google VideoPrism を上回る性能を発揮します。
コスト・パフォーマンスにおいて、CLIPベースのモデルを含む他のソリューションと比較して最大70%安価です。
時空間的な理解により、ビデオ内におけるオブジェクト、アクション、またはイベントを、空間(フレーム内のどこで発生するか)と時間(複数のフレームにわたっていつ発生するか)の両方で特定し、位置を検出します。
簡単なベクトル保存のために、MongoDB、Pinecone、Databricks Mosaic AI、Milvus、LanceDB、ApertureDBと統合されています。
APIを使用してインデックス化されたビデオの埋め込みを取得し、Twelve Labs Playground 上でビデオ埋め込みを可視化できます。
Embed APIを使用して埋め込みの作成を始めるには、こちらのドキュメントおよびクイックスタート クックブックに従ってください。Embed APIの価格はこちらからご確認いただけます。

なぜマルチモーダル埋め込みなのか?
アプリケーションでは、多様なコンテンツ形式を扱う必要があることがよくあります。Twelve LabsのEmbed APIは、複数のモダリティにわたるコンテンツの埋め込みをサポートしており、ユーザーはテキスト、画像、ビデオ、およびオーディオデータの間に関連性を作成できます。
Embed APIを使用することで、開発者は以下を含むエニートゥエニー(あらゆる形式間)の検索および取得タスクを実行できます。
テキストからビデオ(Text-to-Video):自然言語のクエリを使用してビデオライブラリを検索します。
画像からビデオ(Image-to-Video):画像に基づいて関連するビデオコンテンツを取得します。
テキストからオーディオ(Text-to-Audio)およびオーディオからビデオ(Audio-to-Video):オーディオデータとビデオデータを効率的にリンクして検索します。
さらに、マルチモーダル埋め込みは、以下を含む幅広いAIユースケースに使用できます。
検索拡張生成(RAG)
ハイブリッド検索
モデルのトレーニング
高品質なトレーニングデータの作成
異常検知
以下のインタラクティブな視覚化は、Kinetics 400データセットからのビデオサンプルの埋め込みを示しています。

Twelve Labs Embed APIを使用したVideo-RAGの構築
マルチモーダル埋め込みのユースケースの1つに、ハイブリッド検索の構築があります。Twelve Labs Embed APIと一般的なベクトルデータベースを使用して、ビデオ検索拡張生成(Video-RAG)システムを構築できるようになりました。以下のブログでは、以下を使用したVideo-RAGアプリケーションの構築方法についての詳細なチュートリアルを紹介しています。
Pinecone – マルチモーダルRAG:Twelve LabsとPineconeを使用したビデオとのチャット (Pinecone ドキュメント)
MongoDB Atlas – Twelve Labs Embed APIとMongoDB Atlasを使用したビルディング・セマンティック・ビデオ・サーチ (MongoDB ドキュメント)
Databricks Mosaic AI – Twelve Labs + Databricks Mosaic AIによる高度なビジュアル理解
Milvus – セマンティック検索のためのTwelve LabsとMilvusの活用 (Milvus ドキュメント)
ApertureDB – Twelve LabsとApertureDBを使用したセマンティックビデオ検索エンジン

Twelve Labs Embed APIを使用したビデオ埋め込みの生成
以下の表は、Twelve Labs Embed APIを使用した埋め込みに関する詳細を示しています。

以下のコードスニペットは、Twelve Labs Embed APIを使用して埋め込みを生成する例を示しています。
Twelve Labsのマルチモーダル埋め込みは、当社のAPIおよびSDK(Python、NodeJS)からアクセスできます。このコードスニペットではPython SDKを使用します。最初のステップは、必要なライブラリをインストールし、必要なモジュールをインポートすることです。
# Install necessary libraries and dependencies !pip install twelvelabs # Import required modules import twelvelabs
上記のコードを実行すると、必要なすべてのライブラリがインストールされ、以降のステップで使用できるようになります。以下のコードスニペットは、ビデオ埋め込みを作成する方法を示しています。
from twelvelabs import TwelveLabs from twelvelabs.models.embed import EmbeddingsTask # Initialize the Twelve Labs client twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) def generate_embedding(video_url): # Create an embedding task task = twelvelabs_client.embed.task.create( engine_name="Marengo-retrieval-2.6", video_url=video_url ) print(f"Created task: id={task.id} engine_name={task.engine_name} status={task.status}") # Define a callback function to monitor task progress def on_task_update(task: EmbeddingsTask): print(f" Status={task.status}") # Wait for the task to complete status = task.wait_for_done( sleep_interval=2, callback=on_task_update ) print(f"Embedding done: {status}") # Retrieve the task result task_result = twelvelabs_client.embed.task.retrieve(task.id) # Extract and return the embeddings embeddings = [] for v in task_result.video_embeddings: embeddings.append({ 'embedding': v.values, 'start_offset_sec': v.start_offset_sec, 'end_offset_sec': v.end_offset_sec, 'embedding_scope': v.embedding_scope }) return embeddings, task_result # Example usage video_url = "https://storage.googleapis.com/ad-demos-datasets/videos/Ecommerce%20v2.5.mp4" # Generate embeddings for the video embeddings, task_result = generate_embedding(video_url) print(f"Generated {len(embeddings)} embeddings for the video") for i, emb in enumerate(embeddings): print(f"Embedding {i+1}:") print(f" Scope: {emb['embedding_scope']}") print(f" Time range: {emb['start_offset_sec']} - {emb['end_offset_sec']} seconds") print(f" Embedding vector (first 5 values): {emb['embedding'][:5]}") print()
以下のコードスニペットは、テキストクエリが与えられたときにテキスト埋め込みを作成する方法を示しています。
def create_text_embedding( twelvelabs_client: TwelveLabs, text: str, engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create a text embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) text_embedding = create_text_embedding(twelvelabs_client, "Your text here") """ # Create embedding text_embedding = twelvelabs_client.embed.create( engine_name=engine_name, text=text ) # Print information if verbose is True if verbose: print("Created a text embedding") print(f" Engine: {text_embedding.engine_name}") print(f" Embedding: {text_embedding.text_embedding}") return text_embedding
以下のコードスニペットは、オーディオファイルが与えられたときにオーディオ埋め込みを作成する方法を示しています。
def create_audio_embedding( twelvelabs_client: TwelveLabs, audio_file: Union[str, Path], engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create an audio embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) audio_embedding = create_audio_embedding(twelvelabs_client, "path/to/audio.mp3") """ # Create embedding audio_embedding = twelvelabs_client.embed.create( engine_name=engine_name, audio_file=audio_file, ) # Print information if verbose is True if verbose: print("Created an audio embedding") print(f" Engine: {audio_embedding.engine_name}") if audio_embedding.audio_embedding.segments: print("Segments:") for i, segment in enumerate(audio_embedding.audio_embedding.segments, 1): print(f" Segment {i}:") print(f" Start Offset (sec): {segment.start_offset_sec}") if segment.values: print(f" Values: {segment.values[:5]}... (truncated)") return audio_embedding
以下のコードスニペットは、画像ファイルが与えられたときに画像埋め込みを作成する方法を示しています。
def create_image_embedding( twelvelabs_client: TwelveLabs, image_file: Union[str, Path], engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create an image embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) image_embedding = create_image_embedding(twelvelabs_client, "path/to/image.jpg") """ # Create embedding image_embedding = twelvelabs_client.embed.create( engine_name=engine_name, image_file=image_file ) # Print information if verbose is True if verbose: print("Created an image embedding") print(f" Engine: {image_embedding.engine_name}") print(f" Embedding: {image_embedding.image_embedding.values[:5]}... (truncated)") return image_embedding
Twelve Labs Embed API を使い始める
Twelve Labs Embeddingsは、APIおよびPlaygroundを通じて利用可能です。Embed APIをすぐに使い始めるためのリソースをいくつか紹介します。
著者
リード
Lucas Lee, Yeonhoo Park, Manish Maheshwari
コア・リサーチ、プロダクト、デザイン、エンジニアリングおよびGTM
Jeff Kim, Jenna Kang, Sean Barclay, Sunny Nguyen, Meryl Hu, Ryan Won, Esther Kim, Wade Jeong, SJ Kim, Henry Choi, Maninder Saini, James Le, Aiden Lee, Soyoung Lee, Jae Lee
最先端のマルチモーダル埋め込み(マルチモーダルエンベディング)を生成できる、新しい Embed API のオープンベータ版をリリースいたしました。
主な特徴:
最先端のマルチモーダルモデル Marengo 2.6を搭載。テキストからビデオの検索ベンチマーク(MSR-VTT、ActivityNet)およびテキストから画像の検索ベンチマーク(MS-COCO)において、Gemini Multimodal embeddings や Google VideoPrism を上回る性能を発揮します。
コスト・パフォーマンスにおいて、CLIPベースのモデルを含む他のソリューションと比較して最大70%安価です。
時空間的な理解により、ビデオ内におけるオブジェクト、アクション、またはイベントを、空間(フレーム内のどこで発生するか)と時間(複数のフレームにわたっていつ発生するか)の両方で特定し、位置を検出します。
簡単なベクトル保存のために、MongoDB、Pinecone、Databricks Mosaic AI、Milvus、LanceDB、ApertureDBと統合されています。
APIを使用してインデックス化されたビデオの埋め込みを取得し、Twelve Labs Playground 上でビデオ埋め込みを可視化できます。
Embed APIを使用して埋め込みの作成を始めるには、こちらのドキュメントおよびクイックスタート クックブックに従ってください。Embed APIの価格はこちらからご確認いただけます。

なぜマルチモーダル埋め込みなのか?
アプリケーションでは、多様なコンテンツ形式を扱う必要があることがよくあります。Twelve LabsのEmbed APIは、複数のモダリティにわたるコンテンツの埋め込みをサポートしており、ユーザーはテキスト、画像、ビデオ、およびオーディオデータの間に関連性を作成できます。
Embed APIを使用することで、開発者は以下を含むエニートゥエニー(あらゆる形式間)の検索および取得タスクを実行できます。
テキストからビデオ(Text-to-Video):自然言語のクエリを使用してビデオライブラリを検索します。
画像からビデオ(Image-to-Video):画像に基づいて関連するビデオコンテンツを取得します。
テキストからオーディオ(Text-to-Audio)およびオーディオからビデオ(Audio-to-Video):オーディオデータとビデオデータを効率的にリンクして検索します。
さらに、マルチモーダル埋め込みは、以下を含む幅広いAIユースケースに使用できます。
検索拡張生成(RAG)
ハイブリッド検索
モデルのトレーニング
高品質なトレーニングデータの作成
異常検知
以下のインタラクティブな視覚化は、Kinetics 400データセットからのビデオサンプルの埋め込みを示しています。

Twelve Labs Embed APIを使用したVideo-RAGの構築
マルチモーダル埋め込みのユースケースの1つに、ハイブリッド検索の構築があります。Twelve Labs Embed APIと一般的なベクトルデータベースを使用して、ビデオ検索拡張生成(Video-RAG)システムを構築できるようになりました。以下のブログでは、以下を使用したVideo-RAGアプリケーションの構築方法についての詳細なチュートリアルを紹介しています。
Pinecone – マルチモーダルRAG:Twelve LabsとPineconeを使用したビデオとのチャット (Pinecone ドキュメント)
MongoDB Atlas – Twelve Labs Embed APIとMongoDB Atlasを使用したビルディング・セマンティック・ビデオ・サーチ (MongoDB ドキュメント)
Databricks Mosaic AI – Twelve Labs + Databricks Mosaic AIによる高度なビジュアル理解
Milvus – セマンティック検索のためのTwelve LabsとMilvusの活用 (Milvus ドキュメント)
ApertureDB – Twelve LabsとApertureDBを使用したセマンティックビデオ検索エンジン

Twelve Labs Embed APIを使用したビデオ埋め込みの生成
以下の表は、Twelve Labs Embed APIを使用した埋め込みに関する詳細を示しています。

以下のコードスニペットは、Twelve Labs Embed APIを使用して埋め込みを生成する例を示しています。
Twelve Labsのマルチモーダル埋め込みは、当社のAPIおよびSDK(Python、NodeJS)からアクセスできます。このコードスニペットではPython SDKを使用します。最初のステップは、必要なライブラリをインストールし、必要なモジュールをインポートすることです。
# Install necessary libraries and dependencies !pip install twelvelabs # Import required modules import twelvelabs
上記のコードを実行すると、必要なすべてのライブラリがインストールされ、以降のステップで使用できるようになります。以下のコードスニペットは、ビデオ埋め込みを作成する方法を示しています。
from twelvelabs import TwelveLabs from twelvelabs.models.embed import EmbeddingsTask # Initialize the Twelve Labs client twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) def generate_embedding(video_url): # Create an embedding task task = twelvelabs_client.embed.task.create( engine_name="Marengo-retrieval-2.6", video_url=video_url ) print(f"Created task: id={task.id} engine_name={task.engine_name} status={task.status}") # Define a callback function to monitor task progress def on_task_update(task: EmbeddingsTask): print(f" Status={task.status}") # Wait for the task to complete status = task.wait_for_done( sleep_interval=2, callback=on_task_update ) print(f"Embedding done: {status}") # Retrieve the task result task_result = twelvelabs_client.embed.task.retrieve(task.id) # Extract and return the embeddings embeddings = [] for v in task_result.video_embeddings: embeddings.append({ 'embedding': v.values, 'start_offset_sec': v.start_offset_sec, 'end_offset_sec': v.end_offset_sec, 'embedding_scope': v.embedding_scope }) return embeddings, task_result # Example usage video_url = "https://storage.googleapis.com/ad-demos-datasets/videos/Ecommerce%20v2.5.mp4" # Generate embeddings for the video embeddings, task_result = generate_embedding(video_url) print(f"Generated {len(embeddings)} embeddings for the video") for i, emb in enumerate(embeddings): print(f"Embedding {i+1}:") print(f" Scope: {emb['embedding_scope']}") print(f" Time range: {emb['start_offset_sec']} - {emb['end_offset_sec']} seconds") print(f" Embedding vector (first 5 values): {emb['embedding'][:5]}") print()
以下のコードスニペットは、テキストクエリが与えられたときにテキスト埋め込みを作成する方法を示しています。
def create_text_embedding( twelvelabs_client: TwelveLabs, text: str, engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create a text embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) text_embedding = create_text_embedding(twelvelabs_client, "Your text here") """ # Create embedding text_embedding = twelvelabs_client.embed.create( engine_name=engine_name, text=text ) # Print information if verbose is True if verbose: print("Created a text embedding") print(f" Engine: {text_embedding.engine_name}") print(f" Embedding: {text_embedding.text_embedding}") return text_embedding
以下のコードスニペットは、オーディオファイルが与えられたときにオーディオ埋め込みを作成する方法を示しています。
def create_audio_embedding( twelvelabs_client: TwelveLabs, audio_file: Union[str, Path], engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create an audio embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) audio_embedding = create_audio_embedding(twelvelabs_client, "path/to/audio.mp3") """ # Create embedding audio_embedding = twelvelabs_client.embed.create( engine_name=engine_name, audio_file=audio_file, ) # Print information if verbose is True if verbose: print("Created an audio embedding") print(f" Engine: {audio_embedding.engine_name}") if audio_embedding.audio_embedding.segments: print("Segments:") for i, segment in enumerate(audio_embedding.audio_embedding.segments, 1): print(f" Segment {i}:") print(f" Start Offset (sec): {segment.start_offset_sec}") if segment.values: print(f" Values: {segment.values[:5]}... (truncated)") return audio_embedding
以下のコードスニペットは、画像ファイルが与えられたときに画像埋め込みを作成する方法を示しています。
def create_image_embedding( twelvelabs_client: TwelveLabs, image_file: Union[str, Path], engine_name: str = "Marengo-retrieval-2.6", verbose: bool = True ) -> dict: """ Create an image embedding using Twelve Labs Embed API. Example: twelvelabs_client = TwelveLabs(api_key=TL_API_KEY) image_embedding = create_image_embedding(twelvelabs_client, "path/to/image.jpg") """ # Create embedding image_embedding = twelvelabs_client.embed.create( engine_name=engine_name, image_file=image_file ) # Print information if verbose is True if verbose: print("Created an image embedding") print(f" Engine: {image_embedding.engine_name}") print(f" Embedding: {image_embedding.image_embedding.values[:5]}... (truncated)") return image_embedding
Twelve Labs Embed API を使い始める
Twelve Labs Embeddingsは、APIおよびPlaygroundを通じて利用可能です。Embed APIをすぐに使い始めるためのリソースをいくつか紹介します。
著者
リード
Lucas Lee, Yeonhoo Park, Manish Maheshwari
コア・リサーチ、プロダクト、デザイン、エンジニアリングおよびGTM
Jeff Kim, Jenna Kang, Sean Barclay, Sunny Nguyen, Meryl Hu, Ryan Won, Esther Kim, Wade Jeong, SJ Kim, Henry Choi, Maninder Saini, James Le, Aiden Lee, Soyoung Lee, Jae Lee




