API Dokumentatioun

Fir API Präisser klickt hei

D'TTOK.com API gëtt op TTOK.com gehost.


Authentifikatioun

Fir Zougang zu der TTOK.com API ze kréien, musst Dir Ären eenzegaartegen API-Schlëssel aginn. Dir kënnt en API-Schlëssel kréien andeems Dir Iech mat Ärer E-Mail-Adress umellt. Denkt w.e.g. drun, Ären API-Schlëssel vertraulech ze halen.

Authentifikatioun mat der API gëtt iwwer HTTP Header gehandhabt. All Ufroe erfuerderen en Autorisatiouns-Header mat Ärem API-Schlëssel am Format-Schlëssel: YOUR_API_KEY , wou YOUR_API_KEY de Schlëssel ass, deen op Ärer Kont Säit verfügbar ass.

Fir Sécherheet mussen all Ufroe iwwer eng verschlësselte HTTPS Verbindung geschéckt ginn fir Är Donnéeën während der Iwwerdroung ze schützen.


Download Endpoint

Extract media from any supported URL with a single synchronous request. No polling required.

POST https://api.ttok.com/api/download

ParameterTypeDescription
urlstringThe URL to extract media from (JSON body)

Headers: Authorization: YOUR_API_KEY, Content-Type: application/json

import requests

headers = {
    "Authorization": "API_KEY",
    "Content-Type": "application/json"
}
r = requests.post(
    url="https://api.ttok.com/api/download",
    headers=headers,
    json={"url": "URL"}
)

if r.status_code == 200:
    data = r.json()
    for item in data.get("items", []):
        print(f"Type: {item['type']}, URL: {item['url']}")
else:
    print(f"Error: {r.status_code} - {r.text}")
const axios = require('axios');

async function download() {
    try {
        const response = await axios.post(
            'https://api.ttok.com/api/download',
            { url: "URL" },
            { headers: { "Authorization": "API_KEY", "Content-Type": "application/json" } }
        );

        for (const item of response.data.items) {
            console.log(`Type: ${item.type}, URL: ${item.url}`);
        }
    } catch (error) {
        console.error(`Error: ${error.response?.status} - ${error.response?.data}`);
    }
}

download();
<?php

$ch = curl_init("https://api.ttok.com/api/download");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: API_KEY",
    "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["url" => "URL"]));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($statusCode === 200) {
    $data = json_decode($response, true);
    foreach ($data['items'] as $item) {
        echo "Type: {$item['type']}, URL: {$item['url']}\n";
    }
} else {
    echo "Error: $statusCode - $response\n";
}

?>
curl -X POST "https://api.ttok.com/api/download" \
  -H "Authorization: API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "URL"}'
Response
{
    "success": true,
    "items": [
        {
            "url": "https://...",
            "type": "video",
            "thumbnail": "https://...",
            "mime_type": "video/mp4",
            "site": "tiktok",
            "title": "Video title"
        }
    ]
}

Conversion Endpoints

Convert media to different formats. Returns a binary file stream.

EndpointOutput FormatContent-Type
POST /api/convert/mp3MP3 audioaudio/mpeg
POST /api/convert/mp4MP4 videovideo/mp4
POST /api/convert/wavWAV audioaudio/wav
POST /api/convert/gifGIF imageimage/gif

All conversion endpoints are at https://api.ttok.com.

Request body (JSON):

ParameterTypeRequiredDescription
urlstringYesThe media URL to convert
options.start_timenumberNoStart time in seconds
options.end_timenumberNoEnd time in seconds
options.audio_qualitystringNoAudio bitrate (e.g. "128", "192", "320")
options.video_qualitystringNoVideo quality (e.g. "720", "1080")
options.h264booleanNoForce H.264 codec for MP4
options.subtitlesbooleanNoEmbed subtitles if available
Example: Convert to MP3
import requests

headers = {
    "Authorization": "API_KEY",
    "Content-Type": "application/json"
}

r = requests.post(
    url="https://api.ttok.com/api/convert/mp3",
    headers=headers,
    json={
        "url": "URL",
        "options": {
            "audio_quality": "192",
            "start_time": 10,
            "end_time": 45
        }
    },
    stream=True
)

if r.status_code == 200:
    with open("output.mp3", "wb") as f:
        for chunk in r.iter_content(chunk_size=8192):
            f.write(chunk)
    print("Downloaded output.mp3")
else:
    print(f"Error: {r.status_code} - {r.text}")
curl -X POST "https://api.ttok.com/api/convert/mp3" \
  -H "Authorization: API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "URL", "options": {"audio_quality": "192"}}' \
  --output output.mp3

Error Handling

All errors return a JSON response with an error field:

// 400 Bad Request
{"error": "Missing URL"}

// 401 Unauthorized
{"error": "Invalid API token"}

// 402 Payment Required
{"error": "Insufficient credits"}

API Privatsphär Politik Konditioune vum Service Kontaktéiert eis BlueSky Follegt eis op BlueSky

2026 TTOK LLC | Gemaach vum nadermx