NAV
TLDRai.com
shell python php javascript C#

Uvod

Dobrodošli na API platforme TLDRai.com!

Svaka je značajka osmišljena kako bi našim korisnicima pomogla da lakše naprave sažetke pomoću AI na sustavu TLDRai.com.

Da biste dobili svoj API ključ, idite na stranicu računa .

Zadani osnovni URL

Zadani osnovni URL za TLDRai.com API je: https://api.tldrai.com/v1/

Napomena: iz sigurnosnih razloga, svi API-ji TLDRai.com poslužuju se samo preko HTTPS-a.

Autorizacija

Da biste koristili TLDRai.com API, trebat će vam API ključ koji je povezan s vašim računom .

Vrijednost autorizacije treba poslati u zahtjevu za zaglavlja.

Authorization: <api_key>

Sažeti tekst

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "text": "Crna rupa je područje u svemiru gdje je gravitacijska sila tako jaka...",
}
base_api_url = "https://api.tldrai.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}/tldr-text/",
        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))

curl -X POST \
  https://api.tldrai.com/v1/tldr-text/ \
  -H 'Authorization: api_key' \
  -F 'text=Crna rupa je područje u svemiru gdje je gravitacijska sila tako jaka...' \


Get result

curl -X POST \
  https://api.tldrai.com/v1/results/ \
  -F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);

$headers = array("Authorization: api_key");
$api_url = "https://api.tldrai.com/v1/tldr-text/";
$results_url = "https://api.tldrai.com/v1/results/";

function download_file($url, $filename){
    $curl = curl_init();
    $url = "https://api.tldrai.com" . $url;
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSLVERSION, 3);
    $data = curl_exec($curl);
    $error = curl_error($curl);
    curl_close ($curl);
    # Make sure destionation path exists
    $destination_path = "/path/to/result/files/";
    $destination_file = fopen($destination_path . $filename, "w+");
    fwrite($destination_file, $data);
    fclose($destination_file);
}

function convert_files($file_list, $headers, $api_url) {
    $post_data['text'] = 'Crna rupa je područje u svemiru gdje je gravitacijska sila tako jaka...';
    $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');

const api_url = 'https://api.tldrai.com/v1/tldr-text/'
const results_url = 'https://api.tldrai.com/v1/results/'

function convertFiles(file_list) {
    let formData = {
        "text": "Crna rupa je područje u svemiru gdje je gravitacijska sila tako jaka...",
    };

    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.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 text
        var form = new MultipartFormDataContent();
        form.Add(new StringContent("Crna rupa je područje u svemiru gdje je gravitacijska sila tako jaka..."), "text");

        var response = await client.PostAsync("https://api.tldrai.com/v1/tldr-text/", form);
        var result = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);

        // Poll for results
        bool finished = false;
        while (!finished)
        {
            var pollContent = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("uuid", (string)data.uuid)
            });
            var pollRes = await client.PostAsync("https://api.tldrai.com/v1/results/", pollContent);
            var pollResult = await pollRes.Content.ReadAsStringAsync();
            var pollData = JsonConvert.DeserializeObject<dynamic>(pollResult);

            finished = (bool)pollData.finished;
            if (!finished) await Task.Delay(5000);
            else Console.WriteLine(pollResult);
        }
    }
}

Odgovor

/path/to/local/result.txt

HTTP zahtjev

POST /tldr-text/

Parametri upita

Parametar Tip Opis Primjer
text Potreban Cijeli tekst koji želite sažetak Crna rupa je područje u svemiru gdje je gravitacijska sila tako jaka...

Sažeti tekst iz datoteke

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
     
}
file_path = "path/to/test.pdf"
base_api_url = "https://api.tldrai.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}/tldr-file/",
        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))

curl -X POST \
  https://api.tldrai.com/v1/tldr-file/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/text.pdf'
  


Get result

curl -X POST \
  https://api.tldrai.com/v1/results/ \
  -F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);

$headers = array("Authorization: api_key");
$file_list = ['/test_files/text.pdf'];
$api_url = "https://api.tldrai.com/v1/tldr-file/";
$results_url = "https://api.tldrai.com/v1/results/";

