Retrieving Conversation Data
Overview
Hyperia can ingest any online meeting (Zoom, Google Meet, Microsoft Teams, ..) or media file (audio or video) for analysis, transcription, computer vision analysis, and NLP enrichment. A variety of ingestion mechanisms are provided including an AI notetaker bot that joins active meetings, direct file upload, and Internet web crawling (public http/https URLs). In addition to audio transcription, many other enrichments are provided including dialog act labeling, sentiment analysis, topic extraction, intent and action extraction, summarization, shared screen analysis (slide extraction, title extraction, screen OCR and text extraction, etc). APIs are provided to retrieve the various types of enrichment data provided by Hyperia.
Get Conversation Info
Retrieves document-level metadata for an ingested and analyzed conversation. Metadata includes conversation title and description, duration, and speakers.
Endpoint:
/v1/workspace/id/<workspace_id>/doc/id/<doc_id>/metadata/info
HTTP Method:
GET
URI Parameters:
Name | Description |
---|---|
workspace_id | ID of the workspace containing a document to retrieve a transcript from |
doc_id | ID of the document to retrieve a transcript from |
Returns:
If successful: HTTP 200
Return Payload:
{
"status": "ok",
"info": {
"title": "DOCUMENT_TITLE",
"description": "DOCUMENT_DESCRIPTION",
"duration": CONVERSATION_DURATION,
"speakers": [
{
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
}
]
}
}
Code Sample:
from hyperia import Hyperia
import sys
workspace_id = "SOME_WORKSPACE_ID"
doc_id = "SOME_DOCUMENT_ID"
hyperia = Hyperia()
response = hyperia.workspace_doc_metadata_info(workspace_id, doc_id)
if not response:
sys.exit(-1)
doc_data = response['info']
print(f"{doc_data['title']}: {doc_data['duration']}")
Get Transcript
Retrieves a transcription for an ingested and analyzed recording. Transcripts include speaker name and timestamp information.
Endpoint:
/v1/workspace/id/<workspace_id>/doc/id/<doc_id>/metadata/transcript
HTTP Method:
GET
URI Parameters:
Name | Description |
---|---|
workspace_id | ID of the workspace containing a document to retrieve a transcript from |
doc_id | ID of the document to retrieve a transcript from |
Returns:
If successful: HTTP 200
Return Payload:
{
"status": "ok",
"transcript": [
{
"startTime": UTTERANCE_START_TIME_IN_SECONDS,
"endTime": UTTERANCE_END_TIME_IN_SECONDS,
"speaker": {
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
},
"transcript": "TRANSCRIPT_TEXT"
}
]
}
Code Sample:
from hyperia import Hyperia
import sys
workspace_id = "SOME_WORKSPACE_ID"
doc_id = "SOME_DOCUMENT_ID"
hyperia = Hyperia()
response = hyperia.workspace_doc_metadata_transcript(workspace_id, doc_id)
if not response:
sys.exit(-1)
transcript = response['transcript']
for utterance in transcript:
print(f"{utterance['speaker']['name']}: {utterance['transcript']}")
Get Summary
Retrieves a machine-generated summary of an ingested and analyzed conversation. Summaries include timing and speaker information, as well as summarized key event data.
Endpoint:
/v1/workspace/id/<workspace_id>/doc/id/<doc_id>/metadata/summary
HTTP Method:
GET
URI Parameters:
Name | Description |
---|---|
workspace_id | ID of the workspace containing a document to retrieve summaries from |
doc_id | ID of the document to retrieve summaries from |
Returns:
If successful: HTTP 200
Return Payload:
{
"status": "ok",
"summary": [
{
"startTime": SUMMARY_BLOCK_START_TIME_IN_SECONDS,
"endTime": SUMMARY_BLOCK_END_TIME_IN_SECONDS,
"speakers": [
{
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
}
],
"summaries": [
{
"startTime": SUMMARY_ITEM_START_TIME_IN_SECONDS,
"endTime": SUMMARY_ITEM_END_TIME_IN_SECONDS,
"speakers": [
{
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
}
],
"text": "SUMMARY_ITEM_TEXT"
}
]
}
]
}
Code Sample:
from hyperia import Hyperia
import sys
workspace_id = "SOME_WORKSPACE_ID"
doc_id = "SOME_DOCUMENT_ID"
hyperia = Hyperia()
response = hyperia.workspace_doc_metadata_summary(workspace_id, doc_id)
if not response:
sys.exit(-1)
summary = response['summary']
for block in summary['summaries']:
print(block)
Get Monologues
Retrieves a machine-generated monologues for an ingested and analyzed conversation. Monologues include timing, title, and speaker information, as well as transcript data.
Endpoint:
/v1/workspace/id/<workspace_id>/doc/id/<doc_id>/metadata/monologues
HTTP Method:
GET
URI Parameters:
Name | Description |
---|---|
workspace_id | ID of the workspace containing a document to retrieve monologues from |
doc_id | ID of the document to retrieve monologues from |
Returns:
If successful: HTTP 200
Return Payload:
{
"status": "ok",
"monologues": [
{
"startTime": MONOLOGUE_START_TIME_IN_SECONDS,
"endTime": MONOLOGUE_END_TIME_IN_SECONDS,
"speakers": [
{
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
}
],
"title": "MONOLOGUE_TITLE",
"transcript": [
{
"startTime": UTTERANCE_START_TIME_IN_SECONDS,
"endTime": UTTERANCE_END_TIME_IN_SECONDS,
"speaker": {
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
},
"transcript": "TRANSCRIPT_TEXT"
}
]
}
]
}
Code Sample:
from hyperia import Hyperia
import sys
workspace_id = "SOME_WORKSPACE_ID"
doc_id = "SOME_DOCUMENT_ID"
hyperia = Hyperia()
response = hyperia.workspace_doc_metadata_monologues(workspace_id, doc_id)
if not response:
sys.exit(-1)
monologues = response['monologues']
for monologue in monologues:
print(monologue)
Get Screenshots
Retrieves automatically extracted screenshot data of any content display during an ingested and analyzed conversation. Screen data includes extracted OCR information, bounding boxes, and timing information.
Endpoint:
/v1/workspace/id/<workspace_id>/doc/id/<doc_id>/metadata/screens
HTTP Method:
GET
URI Parameters:
Name | Description |
---|---|
workspace_id | ID of the workspace containing the document to retrieve screens from |
doc_id | ID of the document to retrieve screens from |
Returns:
If successful: HTTP 200
Return Payload:
{
"status": "ok",
"screens": [
{
"startTime": SCREEN_VISIBILITY_START_TIME_IN_SECONDS,
"endTime": SCREEN_VISIBILITY_END_TIME_IN_SECONDS,
"title": "OCR_SCREEN_TITLE_DATA",
"ocr": {
"lines": [
{
"text": "OCR_LINE_TEXT_DATA"
"minX": BOUNDING_BOX_MIN_X,
"minY": BOUNDING_BOX_MIN_Y,
"maxX": BOUNDING_BOX_MAX_X,
"maxY": BOUNDING_BOX_MAX_Y
}
]
},
"mentions": [
{
"startTime": UTTERANCE_START_TIME_IN_SECONDS,
"endTime": UTTERANCE_END_TIME_IN_SECONDS,
"speaker": {
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
},
"transcript": "TRANSCRIPT_TEXT"
}
]
}
]
}
Code Sample:
from hyperia import Hyperia
import sys
workspace_id = "SOME_WORKSPACE_ID"
doc_id = "SOME_DOCUMENT_ID"
hyperia = Hyperia()
response = hyperia.workspace_doc_metadata_screens(workspace_id, doc_id)
if not response:
sys.exit(-1)
screens = response['screens']
for screen in screens:
print(screen)
Get Extracted Topics
Retrieves automatically extracted natural language topics for any an ingested and analyzed conversation. Topic data includes topic name and type, speaker and timing information.
Endpoint:
/v1/workspace/id/<workspace_id>/doc/id/<doc_id>/metadata/topics
HTTP Method:
GET
URI Parameters:
Name | Description |
---|---|
workspace_id | ID of the workspace containing the document to retrieve topics from |
doc_id | ID of the document to retrieve topics from |
Returns:
If successful: HTTP 200
Return Payload:
{
"status": "ok",
"topics": [
{
"text": "TOPIC_NAME",
"type": "TOPIC_TYPE",
"count": OCCURRENCE_COUNT,
"mentions": [
{
"startTime": UTTERANCE_START_TIME_IN_SECONDS,
"endTime": UTTERANCE_END_TIME_IN_SECONDS,
"speaker": {
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
},
"transcript": "TRANSCRIPT_TEXT"
}
]
}
]
}
Code Sample:
from hyperia import Hyperia
import sys
workspace_id = "SOME_WORKSPACE_ID"
doc_id = "SOME_DOCUMENT_ID"
hyperia = Hyperia()
response = hyperia.workspace_doc_metadata_topics(workspace_id, doc_id)
if not response:
sys.exit(-1)
topics = response['topics']
for topic in topics:
print(topic)
Get Automation Tags
Retrieves tags created within an ingested and analyzed conversation. Tags could be created by a Hyperia user during the process of creating or sharing a comment or clip, or automatically by a Hyperia Automation.
Endpoint:
/v1/workspace/id/<workspace_id>/doc/id/<doc_id>/metadata/tags
HTTP Method:
GET
URI Parameters:
Name | Description |
---|---|
workspace_id | ID of the workspace containing the document to retrieve tags from |
doc_id | ID of the document to retrieve tags from |
Returns:
If successful: HTTP 200
Return Payload:
{
"status": "ok",
"tags": [
{
"name": "TAG_NAME",
"id": "TAG_GUID",
"count": OCCURRENCE_COUNT,
"mentions": [
{
"startTime": UTTERANCE_START_TIME_IN_SECONDS,
"endTime": UTTERANCE_END_TIME_IN_SECONDS,
"speaker": {
"id": "SPEAKER_GUID",
"name": "SPEAKER_NAME"
},
"transcript": "TRANSCRIPT_TEXT"
}
]
}
]
}
Code Sample:
from hyperia import Hyperia
import sys
workspace_id = "SOME_WORKSPACE_ID"
doc_id = "SOME_DOCUMENT_ID"
hyperia = Hyperia()
response = hyperia.workspace_doc_metadata_topics(workspace_id, doc_id)
if not response:
sys.exit(-1)
tags = response['tags']
for tag in tags:
print(tag)