Video Summary UI
Create a Video Summary UI
This tutorial describes how to create a Video Summary UI, one of Symbl.ai's pre-built experiences.
Before you begin
This tutorial requires:
-
An access token. You obtain your access token when you authenticate with the Symbl.ai APIs.
-
A video conversation. This tutorial guides you through processing a video to create a conversation.
-
A link to the video that you used to create the conversation. You will provide this link when you create the Video Summary UI in Step 3.
Step 1: Process a video
To create a Video Summary UI, you must provide a conversation. You can process a video to create a conversation for the Video Summary UI, or use the conversation ID of one of your existing conversations.
If you want to use the ID of a conversation you've previously processed, skip to Step 3.
This step returns two values: conversationId
and jobId
. These values are required for the next steps.
This tutorial creates a conversation by submitting a video URL. URLs must go directly to the publicly-hosted media that you want to process. Symbl.ai does not support URL redirection, such as shortened links from platforms like YouTube or Bitly.
To submit and process a video URL, use the following operation:
POST https://api.symbl.ai/v1/process/video/url
ACCESS_TOKEN="<ACCESS_TOKEN>"
CONVERSATION_NAME="<NAME>"
FILE_URL="<URL>"
curl \
--url "https://api.symbl.ai/v1/process/video/url" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--data '{
"name": "'"$CONVERSATION_NAME"'",
"url": "'"$FILE_URL"'"
}'
Where:
<ACCESS_TOKEN>
is a valid API access token.<NAME>
is the name of the conversation. For example,Business Meeting 2022-01-01
. If no name is provided, the Async API sets the name to the conversation ID.<URL>
is a direct URL to a video file. For example,<https://www.example.com/files/example_video.mp4
>.
For optional parameters and additional reference information, see Submit a video URL.
Example Request
ACCESS_TOKEN="eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1UTT"
CONVERSATION_NAME="Meeting for Video Summary UI"
FILE_URL="https://symbltestdata.s3.us-east-2.amazonaws.com/sample_video_file.mp4"
curl \
--url "https://api.symbl.ai/v1/process/video/url" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--data '{
"name": "'"$CONVERSATION_NAME"'",
"url": "'"$FILE_URL"'"
}'
Response
When you successfully submit a video, the POST <https://api.symbl.ai/v1/process/video/url
> operation returns two values: conversationId
and jobId
. For example:
{
"conversationId": "5815170693595136",
"jobId": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"
}
Step 2: Check the job status
Before you create the Video Summary UI, confirm that the processing job that you started in Step 1 has completed. To ensure you get the best experience, you should only create the Video Summary UI after the job is finished.
To get the the status of a processing job, use the following operation:
GET https://api.symbl.ai/v1/job/{jobId}
ACCESS_TOKEN="<ACCESS_TOKEN>"
JOB_ID="<JOB_ID>"
curl \
--request GET \
--url "https://api.symbl.ai/v1/job/$JOB_ID" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json"
Where:
<ACCESS_TOKEN>
is a valid API access token.<JOB_ID>
is the job ID you received from the Async API after processing your video in Step 1.
Example Request
ACCESS_TOKEN="eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1UTT"
JOB_ID="8d31f558-cb40-4ca5-b1fc-25b238d51397"
curl \
--request GET \
--url "https://api.symbl.ai/v1/job/$JOB_ID" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json"
Response
While the job is running, the operation returns the in_progress
status. For example:
{
"id": "8d31f558-cb40-4ca5-b1fc-25b238d51397",
"status": "in_progress"
}
When the job is finished, the operation returns the completed
status. For example:
{
"id": "8d31f558-cb40-4ca5-b1fc-25b238d51397",
"status": "completed"
}
After the job is finished, proceed to Step 3.
Step 3: Create the Video Summary UI
When you create the Video Summary UI, you must provide the conversation ID that was returned in Step 1, as well as the URL to the video that you processed.
To create the Video Summary UI, use the following operation:
POST https://api.symbl.ai/v1/conversations/{conversationId}/experiences
ACCESS_TOKEN="<ACCESS_TOKEN>"
CONVERSATION_ID="<CONVERSATION_ID>"
VIDEO_URL="<URL>"
curl \
--url "https://api.symbl.ai/v1/conversations/$CONVERSATION_ID/experiences" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "video-summary",
"videoUrl": "'"$VIDEO_URL"'",
"summaryURLExpiresIn": 0
}'
Where:
<ACCESS_TOKEN>
is a valid API access token.<CONVERSATION_ID>
is the ID of a conversation that you created in Step 1.<URL>
is a direct URL to the same video you used to create a conversation in Step 1.
Request Body Parameters
Field | Required | Type | Description |
---|---|---|---|
name | Mandatory | String | Set name to video-summary . This parameter accepts only the following values: video-summary , verbose-text-summary , and audio-summary . |
videoUrl | Optional | String | The videoUrl needs to be the same URL that was submitted to the Async API to generate the conversationId . |
summaryURLExpiresIn | Mandatory | Number | This sets the expiry time for the summary URL. It is interpreted in seconds. If the value 0 is passed the URL will never expire. Default time for a URL to expire is 2592000 which is 30 days. |
Example Request
ACCESS_TOKEN="eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik1UTT"
CONVERSATION_ID="5815170693595136"
VIDEO_URL="https://symbltestdata.s3.us-east-2.amazonaws.com/sample_video_file.mp4"
curl \
--url "https://api.symbl.ai/v1/conversations/$CONVERSATION_ID/experiences" \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "video-summary",
"videoUrl": "'"$VIDEO_URL"'",
"summaryURLExpiresIn": 0
}'
Response
When the request to create the Video Summary UI is successful, the response provides a URL to the Video Summary UI. For example:
{
"name" : "video-summary",
"url" : "https://meetinginsights.symbl.ai/meeting/#/eyJzZXNzaW9uSWQiOiI1MzIyMzEwMzE4ODE3MjgwIiwicmVhZE9ubHkiOmZhbHNlLCJoaWRlU2hhcmVCdXR0b24iOmZhbHNlLCJhbmFseXRpY3NWZW5kb3JzIjpbXSwidmlkZW9VcmwiOiJodHRwczovL3N5bWJsdGVzdGRhdGEuczMudXMtZWFzdC0yLmFtYXpvbmF3cy5jb20vc2FtcGxlX3ZpZGVvX2ZpbGUubXA0In0.?showVideoSummary=true&o=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjUzMjIzMTAzMTg4MTcyODAiLCJpYXQiOjE2NjA1OTEwODJ9.USneajuA9TdMGY9-ywEEXPsCUNl9yMGQn2SGJXO8GBI"
}
What's next
- View the API reference for the Summary UI pre-built experiences.
- Learn how to tune your Video Summary UI.
- Learn how to white label your Video Summary UI.
- Learn how to add a custom domain to your Video Summary UI.
Updated over 1 year ago