API documentation

Yout.com API is hosted at dvr.yout.com.


Authentication

To access Yout.com API, you must include your unique API key. You can obtain an API key by signing up with your email address. Please remember to keep your API key confidential.

Authentication with the API is handled through HTTP headers. All requests require an Authorization header containing your API key in the format key: YOUR_API_KEY, where YOUR_API_KEY is the key available on your account page.

For security, all requests must be sent over an encrypted HTTPS connection to protect your data during transmission.


MP3 format-shifting

Send video/audio URL to the Yout.com API for MP3 format-shifting. The API will automatically detect the audio/video and prepare it for optimal playback on various devices.

Example for MP3 Format-Shifting

Replace YOUR_API_KEY with your unique API key (found on your Yout.com account page) and replace AUDIO_URL with the audio/video URL:

import requests
import base64

headers = {"Authorization": "API_KEY"}
audio_url = base64.b64encode("AUDIO_URL")
r = requests.post(
    url="http://dvr.yout.com/mp3",
    headers=headers,
    data={
        "video_url": audio_url,
        "start_time": False,
        "end_time": False,
        "title": "Hello world",
        "artist": "Hello world",
        "audio_quality": '128k',
    }
)

with open("audio.mp3" "wb") as fd:
    for chunk in r.iter_content(chunk_size=128):
        fd.write(chunk)
const axios = require('axios');

const headers = {
  Authorization: "API_KEY"
};

const audioUrl = Buffer.from("AUDIO_URL").toString('base64');

const data = {
  video_url: audioUrl,
  start_time: false,
  end_time: false,
  title: "Hello world",
  artist: "Hello world",
  audio_quality: "128k"
};

axios
  .post("http://dvr.yout.com/mp3", data, { headers })
  .then(response => {
    const fs = require('fs');
    const fileStream = fs.createWriteStream("audio.mp3");

    response.data.pipe(fileStream);

    fileStream.on('finish', () => {
      console.log("Archivo descargado con éxito como audio.mp3");
    });

    fileStream.on('error', error => {
      console.error("Error al escribir el archivo:", error);
    });
  })
  .catch(error => {
    console.error("Error en la solicitud:", error);
  });
<?php
$audio_url = base64_encode("AUDIO_URL");

// Datos para enviar en la solicitud POST
$data = [
    "video_url" => $audio_url,
    "start_time" => false,
    "end_time" => false,
    "title" => "Hello world",
    "artist" => "Hello world",
    "audio_quality" => "128k"
];

// Convertir los datos a formato URL-encoded
$postData = http_build_query($data);

// Configurar la solicitud cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://dvr.yout.com/mp3");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: API_KEY",
    "Content-Type: application/x-www-form-urlencoded"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Ejecutar la solicitud
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode === 200) {
    // Guardar el archivo de audio
    $file = fopen("audio.mp3", "wb");
    fwrite($file, $response);
    fclose($file);
    echo "Archivo descargado con éxito como audio.mp3";
} else {
    echo "Error en la solicitud. Código HTTP: $httpCode";
}
?>
curl -X POST "http://dvr.yout.com/mp3" \
         -H "Authorization: API_KEY" \
         -H "Content-Type: application/x-www-form-urlencoded" \
         -d "video_url=$(echo -n 'AUDIO_URL' | base64)" \
         -d "start_time=false" \
         -d "end_time=false" \
         -d "title=Hello world" \
         -d "artist=Hello world" \
         -d "audio_quality=128k" \
         --output audio.mp3
    

MP4 format-shifting

Send video/audio URL to the Yout.com API for MP4 format-shifting. The API will automatically detect the audio/video and prepare it for optimal playback on various devices.

Example for MP4 Format-Shifting

Replace YOUR_API_KEY with your unique API key (found on your Yout.com account page) and replace VIDEO_URL with the audio/video URL:

import requests
import base64

headers = {"Authorization": "API_KEY"}
video_url = base64.b64encode("VIDEO_URL")
r = requests.post(
    url="http://dvr.yout.com/mp4",
    headers=headers,
    data={
        "video_url": video_url,
        "start_time": False,
        "end_time": False,
        "title": "hello world",
        "video_quality": 720
    }
)

with open("audio.mp4" "wb") as fd:
    for chunk in r.iter_content(chunk_size=128):
        fd.write(chunk)
const axios = require('axios');

const headers = {
  Authorization: "API_KEY"
};

const audioUrl = Buffer.from("AUDIO_URL").toString('base64');

const data = {
  video_url: video_url,
  start_time: false,
  end_time: false,
  title" "hello world",
  video_quality: 720
};

axios
  .post("http://dvr.yout.com/mp3", data, { headers })
  .then(response => {
    const fs = require('fs');
    const fileStream = fs.createWriteStream("audio.mp3");

    response.data.pipe(fileStream);

    fileStream.on('finish', () => {
      console.log("Archivo descargado con éxito como audio.mp3");
    });

    fileStream.on('error', error => {
      console.error("Error al escribir el archivo:", error);
    });
  })
  .catch(error => {
    console.error("Error en la solicitud:", error);
  });
<?php
$video_url = base64_encode("VIDEO_URL");

$data = [
    "video_url" => $video_url,
    "start_time" => false,
    "end_time" => false,
    "title" => "hello world",
    "video_quality" => 720
];

$postData = http_build_query($data);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://dvr.yout.com/mp4");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: API_KEY",
    "Content-Type: application/x-www-form-urlencoded"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

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

if ($httpCode === 200) {
    $file = fopen("video.mp4", "wb");
    fwrite($file, $response);
    fclose($file);
    echo "Archivo descargado con éxito como video.mp4";
} else {
    echo "Error en la solicitud. Código HTTP: $httpCode";
}
?>
curl -X POST "http://dvr.yout.com/mp4" \
     -H "Authorization: API_KEY" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "video_url=$(echo -n 'VIDEO_URL' | base64)" \
     -d "start_time=false" \
     -d "end_time=false" \
     -d "title=hello world" \
     -d "video_quality=720" \
     --output video.mp4

Glossary of parameters

video_url
string (required)

The audio/video URL in base64. Check all the pages we support. Click here

start_time
int

This is used to trim the audio or video and represents the second at which you want the audio/video recording to start. You can send false to indicate it should start from the 0th second.

end_time
int / bool (false)

This is used to trim the audio or video and represents the second at which you want the audio/video recording to end. You can send <code>false</code> if you don't want to trim the audio/video.

title
string (required)

The title under which the audio/video will be recorded; it is also used to name the generated file.

artist
string

The artist's name under which the file will be recorded.

audio_quality
string

The quality at which the audio file will be recorded. The available qualities are 32k, 64k, 128k, 256k, or 320k.

video_quality
string

The quality at which the video file will be recorded. The available qualities are 144, 240, 360, 480, 720 (For HD), 1080 (For UHD), 2160 (For 4k), or 4320 (For 8k).

About Us API Privacy Policy Terms of service Contact Us Follow us on BlueSky

2024 Yout LLC | Made by nadermx