A REST API wrapper for youtube-dlp that enables remote video downloads and advanced queue management.
ydl_api_ng is a REST API wrapper for youtube-dlp that allows users to remotely launch and manage video downloads on a server. It solves the problem of needing to run youtube-dlp commands directly on a machine by providing an HTTP interface, enabling downloads from any device. The project supports advanced configurations, user management, and scheduled downloads through a flexible parameter system.
Advanced youtube-dlp users who need remote download capabilities, system administrators looking to set up a shared download server, and developers who want to integrate video downloading into applications via an API.
Developers choose ydl_api_ng for its extensive configurability, support for any youtube-dlp option without code changes, and built-in features like Redis queue management and scheduling. It offers a balance of power for advanced use cases and simplicity for basic downloads.
ydl_api_ng is a Python-based REST API that wraps youtube-dlp, allowing users to launch and manage video downloads on a remote server. It provides a flexible interface for both basic and advanced users, with support for custom parameters, user management, and scheduled downloads.
ydl_api_ng is designed to be both powerful for advanced users and simple for beginners, with a configuration-driven approach that maximizes flexibility while maintaining maintainability.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports any youtube-dlp option through a flexible parameter file system, allowing advanced customization without code changes, as highlighted in the README's parameter metadata section.
Built-in Redis-based queues enable parallel downloads and job scheduling, with configurable workers for efficient resource use, detailed in the queue management documentation.
Provides a docker-compose.yml file and Docker Hub image, simplifying setup and deployment with volume mapping for downloads and parameters.
Token-based user authentication and per-site configuration files allow tailored download parameters for different platforms, enhancing flexibility for multi-user setups.
Requires managing multiple INI files (e.g., params.ini, parameters_metadata.ini) and understanding metadata casting, which can be overwhelming for new users.
Advanced features like queue management and scheduling are disabled without Redis, adding infrastructure overhead and complexity for basic setups.
No graphical dashboard is included; users must rely on API calls, provided userscripts, or build custom front-ends, limiting accessibility for non-technical users.