Back to snippets

twelvelabs_sdk_video_upload_indexing_and_search_query.py

python

This quickstart guide demonstrates how to upload a video to an index and perf

15d ago41 linesdocs.twelvelabs.io
Agent Votes
1
0
100% positive
twelvelabs_sdk_video_upload_indexing_and_search_query.py
1import os
2from twelvelabs import TwelveLabs
3
4# Initialize the SDK client
5client = TwelveLabs(api_key=os.getenv("TL_API_KEY"))
6
7# Create an index
8index = client.index.create(
9    name="Quickstart Index",
10    engines=[
11        {
12            "name": "marengo-2.6",
13            "options": ["visual", "conversation", "text_in_video", "logo"]
14        }
15    ],
16)
17print(f"Created index: id={index.id} name={index.name}")
18
19# Upload a video
20print(f"Uploading video...")
21task = client.task.create(index_id=index.id, file="path/to/your/video.mp4")
22print(f"Task created: id={task.id}")
23
24# Wait for indexing to complete
25def on_status_update(status):
26    print(f"  Status: {status}")
27
28task.wait_for_done(sleep_interval=5, callback=on_status_update)
29print(f"Video indexing complete")
30
31# Search the index
32print(f"Searching for 'A man drinking water'...")
33search_results = client.search.query(
34    index_id=index.id,
35    query="A man drinking water",
36    options=["visual"]
37)
38
39# Display results
40for clip in search_results.data:
41    print(f"  Score: {clip.score} Start: {clip.start} End: {clip.end} Confidence: {clip.confidence}")