Package Information
Downloads: 524 weekly / 868 monthly
Latest Version: 0.1.9
Author: Fidel Parabacuto
Documentation
n8n-nodes-image-to-video
Convert a static image into a video clip — perfect for social media Reels, Stories, TikTok, YouTube Shorts, and more — directly inside your n8n workflow.
✨ Features
| Feature | Details |
|---|---|
| Size Presets | Reel/Story 9:16, Portrait 4:5, Square 1:1, Landscape 16:9, or fully Custom |
| Dynamic Duration | 1–300 seconds |
| Frame Rate | 1–60 fps |
| Animation Effects | Static hold, Zoom In, Zoom Out (Ken Burns), Pan Left, Pan Right, Fade In |
| Output Formats | MP4 (H.264 / H.265), WebM (VP9), GIF |
| Background Fill | Color picker for letterbox / pillarbox padding |
| Binary Field | Configurable input and output binary field names |
| No system deps | FFmpeg is bundled — works on any self-hosted instance out of the box |
📦 Installation
From the n8n UI (recommended)
- Open your n8n instance
- Go to Settings → Community nodes
- Click Install a community node
- Enter:
n8n-nodes-image-to-video - Click Install
No extra setup needed. FFmpeg is bundled with the package — it works on Hostinger, Railway, Render, VPS, Docker, and any self-hosted n8n instance.
Via npm (self-hosted CLI)
npm install n8n-nodes-image-to-video
🚀 Quick Start Workflow
[HTTP Request] → [Image to Video] → [Write Binary File]
- HTTP Request — fetch an image URL (set Response Format to
File) - Image to Video — configure preset and duration
- Write Binary File — save the MP4 to disk
⚙️ Node Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Input Binary Field | string |
data |
Binary field containing the source image |
| Size Preset | options |
Reel/Story |
Output video dimensions |
| Width (px) | number |
1080 |
Custom width (only with Custom preset) |
| Height (px) | number |
1920 |
Custom height (only with Custom preset) |
| Duration (seconds) | number |
5 |
Video length in seconds |
| Frame Rate (fps) | number |
30 |
Frames per second |
| Output Codec / Format | options |
H.264 – MP4 |
Codec and container |
| Background Color | color |
#000000 |
Fill color for padding |
| Animation Effect | options |
None |
Motion effect |
| Output Binary Field | string |
video |
Binary field for the output video |
Animation Effects
| Effect | Description |
|---|---|
| None | Still image — no movement |
| Zoom In | Ken Burns slow zoom from 100% to 115% |
| Zoom Out | Ken Burns slow zoom from 115% to 100% |
| Pan Left to Right | Horizontal pan across image |
| Pan Right to Left | Reverse horizontal pan |
| Fade In | Image fades in from black over 1 second |
🔧 Output
The node outputs the same item with:
binary.[outputField]— the encoded video filejson.imageToVideo— metadata:{ width, height, duration, fps, codec, format, effect, sizeBytes }
🌐 Compatibility
| Platform | Supported |
|---|---|
| Self-hosted (Linux) | ✅ |
| Self-hosted (Windows) | ✅ |
| Self-hosted (macOS) | ✅ |
| Docker / Hostinger | ✅ |
| Railway / Render | ✅ |
| n8n Cloud | ❌ (community nodes not supported) |
🤝 Contributing
Pull requests are welcome! Please open an issue first to discuss major changes.
- Fork the repository
- Create a branch:
git checkout -b feature/my-feature - Commit your changes
- Push and open a Pull Request
📄 License
MIT EMAIL_ADDRESS