The basics of combined queries
You can interact with the platform using one of the available SDKs or an HTTP client like requests
or axios
. This guide demonstrates how to use the SDKs, the recommended approach for most scenarios. If you need to make direct HTTP requests, refer to the API Reference > Make a combined search request page for details.
The following example performs a search request using the most basic form of a combined query:
from twelvelabs import TwelveLabs
client = TwelveLabs(api_key="<YOUR_API_KEY>")
search_results = client.search.query(
index_id="<YOUR_INDEX_ID>",
query={
"text": "<YOUR_QUERY>"
},
options=["visual"],
)
# Utility function to print a specific page
def print_page(page):
for clip in page:
print(
f" video_id={clip.video_id} score={clip.score} start={clip.start} end={clip.end} confidence={clip.confidence}"
)
print_page(search_results.data)
while True:
try:
print_page(next(search_results))
except StopIteration:
break
import { TwelveLabs, SearchData } from 'twelvelabs-js';
const client = new TwelveLabs({ apiKey: '<YOUR_API_KEY>'});
let searchResults = await client.search.query({
indexId: '<YOUR_INDEX_ID>'
query: {
text: '<YOUR_QUERY>',
},
options: ['visual'],
});
printPage(searchResults.data);
while (true) {
const page = await searchResults.next();
if (page === null) break;
else printPage(page);
}
// Utility function to print a specific page
function printPage(searchData) {
(searchData as SearchData[]).forEach((clip) => {
console.log(
`video_id= ${clip.videoId} score=${clip.score} start=${clip.start} end=${clip.end} confidence=${clip.confidence}`,
);
});
}
The following output was truncated for brevity:
video_id=639963a1ce36463e0199c8c7 score=81.79 start=117 end=125 confidence=medium
video_id=639963a1ce36463e0199c8c7 score=75.61 start=420 end=430 confidence=medium
video_id=63a09373ce36463e0199c8de score=72.9 start=15 end=18 confidence=low
Updated 2 months ago