Add n8n community node, /api/v1/render alias, and job webhooks for OSS automation.
Payment-free self-hosted builds keep full API access with optional webhookUrl callbacks and the published n8n-nodes-songs2vid package source under integrations/n8n.
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# n8n-nodes-songs2vid
|
||||
|
||||
Official community node for **[Songs2VID](https://songs2vid.com)** — turn audio + cover art into YouTube-ready videos from [n8n](https://n8n.io/).
|
||||
|
||||
**Documentation:** [https://docs.songs2vid.com/docs/n8n](https://docs.songs2vid.com/docs/n8n) · in-repo [docs/n8n.md](../../docs/n8n.md)
|
||||
|
||||
Self-hosted OSS: set **Base URL** to your instance. API keys work without a paid plan (YouTube must be connected).
|
||||
|
||||
## Install
|
||||
|
||||
### From n8n (recommended)
|
||||
|
||||
1. Open n8n → **Settings → Community nodes**
|
||||
2. **Install a community node**
|
||||
3. Enter:
|
||||
|
||||
```text
|
||||
n8n-nodes-songs2vid
|
||||
```
|
||||
|
||||
4. Confirm and restart n8n if prompted
|
||||
5. Search the canvas for **Songs2VID**
|
||||
|
||||
Self-hosted n8n needs community packages enabled (`N8N_COMMUNITY_PACKAGES_ENABLED=true`).
|
||||
|
||||
### From npm (manual)
|
||||
|
||||
```bash
|
||||
cd ~/.n8n
|
||||
npm install n8n-nodes-songs2vid
|
||||
```
|
||||
|
||||
Restart n8n.
|
||||
|
||||
## Credentials
|
||||
|
||||
1. Create an API key under [Dashboard → Settings](https://songs2vid.com/dashboard/settings) (`s2yt_live_…`)
|
||||
2. Cloud requires **Developer & Automation** (€15) or **Enterprise**, plus YouTube connected
|
||||
3. In n8n: create a **Songs2VID API** credential
|
||||
- **API Key:** your token
|
||||
- **Base URL:** `https://songs2vid.com` (or your self-hosted origin, no trailing slash)
|
||||
|
||||
Requests use `Authorization: Bearer …` only.
|
||||
|
||||
## Quick start
|
||||
|
||||
1. **File → Upload** — cover (`type=image`) → save `path`
|
||||
2. **File → Upload** — audio (`type=audio`) → save `path` / `filename`
|
||||
3. **Render → Create Render** — paths + privacy + resolution
|
||||
Optional: **Additional Fields → Webhook URL** for async completion
|
||||
4. Handle `job.completed` / `job.item.completed` on an n8n **Webhook** node, or poll **Get Render Status**
|
||||
|
||||
## Operations
|
||||
|
||||
| Resource | Operation | API |
|
||||
|----------|-----------|-----|
|
||||
| Discovery | Get API Catalog | `GET /api/v1` |
|
||||
| File | Upload | `POST /api/v1/upload` |
|
||||
| Render | Create Render | `POST /api/v1/render` |
|
||||
| Render | Create Job (alias) | `POST /api/v1/jobs` |
|
||||
| Render | Create Batch | `POST /api/v1/jobs/batch` |
|
||||
| Render | Get Render Status | `GET /api/v1/jobs/:id` |
|
||||
| Render | List Renders | `GET /api/v1/jobs` |
|
||||
| Playlist | List / Create | `/api/v1/playlists` |
|
||||
| API Key | List / Create / Delete | `/api/v1/user/api-keys` |
|
||||
|
||||
Layout, watermark, playlist, and multi-track options are under **Additional Fields** on Create Render.
|
||||
|
||||
There is no Delete Render endpoint — finished videos live on YouTube.
|
||||
|
||||
## Links
|
||||
|
||||
- Guide: https://songs2vid.com/docs/n8n
|
||||
- REST endpoints: https://songs2vid.com/docs/api/endpoints
|
||||
- Workflow template: https://songs2vid.com/docs/n8n/workflow-template.json
|
||||
- npm: https://www.npmjs.com/package/n8n-nodes-songs2vid
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run build
|
||||
```
|
||||
|
||||
`prepublishOnly` runs the build before `npm publish`.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user