This workflow follows the Form Trigger → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "splitMP3-API-Orchestrated",
"nodes": [
{
"parameters": {
"formTitle": "Universal MP3 Splitter (API Power)",
"formDescription": "Communication via HTTP API. Location transparent.",
"formFields": {
"values": [
{
"fieldLabel": "Upload MP3",
"fieldType": "file",
"requiredField": true
},
{
"fieldLabel": "Segment Minutes",
"defaultValue": 20,
"fieldType": "number"
}
]
},
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.formTrigger",
"typeVersion": 2,
"position": [
0,
0
],
"id": "form-trigger",
"name": "Form Trigger"
},
{
"parameters": {
"fileName": "=/home/node/.n8n-files/splitMP3/input/{{ $binary.data.fileName }}",
"options": {
"append": false
}
},
"type": "n8n-nodes-base.writeBinaryFile",
"typeVersion": 1,
"position": [
220,
0
],
"id": "write-input",
"name": "Save Source MP3"
},
{
"parameters": {
"method": "POST",
"url": "=http://host.docker.internal:8000/split/info",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "input",
"value": "=/mnt/c/Tools/@@@@@@Antigravity/n8n-projects/n8n-mcp-json/splitePDF/input/{{ $binary.data.fileName }}"
}
]
},
"options": {
"timeout": 300000
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
440,
0
],
"id": "api-get-info",
"name": "API: Get Info"
},
{
"parameters": {
"jsCode": "const info = $input.first().json;\nconst segmentMin = $node[\"Form Trigger\"].json[\"Segment Minutes\"] || 20;\nconst segmentMs = segmentMin * 60 * 1000;\nconst totalMs = info.duration_ms;\nconst numParts = Math.ceil(totalMs / segmentMs);\n\nconst tasks = [];\nfor (let i = 0; i < numParts; i++) {\n tasks.push({\n json: {\n part: i + 1,\n start: i * segmentMs,\n end: Math.min((i + 1) * segmentMs, totalMs),\n sourcePath: `/mnt/c/Tools/@@@@@@Antigravity/n8n-projects/n8n-mcp-json/splitePDF/input/${info.filename}`,\n originalName: info.filename.split('.')[0]\n }\n });\n}\nreturn tasks;"
},
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
660,
0
],
"id": "calc-segments",
"name": "Generate Tasks"
},
{
"parameters": {
"method": "POST",
"url": "=http://host.docker.internal:8000/split/mp3",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\n \"input_path\": \"{{ $json.sourcePath }}\",\n \"output_path\": \"/mnt/c/Tools/@@@@@@Antigravity/n8n-projects/n8n-mcp-json/splitePDF/output/{{ $json.originalName }}/{{ $json.originalName }}_Part_{{ $json.part }}.mp3\",\n \"start\": {{ $json.start }},\n \"end\": {{ $json.end }},\n \"title\": \"{{ $json.originalName }} (Part {{ $json.part }})\"\n}",
"options": {
"timeout": 300000
}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
880,
0
],
"id": "api-split",
"name": "API: Atomic Split"
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={\n \"status\": \"success\",\n \"total_processed\": {{ $input.all().length }},\n \"message\": \"All segments processed via Worker API!\"\n}",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [
1100,
0
],
"id": "done",
"name": "Final Respond"
}
],
"connections": {
"Form Trigger": {
"main": [
[
{
"node": "Save Source MP3",
"type": "main",
"index": 0
}
]
]
},
"Save Source MP3": {
"main": [
[
{
"node": "API: Get Info",
"type": "main",
"index": 0
}
]
]
},
"API: Get Info": {
"main": [
[
{
"node": "Generate Tasks",
"type": "main",
"index": 0
}
]
]
},
"Generate Tasks": {
"main": [
[
{
"node": "API: Atomic Split",
"type": "main",
"index": 0
}
]
]
},
"API: Atomic Split": {
"main": [
[
{
"node": "Final Respond",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"tags": []
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
splitMP3-API-Orchestrated. Uses formTrigger, writeBinaryFile, httpRequest. Event-driven trigger; 6 nodes.
Source: https://github.com/MorrisLu-Taipei/TigerAI-A2A-Code2n8n-Skill-Pack/blob/5417647cddf7868cc10e32eacc7fdfdacd68ea4b/examples/tigerai-flagship/splitMP3-API-Orchestrated/workflow.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t
[n8n] Advanced URL Parsing and Shortening Workflow - Switchy.io Integration. Uses splitInBatches, stickyNote, httpRequest, html. Event-driven trigger; 56 nodes.
[](https://youtu.be/c7yCZhmMjtI)
LDX hub All Services Demo. Uses formTrigger, httpRequest, form, n8n-nodes-ldxhub. Event-driven trigger; 53 nodes.
This workflow provides a single n8n form that routes to five LDXhub services (StructFlow, RefineLoop, RenderOCR, CastDoc, and ExtractDoc) to run one-off document processing jobs and return the generat