Async Generate Summary
curl --request POST \
--url https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"asset_id": "re_657929111888723968"
}
'import requests
url = "https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary"
payload = { "asset_id": "re_657929111888723968" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({asset_id: 're_657929111888723968'})
};
fetch('https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'asset_id' => 're_657929111888723968'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary"
payload := strings.NewReader("{\n \"asset_id\": \"re_657929111888723968\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"asset_id\": \"re_657929111888723968\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"asset_id\": \"re_657929111888723968\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"msg": "success",
"data": {
"task_id": "ec2449885ba84c4f943a80ff0633158e"
},
"failed": false,
"success": true
}
{
"code": 200,
"message": "SUCCESS",
"data": {
"data": {
"summary": "The video shows a young woman named Kiara, who is an Omega from the Blood Moon Pack. She is being hunted by Wendigos, creatures that are attracted to her. Her own pack considers her a jinx and treats her badly, especially her stepmother and stepsister, because they believe she brings the Wendigos to them.\n\nOne day, while being chased by a Wendigo, Kiara is rescued by Alejandro Rossi, the Alpha of the Ironclaw Pack. He takes her to his home, where she learns that he is the \"Alpha King\" who protects all the packs. Kiara is surprised because she had been told he was cold-hearted and ruthless.\n\nAlejandro keeps Kiara at his home to investigate why Wendigos are drawn to her. He discovers that she has a connection to the Moon Goddess, who tells Kiara that Alejandro is her destined mate and that their love will be tested.\n\nKiara and Alejandro develop a strong bond. He heals her wounds and helps her train to become a strong wolf. They also spend time together, going out for donuts, which Kiara had never had before.\n\nHowever, their relationship faces challenges. Alejandro has another mate, Jasmine, who is possessive and tries to hurt Kiara. The video ends with a cliffhanger, as Jasmine confronts Kiara and threatens her.",
"usage": {
"duration": 0.0,
"model": "gemini-2.5-flash",
"output_tokens": 264,
"prompt_tokens": 215102
}
},
"msg": "Video summary completed successfully",
"success": true
},
"task_id": "67d848a979ae40ce927cfccf862e5e96"
}
Video Task APIs
Video Summary
Generate an AI summary of a video’s content asynchronously.
POST
/
transcriptions
/
async-summary
Async Generate Summary
curl --request POST \
--url https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"asset_id": "re_657929111888723968"
}
'import requests
url = "https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary"
payload = { "asset_id": "re_657929111888723968" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({asset_id: 're_657929111888723968'})
};
fetch('https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'asset_id' => 're_657929111888723968'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary"
payload := strings.NewReader("{\n \"asset_id\": \"re_657929111888723968\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"asset_id\": \"re_657929111888723968\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"asset_id\": \"re_657929111888723968\"\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"msg": "success",
"data": {
"task_id": "ec2449885ba84c4f943a80ff0633158e"
},
"failed": false,
"success": true
}
{
"code": 200,
"message": "SUCCESS",
"data": {
"data": {
"summary": "The video shows a young woman named Kiara, who is an Omega from the Blood Moon Pack. She is being hunted by Wendigos, creatures that are attracted to her. Her own pack considers her a jinx and treats her badly, especially her stepmother and stepsister, because they believe she brings the Wendigos to them.\n\nOne day, while being chased by a Wendigo, Kiara is rescued by Alejandro Rossi, the Alpha of the Ironclaw Pack. He takes her to his home, where she learns that he is the \"Alpha King\" who protects all the packs. Kiara is surprised because she had been told he was cold-hearted and ruthless.\n\nAlejandro keeps Kiara at his home to investigate why Wendigos are drawn to her. He discovers that she has a connection to the Moon Goddess, who tells Kiara that Alejandro is her destined mate and that their love will be tested.\n\nKiara and Alejandro develop a strong bond. He heals her wounds and helps her train to become a strong wolf. They also spend time together, going out for donuts, which Kiara had never had before.\n\nHowever, their relationship faces challenges. Alejandro has another mate, Jasmine, who is possessive and tries to hurt Kiara. The video ends with a cliffhanger, as Jasmine confronts Kiara and threatens her.",
"usage": {
"duration": 0.0,
"model": "gemini-2.5-flash",
"output_tokens": 264,
"prompt_tokens": 215102
}
},
"msg": "Video summary completed successfully",
"success": true
},
"task_id": "67d848a979ae40ce927cfccf862e5e96"
}
Product: Visual Intelligence — Video Task APIs (application layer)
Use case: Pre-packaged video analysis tasks built on top of the Video Model APIs — fixed prompt + workflow, you just POST a video and get a structured result. For full control over prompt and model selection, see Video Model APIs.
Host:
https://mavi-backend.memories.ai/serve/api/v2
Auth: Authorization: sk-mavi-... (no Bearer prefix)This is an async endpoint. You must configure a webhook URL in Webhooks Settings before calling this endpoint, otherwise you will not receive the processing results. See Webhooks Configuration Guide for details.
Pricing:
- Input tokens: $0.45/1M tokens
- Output tokens: $3.75/1M tokens
Code Example
curl --request POST \
--url https://mavi-backend.memories.ai/serve/api/v2/transcriptions/async-summary \
--header 'Authorization: sk-mavi-...' \
--header 'Content-Type: application/json' \
--data '{
"asset_id": "re_657929111888723968"
}'
const BASE_URL = "https://mavi-backend.memories.ai/serve/api/v2/transcriptions";
const API_KEY = "sk-mavi-...";
const response = await fetch(`${BASE_URL}/async-summary`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': API_KEY
},
body: JSON.stringify({
asset_id: 're_657929111888723968'
})
});
const data = await response.json();
console.log(data);
import requests
BASE_URL = "https://mavi-backend.memories.ai/serve/api/v2/transcriptions"
API_KEY = "sk-mavi-..."
HEADERS = {
"Authorization": f"{API_KEY}"
}
def async_generate_summary(asset_id: str):
url = f"{BASE_URL}/async-summary"
data = {"asset_id": asset_id}
resp = requests.post(url, json=data, headers=HEADERS)
return resp.json()
# Usage example
result = async_generate_summary("re_657929111888723968")
print(result)
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_id | string | Yes | The unique identifier of the video asset to summarize |
Response
Returns the summary generation task information.{
"code": 200,
"msg": "success",
"data": {
"task_id": "ec2449885ba84c4f943a80ff0633158e"
},
"failed": false,
"success": true
}
{
"code": 200,
"message": "SUCCESS",
"data": {
"data": {
"summary": "The video shows a young woman named Kiara, who is an Omega from the Blood Moon Pack. She is being hunted by Wendigos, creatures that are attracted to her. Her own pack considers her a jinx and treats her badly, especially her stepmother and stepsister, because they believe she brings the Wendigos to them.\n\nOne day, while being chased by a Wendigo, Kiara is rescued by Alejandro Rossi, the Alpha of the Ironclaw Pack. He takes her to his home, where she learns that he is the \"Alpha King\" who protects all the packs. Kiara is surprised because she had been told he was cold-hearted and ruthless.\n\nAlejandro keeps Kiara at his home to investigate why Wendigos are drawn to her. He discovers that she has a connection to the Moon Goddess, who tells Kiara that Alejandro is her destined mate and that their love will be tested.\n\nKiara and Alejandro develop a strong bond. He heals her wounds and helps her train to become a strong wolf. They also spend time together, going out for donuts, which Kiara had never had before.\n\nHowever, their relationship faces challenges. Alejandro has another mate, Jasmine, who is possessive and tries to hurt Kiara. The video ends with a cliffhanger, as Jasmine confronts Kiara and threatens her.",
"usage": {
"duration": 0.0,
"model": "gemini-2.5-flash",
"output_tokens": 264,
"prompt_tokens": 215102
}
},
"msg": "Video summary completed successfully",
"success": true
},
"task_id": "67d848a979ae40ce927cfccf862e5e96"
}
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | string | Response code indicating the result status |
| msg | string | Response message describing the operation result |
| data | object | Response data object containing task information |
| data.task_id | string | Unique identifier of the summary generation task |
| success | boolean | Indicates whether the operation was successful |
| failed | boolean | Indicates whether the operation failed |
Callback Response Parameters
When the summary generation is complete, a callback will be sent to your configured webhook URL.| Parameter | Type | Description |
|---|---|---|
| code | string | Response code (200 indicates success) |
| message | string | Status message (e.g., “SUCCESS”) |
| data | object | Response data object containing the summary result and metadata |
| data.data | object | Inner data object containing summary and usage information |
| data.data.summary | string | The generated summary text of the video content |
| data.data.usage | object | Usage statistics for the API call |
| data.data.usage.duration | number | Processing duration in seconds |
| data.data.usage.model | string | The AI model used for summary generation (e.g., “gemini-2.5-flash”) |
| data.data.usage.output_tokens | integer | Number of tokens in the generated summary |
| data.data.usage.prompt_tokens | integer | Number of tokens in the input prompt |
| data.msg | string | Detailed message about the operation result |
| data.success | boolean | Indicates whether the summary generation was successful |
| task_id | string | The task ID associated with this summary generation request |
Authorizations
Body
application/json
The transcription asset ID
Example:
"re_657929111888723968"
Response
200 - application/json
Summary generation task information
Response code indicating the result status
Example:
200
Response message describing the operation result
Example:
"success"
Response data object containing task information
Show child attributes
Show child attributes
Indicates whether the operation was successful
Example:
true
Indicates whether the operation failed
Example:
false
⌘I
