ilovevideoeditor

Official CLI for iLoveVideoEditor — render videos from
VideoJSON specs in your terminal or CI/CD pipeline.
export ILOVEVIDEOEDITOR_API_KEY=vf_live_...
npx ilovevideoeditor render video.json -o out.mp4
Install
npm install -g ilovevideoeditor
npx ilovevideoeditor --help
Requires Node.js 18+. Get an API key from the
dashboard.
Commands
render <spec.json> | Queue a render and wait for the MP4 |
status <job-id> | Check render status |
estimate <spec.json> | Estimate credit cost before rendering |
templates | List the 249+ public templates |
Flags
-o, --output <file> | Download the rendered video to a file |
--no-wait | Queue and exit immediately (returns the job ID) |
--json | Machine-readable JSON output (for CI) |
--search <query> | Filter templates by name/id |
--api-key <key> | API key (env: ILOVEVIDEOEDITOR_API_KEY) |
--api-base <url> | API base URL override (env: ILOVEVIDEOEDITOR_API_BASE) |
Examples
Render and download:
ilovevideoeditor render video.json -o promo.mp4
Fire-and-forget (queue only, JSON output for CI):
ilovevideoeditor render video.json --no-wait --json
Check status later:
ilovevideoeditor status 425ba18a-dab0-4827-afc9-eec80e5b3c20 --json
Estimate cost before spending credits:
ilovevideoeditor estimate video.json
GitHub Action
Render videos in CI/CD with the official action:
- uses: ilovevideoeditor/render-video-action@v1
with:
api-key: ${{ secrets.ILOVEVIDEOEDITOR_API_KEY }}
spec: video.json
output: promo.mp4
See ilovevideoeditor/render-video-action.
VideoJSON
A VideoJSON spec describes the scene: layers, text, images, animations, and timing.
Generate one with the fluent API:
import ILoveVideoEditor from '@ilovevideoeditor/core';
const $ = new ILoveVideoEditor({ name: 'Promo', width: 1920, height: 1080, fps: 30 });
$.addText({ text: 'Hello', fontSize: 12, color: '#fff' });
$.wait('3s');
console.log(JSON.stringify(await $.compile()));
Related packages
License
MIT