Video Analysis
Get video analysis
Retrieve a video analysis by ID. Returns full results when status is completed, including all metrics and chunk-level data.
GET
/
video-analyses
/
{id}
Get video analysis
curl --request GET \
--url https://app.mavera.io/api/v1/video-analyses/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.mavera.io/api/v1/video-analyses/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.mavera.io/api/v1/video-analyses/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.mavera.io/api/v1/video-analyses/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "<string>",
"object": "video_analysis",
"created_at": 123,
"updated_at": 123,
"video_url": "<string>",
"title": "<string>",
"brand": "<string>",
"product": "<string>",
"primary_intent": "<string>",
"secondary_intent": "<string>",
"tertiary_intent": "<string>",
"goal": "<string>",
"chunk_duration": 123,
"frames_per_chunk": 123,
"error": "<string>",
"progress": {
"total_chunks": 123,
"processed_chunks": 123
},
"results": {
"total_chunks": 123,
"completed_at": 123,
"metrics": {
"emotional": {},
"cognitive": {},
"behavioral": {},
"technical": {},
"platform": {},
"risk": {},
"ad_effectiveness": {
"score": 123,
"explanation": "<string>"
}
},
"web_insights": [
{
"title": "<string>",
"url": "<string>",
"snippet": "<string>",
"impact_score": 123
}
],
"aggregated_transcript": "<string>"
},
"chunks": [
{
"index": 123,
"start_time": 123,
"transcript": "<string>",
"image_description": "<string>",
"metrics": {
"emotional": {
"primary_emotional_tone": "<string>",
"emotional_intensity_score": 50,
"mood_congruence_score": 50,
"emotional_trust_index": 50
},
"cognitive": {
"message_clarity_score": 50,
"recall_probability_index": 50,
"cognitive_load_estimate": 50,
"brand_attribution_confidence": 50
},
"behavioral": {
"intent_to_act_score": 50,
"retention_behavior_index": 50,
"click_through_probability": 50
}
}
}
]
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}Authorizations
API key prefixed with mvra_live_. Create keys at Settings > Developer > API Keys.
Path Parameters
The video analysis ID.
Response
Video analysis details.
Available options:
video_analysis Available options:
pending, generating, completed, failed Error message if status is 'failed'.
Progress info when status is 'generating'.
Show child attributes
Show child attributes
Full analysis results when status is 'completed'.
Show child attributes
Show child attributes
Per-chunk analysis data.
Show child attributes
Show child attributes
⌘I
Get video analysis
curl --request GET \
--url https://app.mavera.io/api/v1/video-analyses/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.mavera.io/api/v1/video-analyses/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.mavera.io/api/v1/video-analyses/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.mavera.io/api/v1/video-analyses/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"id": "<string>",
"object": "video_analysis",
"created_at": 123,
"updated_at": 123,
"video_url": "<string>",
"title": "<string>",
"brand": "<string>",
"product": "<string>",
"primary_intent": "<string>",
"secondary_intent": "<string>",
"tertiary_intent": "<string>",
"goal": "<string>",
"chunk_duration": 123,
"frames_per_chunk": 123,
"error": "<string>",
"progress": {
"total_chunks": 123,
"processed_chunks": 123
},
"results": {
"total_chunks": 123,
"completed_at": 123,
"metrics": {
"emotional": {},
"cognitive": {},
"behavioral": {},
"technical": {},
"platform": {},
"risk": {},
"ad_effectiveness": {
"score": 123,
"explanation": "<string>"
}
},
"web_insights": [
{
"title": "<string>",
"url": "<string>",
"snippet": "<string>",
"impact_score": 123
}
],
"aggregated_transcript": "<string>"
},
"chunks": [
{
"index": 123,
"start_time": 123,
"transcript": "<string>",
"image_description": "<string>",
"metrics": {
"emotional": {
"primary_emotional_tone": "<string>",
"emotional_intensity_score": 50,
"mood_congruence_score": 50,
"emotional_trust_index": 50
},
"cognitive": {
"message_clarity_score": 50,
"recall_probability_index": 50,
"cognitive_load_estimate": 50,
"brand_attribution_confidence": 50
},
"behavioral": {
"intent_to_act_score": 50,
"retention_behavior_index": 50,
"click_through_probability": 50
}
}
}
]
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}{
"error": {
"message": "Invalid API key.",
"type": "authentication_error",
"code": "invalid_api_key",
"param": null
}
}