AutomationFlowsWeb Scraping › Audio Compression Workflow

Audio Compression Workflow

Audio Compression Workflow. Uses httpRequest. Webhook trigger; 7 nodes.

Webhook trigger★★★★☆ complexity7 nodesHTTP Request
Web Scraping Trigger: Webhook Nodes: 7 Complexity: ★★★★☆ Added:

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 →

Download .json
{
  "name": "Audio Compression Workflow",
  "nodes": [
    {
      "parameters": {
        "path": "audio/process",
        "method": "POST"
      },
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        250,
        100
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=http://localhost:8000/input/load",
        "sendBody": true,
        "bodyParameters": [
          {
            "name": "filepath",
            "value": "={{ $node.Webhook.json.filepath }}"
          }
        ],
        "options": {}
      },
      "name": "Input Agent",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        250,
        200
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=http://localhost:8000/features/extract",
        "sendBody": true,
        "bodyParameters": [
          {
            "name": "filepath",
            "value": "={{ $node.Webhook.json.filepath }}"
          }
        ],
        "options": {}
      },
      "name": "Feature Extraction",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=http://localhost:8000/decision/decide",
        "sendBody": true,
        "bodyParameters": [
          {
            "name": "filepath",
            "value": "={{ $node.Webhook.json.filepath }}"
          },
          {
            "name": "metadata",
            "value": "={{ $node['Input Agent'].json }}"
          },
          {
            "name": "features",
            "value": "={{ $node['Feature Extraction'].json }}"
          }
        ],
        "options": {}
      },
      "name": "Decision Agent",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        250,
        400
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=http://localhost:8000/execution/compress",
        "sendBody": true,
        "bodyParameters": [
          {
            "name": "filepath",
            "value": "={{ $node.Webhook.json.filepath }}"
          },
          {
            "name": "codec",
            "value": "={{ $node['Decision Agent'].json.codec }}"
          },
          {
            "name": "bitrate",
            "value": "={{ $node['Decision Agent'].json.bitrate }}"
          },
          {
            "name": "sample_rate",
            "value": "={{ $node['Decision Agent'].json.sample_rate }}"
          },
          {
            "name": "channels",
            "value": "={{ $node['Input Agent'].json.channels }}"
          }
        ],
        "options": {}
      },
      "name": "Execution Agent",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        250,
        500
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=http://localhost:8000/report/generate",
        "sendBody": true,
        "bodyParameters": [
          {
            "name": "original_filepath",
            "value": "={{ $node.Webhook.json.filepath }}"
          },
          {
            "name": "compressed_filepath",
            "value": "={{ $node['Execution Agent'].json.output_filepath }}"
          }
        ],
        "options": {}
      },
      "name": "Report Agent",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        250,
        600
      ]
    },
    {
      "parameters": {
        "respondWithStatus": 200,
        "responseBody": "={{ { \n  compression_ratio: $node['Execution Agent'].json.compression_ratio, \n  codec: $node['Decision Agent'].json.codec, \n  bitrate_kbps: $node['Decision Agent'].json.bitrate, \n  snr_db: $node['Report Agent'].json.snr_db, \n  reasoning: $node['Decision Agent'].json.reasoning, \n  compressed_filepath: $node['Execution Agent'].json.output_filepath\n} }}"
      },
      "name": "Response",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1,
      "position": [
        250,
        700
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Input Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Input Agent": {
      "main": [
        [
          {
            "node": "Feature Extraction",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Feature Extraction": {
      "main": [
        [
          {
            "node": "Decision Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Decision Agent": {
      "main": [
        [
          {
            "node": "Execution Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Execution Agent": {
      "main": [
        [
          {
            "node": "Report Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Report Agent": {
      "main": [
        [
          {
            "node": "Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Audio Compression Workflow. Uses httpRequest. Webhook trigger; 7 nodes.

Source: https://github.com/imane-rafiq/Syst_me_Intelligent_de_Compression-Audio/blob/d32fec129ec0775767386a633c4c3683980cad5e/n8n/audio_compression.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

This n8n template provides enterprise-level version control for your workflows using GitHub integration. Stop losing hours to broken workflows and manual exports – get proper commit history, visual di

n8n, Execute Workflow Trigger, HTTP Request +1
Web Scraping

This flow creates dummy files for every item added in your *Arrs (Radarr/Sonarr) with the tag .

HTTP Request, Ssh
Web Scraping

eek-Go v2 (Batch-Then-Review). Uses httpRequest. Webhook trigger; 75 nodes.

HTTP Request
Web Scraping

This workflow receives webhook requests from a content calendar and uses the X API v2 to publish text posts, threads, image/video posts, and polls, as well as delete existing posts and run a credentia

HTTP Request
Web Scraping

This workflow acts as a central API gateway for all technical indicator agents in the Binance Spot Market Quant AI system. It listens for incoming webhook requests and dynamically routes them to the c

HTTP Request