function download_file($url, $filename){
    $curl = curl_init();
    $url = "https://api.tldrai.com" . $url;
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSLVERSION, 3);
    $data = curl_exec($curl);
    $error = curl_error($curl);
    curl_close ($curl);
    # Make sure destionation path exists
    $destination_path = "/path/to/result/files/";
    $destination_file = fopen($destination_path . $filename, "w+");
    fwrite($destination_file, $data);
    fclose($destination_file);
}

function convert_files($file_list, $headers, $api_url) {
    
    foreach ($file_list as $index => $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/text.pdf']
const api_url = 'https://api.tldrai.com/v1/tldr-file/'
const results_url = 'https://api.tldrai.com/v1/results/'

function convertFiles(file_list) {
    let formData = {};
    
    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 document file
        var form = new MultipartFormDataContent();
        form.Add(new ByteArrayContent(File.ReadAllBytes("test.pdf")), "files", "test.pdf");

        var response = await client.PostAsync("https://api.tldrai.com/v1/tldr-file/", form);
        var result = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);

        // Poll for results
        bool finished = false;
        while (!finished)
        {
            var pollContent = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("uuid", (string)data.uuid)
            });
            var pollRes = await client.PostAsync("https://api.tldrai.com/v1/results/", pollContent);
            var pollResult = await pollRes.Content.ReadAsStringAsync();
            var pollData = JsonConvert.DeserializeObject<dynamic>(pollResult);

            finished = (bool)pollData.finished;
            if (!finished) await Task.Delay(5000);
            else Console.WriteLine(pollResult);
        }
    }
}

Odgovor

/path/to/local/result.txt

HTTP zahtjev

POST /tldr-file/

Parametri upita

Parametar Tip Opis Primjer
files Potreban Recite umjetnoj inteligenciji jezik na kojem će vratiti sažetak videa .pdf, .doc, .docx, .txt

Sažeti tekst s veze/URL-a

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    
    "url": "https://loualcala.com/sabor-a-exito/",
}
file_path = "path/to/text.pdf"
base_api_url = "https://api.tldrai.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}/tldr-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))

curl -X POST \
  https://api.tldrai.com/v1/tldr-url/ \
  -H 'Authorization: api_key' \
  -F 'url=https://loualcala.com/sabor-a-exito/'


Get result

curl -X POST \
  https://api.tldrai.com/v1/results/ \
  -F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);

$headers = array("Authorization: api_key");
$api_url = "https://api.tldrai.com/v1/tldr-url/";
$results_url = "https://api.tldrai.com/v1/results/";

function download_file($url, $filename){
    $curl = curl_init();
    $url = "https://api.tldrai.com" . $url;
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSLVERSION, 3);
    $data = curl_exec($curl);
    $error = curl_error($curl);
    curl_close ($curl);
    # Make sure destionation path exists
    $destination_path = "/path/to/result/files/";
    $destination_file = fopen($destination_path . $filename, "w+");
    fwrite($destination_file, $data);
    fclose($destination_file);
}

function convert_files($headers, $api_url) {
    
    $post_data['url'] = 'https://loualcala.com/sabor-a-exito/';
    $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($headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');

const api_url = 'https://api.tldrai.com/v1/tldr-url/'
const results_url = 'https://api.tldrai.com/v1/results/'

function convertFiles() {
    let formData = {
        
        "url": "https://loualcala.com/sabor-a-exito/",
    };

    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 URL
        var form = new MultipartFormDataContent();
        form.Add(new StringContent("https://loualcala.com/sabor-a-exito/"), "url");

        var response = await client.PostAsync("https://api.tldrai.com/v1/tldr-url/", form);
        var result = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);

        // Poll for results
        bool finished = false;
        while (!finished)
        {
            var pollContent = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("uuid", (string)data.uuid)
            });
            var pollRes = await client.PostAsync("https://api.tldrai.com/v1/results/", pollContent);
            var pollResult = await pollRes.Content.ReadAsStringAsync();
            var pollData = JsonConvert.DeserializeObject<dynamic>(pollResult);

            finished = (bool)pollData.finished;
            if (!finished) await Task.Delay(5000);
            else Console.WriteLine(pollResult);
        }
    }
}

Reponse

/path/to/local/result.txt

HTTP zahtjev

POST /tldr-url/

Parametri upita

Parametar Tip Opis Primjer
url Potreban Poveznica teksta koji želite sažeti. https://loualcala.com/sabor-a-exito/