{"name":"Editly: Slick, Declarative Command Line Video Editing & API","description":"Editly is a powerful Node.js and ffmpeg-based tool for declarative non-linear video editing. It allows users to programmatically create videos from clips, images, audio, and titles with smooth transitions and music. Available as both a simple CLI and a flexible JavaScript API, Editly offers a fast and extensible solution for various video creation needs.","github":"https://github.com/mifi/editly","url":"https://osrepos.com/repo/mifi-editly","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/mifi-editly","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/mifi-editly.md","json":"https://osrepos.com/repo/mifi-editly.json","topics":["video-editing","cli","typescript","ffmpeg","declarative","automation","slideshow","open-source"],"keywords":["video-editing","cli","typescript","ffmpeg","declarative","automation","slideshow","open-source"],"stars":null,"summary":"Editly is a powerful Node.js and ffmpeg-based tool for declarative non-linear video editing. It allows users to programmatically create videos from clips, images, audio, and titles with smooth transitions and music. Available as both a simple CLI and a flexible JavaScript API, Editly offers a fast and extensible solution for various video creation needs.","content":"## Introduction\nEditly is an open-source, Node.js and ffmpeg-based tool for declarative non-linear video editing. It provides both a command-line interface (CLI) for quick video assembly and a flexible JavaScript API for programmatic video creation. With **5,160 stars**, **346 forks**, and an **MIT license**, Editly is a popular choice for developers looking to automate video production. Written in **TypeScript**, it offers a slick and efficient way to create videos from various media assets.\n\n## Installation\nTo get started with Editly, you need Node.js (LTS recommended) and ffmpeg (and ffprobe) installed and available in your system's PATH. Once these prerequisites are met, you can install Editly globally via npm:\n\nsh\nnpm i -g editly\n\n\n## Examples\nEditly supports both a straightforward command-line interface and a powerful JavaScript API. Here are some examples to illustrate its usage:\n\n### Command Line Interface\nCreate a simple randomized video edit from videos, images, and text with an audio track:\n\nsh\neditly \\\n  title:'My video' \\\n  clip1.mov \\\n  clip2.mov \\\n  title:'My slideshow' \\\n  img1.jpg \\\n  img2.jpg \\\n  title:'THE END' \\\n  --fast \\\n  --audio-file-path /path/to/music.mp3\n\n\nYou can also create an MP4 (or GIF) from a JSON or JSON5 edit specification:\n\nsh\neditly my-spec.json5 --fast --keep-source-audio --out output.gif\n\n\n### JavaScript Library\nFor more complex or integrated workflows, Editly provides a JavaScript API:\n\njs\nimport editly from \"editly\";\n\n// See editSpec documentation\nawait editly(editSpec);\n\nFor a comprehensive list of examples and detailed `editSpec` configurations, refer to the official [examples directory](https://github.com/mifi/editly/tree/master/examples \"Editly Examples on GitHub\").\n\n## Why Use Editly?\nEditly stands out for its unique blend of flexibility and automation in video production. Key reasons to consider using Editly include:\n\n*   **Edit videos with code:** Programmatically control every aspect of your video.\n*   **Declarative API with fun defaults:** Simplify complex video editing tasks.\n*   **Supports any input/output size:** Handle 4K video, DSLR photos, and output to any dimensions like Instagram (1:1, 9:16) or YouTube (16:9).\n*   **Overlay text and subtitles:** Easily add textual elements to your videos.\n*   **Custom content with Canvas/Fabric.js/GL shaders:** Extend functionality with custom JavaScript or GLSL shaders.\n*   **GIF output:** Create animated GIFs directly.\n*   **Advanced audio features:** Automatic audio crossfading, ducking, and normalization.\n\nCommon use cases for Editly include:\n*   Creating slideshows from pictures with text overlays.\n*   Generating fast-paced trailers or promo videos.\n*   Producing tutorial videos with help text.\n*   Developing news stories.\n*   Resizing videos to specific dimensions and frame rates with automatic letterboxing/cropping.\n*   Creating podcasts with multiple mixed audio tracks.\n\n## Links\n*   **Official GitHub Repository:** [mifi/editly](https://github.com/mifi/editly \"mifi/editly on GitHub\")\n*   **NPM Package:** [editly](https://npmjs.org/package/editly \"editly on NPM\")\n*   **Discord Community:** [Join Discord](https://discord.gg/P3u6zKbDK7 \"Editly Discord Community\")","metrics":{"detailViews":45,"githubClicks":12},"dates":{"published":null,"modified":"2025-10-17T07:00:50.000Z"}}