Pricing plans
Detailed pricing plans are not available yet for this tool.
Detailed overview
TLDRai.com
Too Long; Didn't Read AI
TLDWai.com
Too Long; Didn't Watch AI
Summarize any video with AI
TL;DW AI: Too long; didn't watch, helps you summarize any video into concise, easy to digest content so you can free yourself from information overload.
Summarize local video
Summarize online video
Explore more summaries
Total summary of videos made on TLDWai.com:
3,047
Privacy policy
Terms of service
Contact us
Developers
We hope you enjoy our AI tool. Our project is developed with Django.
© 2026 TLDWai.com| VPS.org LLC | Made by Lou
Rate this tool:
★
★
★
★
★
4.5/5
(4 ratings)
---
TLDRai.com
Too Long; Didn't Read AI
TLDWai.com
Too Long; Didn't Watch AI
Pricing
If you want developer pricing, click here
Monthly
Annual
F 6.76
*
per user / month
* You will be billed in US dollars. (US$7.59)
Select the number of seats
-
+
Subscribe
☝
No video summary limit
🥇
No restricted functions
🐱
Have the ability to ask for extra conversion tools to be added
16% discount
F 5.62
*
per user / month
F 67.52 billed annually
* You will be billed in US dollars. (US$75.86)
Select the number of seats
-
+
Subscribe
☝
No video summary limit
🥇
No restricted functions
🐱
Have the ability to ask for extra conversion tools to be added
Total summary of videos made on TLDWai.com:
3,047
Privacy policy
Terms of service
Contact us
Developers
We hope you enjoy our AI tool. Our project is developed with Django.
© 2026 TLDWai.com| VPS.org LLC | Made by Lou
Rate this tool:
★
★
★
★
★
Be the first to rate!
---
TLDRai.com
Too Long; Didn't Read AI
TLDWai.com
Too Long; Didn't Watch AI
Summaries history
Check summaries generated with AI
Total summary of videos made on TLDWai.com:
3,047
Privacy policy
Terms of service
Contact us
Developers
We hope you enjoy our AI tool. Our project is developed with Django.
© 2026 TLDWai.com| VPS.org LLC | Made by Lou
Rate this tool:
★
★
★
★
★
3.5/5
(2 ratings)
---
NAV
TLDWai.com
shell
python
php
javascript
C#
Introduction
Default Base URL
Authorization
Summarize video file
Summarize video URL
Sign up for a developer key
Introduction
Welcome to the TLDWai.com platform API!
Each feature is designed to help our users more easily make video summaries with AI on TLDWai.com"s system.
To get your API key please go to account page.
Default Base URL
The default base URL for TLDWai.com API is: https://api.tldwai.com/v1/
Note: for security reasons, all TLDWai.com APIs are served over HTTPS only.
Authorization
To use the TLDWai.com API, you’ll need the API key that is linked to your account.
The authorization value should be send in Headers request.
Authorization:
Summarize video file
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"language": "English",
}
file_path = "path/to/test.mp4"
base_api_url = "https://api.tldwai.com"
api_url = f"{base_api_url}/v1"
def download_file(url, local_filename):
url = f"{base_api_url}/{url}"
with requests.get(url, stream=True) as r:
with open(local_filename, "wb") as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file_path}", "rb"))')]
r = requests.post(
url=f"{api_url}/tldw-url/",
files=files,
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get("error"):
print(params)
return
r = requests.post(
url=f"{api_url}/results/",
data=params
)
data = r.json()
finished = data.get("finished")
while not finished:
if int(data.get("queue_count")) > 0:
print("queue: %s" % data.get("queue_count"))
time.sleep(5)
results = get_results(params)
results = json.dumps(results)
if results:
break
if finished:
for f in data.get("files"):
print(f.get("url"))
download_file("%s" % f.get("url"), "%s" % f.get("filename"))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Make summary from video file
curl -X POST \
https://api.tldwai.com/v1/tldw-url/ \
-H 'Authorization: api_key' \
-F 'files=@test_files/test.mp4' \
-F 'language=English' \
Get result
curl -X POST \
https://api.tldwai.com/v1/results/ \
-F 'uuid=response_uuid'
$file) {
$post_data['file[' . $index . ']'] = curl_file_create(
realpath($file),
mime_content_type($file),
basename($file)
);
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $api_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
curl_close($curl);
return json_decode($content);
}
function get_results($params, $results_url, $headers) {
if ($params->error) {
print_r($params->error);
return;
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $results_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
if ($content->finished == false) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $results_url, $headers);
return;
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');
let file_list = ['/test_files/test.mp4']
const api_url = 'https://api.tldwai.com/v1/tldw-url/'
const results_url = 'https://api.tldwai.com/v1/results/'
function convertFiles(file_list) {
let formData = {
"language": "English",
};
for (var i = 0; i < file_list.length; i++) {
formData['files'] = fs.createReadStream(file_list[i]);
}
request({
url: api_url,
method: 'post',
formData: formData,
headers: {
"Authorization": "api_key",
"Content-Type": "multipart/form-data",
}
}, function (err, res, body) {
if (err) {
console.error(err);
return err;
}
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
console.error(data);
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function (e, r, body) {
response = JSON.parse(body);
console.log(response);
if (!response.finished) {
setTimeout(
function () {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles(file_list);
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
client.DefaultRequestHeaders.Add("Authorization", "api_key");
// Upload video file
var form = new MultipartFormDataContent();
form.Add(new StringContent("English"), "language");
form.Add(new ByteArrayContent(File.ReadAllBytes("test.mp4")), "files", "test.mp4");
var response = await client.PostAsync("https://api.tldwai.com/v1/tldw-url/", form);
var result = await response.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject(result);
// Poll for results
bool finished = false;
while (!finished)
{
var pollContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair("uuid", (string)data.uuid)
});
var pollRes = await client.PostAsync("https://api.tldwai.com/v1/results/", pollContent);
var pollResult = await pollRes.Content.ReadAsStringAsync();
var pollData = JsonConvert.DeserializeObject(pollResult);
finished = (bool)pollData.finished;
if (!finished) await Task.Delay(5000);
else Console.WriteLine(pollResult);
}
}
}
Response
/path/to/local/result.txt
HTTP Request
POST /tldw-video/
Query parameters
Parameter
Type
Description
Example
language
Required
Tell the AI the language in which to return the summary of the video
English
Summarize video URL
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"language": "English",
"url": "https://www.youtube.com/watch?v=DIzyL5llx6Y",
}
file_path = "path/to/test.mp4"
base_api_url = "https://api.tldwai.com"
api_url = f"{base_api_url}/v1"
def download_file(url, local_filename):
url = f"{base_api_url}/{url}"
with requests.get(url, stream=True) as r:
with open(local_filename, "wb") as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
r = requests.post(
url=f"{api_url}/tldw-url/",
data=params,
headers=headers
)
return r.json()
def get_results(params):
if params.get("error"):
print(params)
return
r = requests.post(
url=f"{api_url}/results/",
data=params
)
data = r.json()
finished = data.get("finished")
while not finished:
if int(data.get("queue_count")) > 0:
print("queue: %s" % data.get("queue_count"))
time.sleep(5)
results = get_results(params)
results = json.dumps(results)
if results:
break
if finished:
for f in data.get("files"):
print(f.get("url"))
download_file("%s" % f.get("url"), "%s" % f.get("filename"))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Make summary from video URL
curl -X POST \
https://api.tldwai.com/v1/tldw-url/ \
-H 'Authorization: api_key' \
-F 'url=https://youtube.com/watch?v=DIzyL5llx6Y' \
-F 'language=English' \
Get result
curl -X POST \
https://api.tldwai.com/v1/results/ \
-F 'uuid=response_uuid'
error) {
print_r($params->error);
return;
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $results_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
if ($content->finished == false) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $results_url, $headers);
return;
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
$resp = convert_files($headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');
const api_url = 'https://api.tldwai.com/v1/tldw-url/'
const results_url = 'https://api.tldwai.com/v1/results/'
function convertFiles() {
let formData = {
"language": "English",
"url": "https://www.youtube.com/watch?v=DIzyL5llx6Y",
};
request({
url: api_url,
method: 'post',
formData: formData,
headers: {
"Authorization": "api_key",
"Content-Type": "multipart/form-data",
}
}, function (err, res, body) {
if (err) {
console.error(err);
return err;
}
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
console.error(data);
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function (e, r, body) {
response = JSON.parse(body);
console.log(response);
if (!response.finished) {
setTimeout(
function () {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles();
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
client.DefaultRequestHeaders.Add("Authorization", "api_key");
// Summarize video URL
var form = new MultipartFormDataContent();
form.Add(new StringContent("English"), "language");
form.Add(new StringContent("https://www.youtube.com/watch?v=DIzyL5llx6Y"), "url");
var response = await client.PostAsync("https://api.tldwai.com/v1/tldw-url/", form);
var result = await response.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject(result);
// Poll for results
bool finished = false;
while (!finished)
{
var pollContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair("uuid", (string)data.uuid)
});
var pollRes = await client.PostAsync("https://api.tldwai.com/v1/results/", pollContent);
var pollResult = await pollRes.Content.ReadAsStringAsync();
var pollData = JsonConvert.DeserializeObject(pollResult);
finished = (bool)pollData.finished;
if (!finished) await Task.Delay(5000);
else Console.WriteLine(pollResult);
}
}
}
Reponse
/path/to/local/result.txt
HTTP Request
POST /tldw-url/
Query parameters
Parameter
Type
Description
Example
language
Required
Tell the AI the language in which to return the summary of the video
English
shell
python
php
javascript
C#
Same category tools



