Skip to content

Introduction

What you can build with the Ableton Extension SDK and how to get started

The Ableton Extension SDK lets you extend Ableton Live with JavaScript and TypeScript. Extensions run in Node.js alongside Live, giving you programmatic access to the Live Set, custom user interfaces, and the entire npm ecosystem.

Read and modify tracks, clips, devices, and more.

  • Batch rename every clip in a project based on a pattern
  • Create and delete scenes or create track templates with a single command
  • Read and write clip warp modes, edit MIDI notes, or change device parameters across entire projects

Import audio into the project, render stems, and read or write files on disk.

  • Import audio files and drop them into arrangement
  • Render stems from selected tracks in the arrangement
  • Transform audio files using intensive offline processes

Show modal dialogs using a WebView built with HTML, JS, and CSS.

  • Data tables showing clip metadata or project statistics
  • Multi-step forms for configuring complex batch operations

Extensions are Node.js processes. You have access to npm packages and Node APIs.

  • Call APIs to fetch data such as lyrics, samples, and MIDI files.
  • Read and write files in your extension’s storage and temp directories

Extensions are not designed to solve every problem. For building custom devices or realtime processing Max for Live is the tool to reach for. If you find you need any of these things:

  • Real-time audio processing
  • MIDI routing or real-time MIDI manipulation
  • Drawing into Live’s native UI
  • Background extensions (running without Live open or persistently)
  • Control Surface integration

Then you may want to use another approach to solve your problem.