API to embed media files
  • JavaScript 100%
Find a file
BlackusPL bb8703413e Fixed issue with downloaded files
There was an issue where downloaded files have ASCII characters because systems can't use ex. ":" in file names.
2026-04-27 23:24:23 +02:00
.github Remove FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env var (no longer needed) 2026-04-25 02:37:50 +00:00
locales Revamp of main website page 2026-04-08 00:55:17 +02:00
public Fixed console error 2026-04-20 03:22:01 +02:00
src Fixed issue with downloaded files 2026-04-27 23:24:23 +02:00
.example.env Revamped yt-dlp packages 2026-04-26 03:52:45 +02:00
.gitignore Revamped yt-dlp packages 2026-04-26 03:52:45 +02:00
CHANGELOG.md Fixed issue with downloaded files 2026-04-27 23:24:23 +02:00
deno.json Added icon, option to set IP 2026-03-29 03:41:19 +02:00
deno.lock Revamped yt-dlp packages 2026-04-26 03:52:45 +02:00
package.json Revamped yt-dlp packages 2026-04-26 03:52:45 +02:00
README.md Small changes to workflows 2026-04-25 04:23:18 +02:00

EmbedDLP

API that allows you to embed or download every video and audio from supported sites by yt-dlp on platforms like Discord, Telegram, WhatsApp and more.

Note

This project wasnt supposed to see daylight and some things could still be related to my stuff

Prebuilds They are only available for 90 days after new commit

Windows Download

Ubuntu Download

Installation

# Clone this repository
git clone https://git.nadeko.net/BlackusPL/EmbedDLP.git
cd EmbedDLP

Use via...

Deno (Recommended)
deno install
deno task start # or deno run start  or 'deno src/app.js'
Nodejs
npm install
npm start # or 'node src/app'

Endpoints

/ - Opens home page

/universal - Main endpoint, arguments:

  • ?q=<url> - video/audio link that should be embeded
  • ?video=<true/1/false/0> - if embeded file should be a video or audio (optional, default=false)

/music - Embeds spotify songs as a audio file, arguments:

  • ?q=<url> - spotify link that should be embeded as a audio file
  • ?ss=<int> - choose in order wich song should be used (optional, default=1)

Outputs

Embedded files by default have 5 minutes before get terminated in next execution of app. They are stored in output/files_expiration.json.

Example structure:

{
    "example.mp3": {
        "created_at": "1771544044840",
        "expiration": "1771544345231",
        "source_urls": [
            "http://example.com/example.mp3"
        ]
    }
}

Temporary videos and audios are stored in output directory and are not accesible trough site.

To change expiration time, in .env use EXPIRATION_TIME in seconds.

Locales

You can create translation to your language by creating json file in locales directory.

Standalone Builds

Using Deno you can compile this app to binary file that can be run anywhere. Simply type deno run build and you good to go.