WORKFLOW · N8N
Tunova — Generate a song from a form
Prompts👁 2
WORKFLOW JSON
{
"id": "tunovaFormToSong",
"meta": {},
"name": "Tunova — Generate a song from a form",
"nodes": [
{
"id": "11111111-1111-4111-8111-111111111111",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"webhookId": "tunova-song-form",
"parameters": {
"options": {},
"formTitle": "Make a song with AI",
"formFields": {
"values": [
{
"fieldLabel": "Prompt",
"placeholder": "calm rainy-night lofi, mellow piano, vinyl crackle",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Instrumental",
"fieldOptions": {
"values": [
{
"option": "No"
},
{
"option": "Yes"
}
]
}
}
]
},
"formDescription": "Describe the track you want — Tunova generates it with Suno (v5.5)."
},
"typeVersion": 2.2
},
{
"id": "22222222-2222-4222-8222-222222222222",
"name": "Tunova: start generation",
"type": "n8n-nodes-base.httpRequest",
"position": [
220,
0
],
"parameters": {
"url": "https://api.tunova.ai/api/generate",
"method": "POST",
"options": {},
"jsonBody": "={\n \"prompt\": {{ JSON.stringify($json.Prompt) }},\n \"instrumental\": {{ $json.Instrumental === 'Yes' }}\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "REPLACE_WITH_YOUR_TUNOVA_CREDENTIAL",
"name": "Tunova API key"
}
},
"typeVersion": 4.2
},
{
"id": "33333333-3333-4333-8333-333333333333",
"name": "Wait for render (~2 min)",
"type": "n8n-nodes-base.wait",
"position": [
440,
0
],
"webhookId": "tunova-song-wait",
"parameters": {
"unit": "seconds",
"amount": 120
},
"typeVersion": 1.1
},
{
"id": "44444444-4444-4444-8444-444444444444",
"name": "Tunova: get result",
"type": "n8n-nodes-base.httpRequest",
"position": [
660,
0
],
"parameters": {
"url": "=https://api.tunova.ai/api/jobs/{{ $('Tunova: start generation').item.json.job_id }}",
"options": {},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "REPLACE_WITH_YOUR_TUNOVA_CREDENTIAL",
"name": "Tunova API key"
}
},
"typeVersion": 4.2
},
{
"id": "55555555-5555-4555-8555-555555555555",
"name": "Your track",
"type": "n8n-nodes-base.set",
"position": [
880,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a1",
"name": "status",
"type": "string",
"value": "={{ $json.status }}"
},
{
"id": "a2",
"name": "audio_url",
"type": "string",
"value": "={{ $json.clips?.[0]?.audio_url }}"
},
{
"id": "a3",
"name": "title",
"type": "string",
"value": "={{ $json.clips?.[0]?.title }}"
}
]
}
},
"typeVersion": 3.4
}
],
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"connections": {
"On form submission": {
"main": [
[
{
"node": "Tunova: start generation",
"type": "main",
"index": 0
}
]
]
},
"Tunova: get result": {
"main": [
[
{
"node": "Your track",
"type": "main",
"index": 0
}
]
]
},
"Tunova: start generation": {
"main": [
[
{
"node": "Wait for render (~2 min)",
"type": "main",
"index": 0
}
]
]
},
"Wait for render (~2 min)": {
"main": [
[
{
"node": "Tunova: get result",
"type": "main",
"index": 0
}
]
]
}
}
}RELATED WORKFLOWS
COMMENTS
No comments yet — be the first.
