Fix still-image encodes ending ~50s past audio and refresh support/docs links.

Cap FFmpeg output with probed audio duration (FFmpeg 5.x -shortest bug), point SUPPORT_EMAIL to support@songs2vid.com, and align Hub/README/n8n docs with the Gitea + npm package links.
This commit is contained in:
Atakan Doğan Özban
2026-08-10 19:08:10 +02:00
parent b40127c2e8
commit 0f363c5620
12 changed files with 63 additions and 22 deletions
+9 -5
View File
@@ -1,8 +1,10 @@
# n8n-nodes-songs2vid
Official community node for **[Songs2VID](https://songs2vid.com)** — turn audio + cover art into YouTube-ready videos from [n8n](https://n8n.io/).
Official community node for **[Songs2VID](https://git.atakanozban.com/Songs2VID)** — 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)
**Primary source hub:** [git.atakanozban.com/Songs2VID](https://git.atakanozban.com/Songs2VID)
**Documentation:** [https://docs.songs2vid.com/docs/n8n](https://docs.songs2vid.com/docs/n8n) · in-repo [docs/n8n.md](../../docs/n8n.md)
**Web UI (secondary mirror):** [songs2vid.com](https://songs2vid.com)
Self-hosted OSS: set **Base URL** to your instance. API keys work without a paid plan (YouTube must be connected).
@@ -70,10 +72,12 @@ 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
- **Primary source hub:** https://git.atakanozban.com/Songs2VID
- Guide: https://docs.songs2vid.com/docs/n8n
- REST endpoints: https://docs.songs2vid.com/docs/api/endpoints
- Workflow template: [`workflows/workflow-template.json`](./workflows/workflow-template.json)
- npm: https://www.npmjs.com/package/n8n-nodes-songs2vid
- Web UI: https://songs2vid.com
## Development
@@ -14,7 +14,7 @@ export class Songs2VidApi implements ICredentialType {
displayName = "Songs2VID API";
documentationUrl = "https://songs2vid.com/docs/n8n";
documentationUrl = "https://git.atakanozban.com/Songs2VID";
properties: INodeProperties[] = [
{
@@ -6,12 +6,21 @@
"resources": {
"credentialDocumentation": [
{
"url": "https://songs2vid.com/docs/n8n"
"url": "https://git.atakanozban.com/Songs2VID"
},
{
"url": "https://docs.songs2vid.com/docs/n8n"
}
],
"primaryDocumentation": [
{
"url": "https://songs2vid.com/docs/api/endpoints"
"url": "https://git.atakanozban.com/Songs2VID"
},
{
"url": "https://docs.songs2vid.com/docs/api/endpoints"
},
{
"url": "https://songs2vid.com"
}
]
}
+3 -3
View File
@@ -10,10 +10,10 @@
"youtube"
],
"license": "MIT",
"homepage": "https://songs2vid.com/docs/n8n",
"homepage": "https://git.atakanozban.com/Songs2VID",
"author": {
"name": "Songs2VID",
"url": "https://songs2vid.com"
"url": "https://git.atakanozban.com/Songs2VID"
},
"repository": {
"type": "git",
@@ -21,7 +21,7 @@
"directory": "integrations/n8n"
},
"bugs": {
"url": "https://songs2vid.com/docs/n8n"
"url": "https://git.atakanozban.com/Songs2VID/songs2vid/issues"
},
"main": "index.js",
"scripts": {
@@ -35,7 +35,7 @@
},
{
"parameters": {
"content": "## Inputs\nProvide binary fields (`cover`, `audio`) or replace Manual Trigger with Drive/Dropbox.\n\nCredential: Header Auth → Name `Authorization`, Value `Bearer s2yt_live_…`\n\nSet env `SONGS2VID_WEBHOOK_URL` to this workflow's Production Webhook URL.",
"content": "## Inputs\nProvide binary fields (`cover`, `audio`) or replace Manual Trigger with Drive/Dropbox.\n\nCredential: Header Auth → Name `Authorization`, Value `Bearer s2yt_live_…`\n\nSet env `SONGS2VID_WEBHOOK_URL` to this workflow's Production Webhook URL.\n\nPrimary source: https://git.atakanozban.com/Songs2VID\nnpm: n8n-nodes-songs2vid · Web UI: https://songs2vid.com",
"height": 240,
"width": 320
},