We are very proud to release version one of the Auphonic audio post processing web API. This is a complete REST API to all our algorithms and functionality, for example:

As far as we know, this is the first public RESTful web API for direct audio signal processing. It allows you to write scripts for file-based, automated batch processing of audio files, to integrate Auphonic into your programs or to build third-party applications for Auphonic.

Let's start with simple examples

Our API can be used by any tool or programming language, which is able to perform HTTP requests. In the following examples, we will use the command line tool curl for demonstration purpose.

Let's start with a very simple example, where you want to post process a local audio file, podcast.flac, using our default settings:

curl -X POST https://auphonic.com/api/simple/productions.json \ -u "your_auphonic_username:your_auphonic_password" \ -F "input_file=@/path/to/your/local/podcast.flac" \ -F "action=start"

This command performs a POST request to our servers, uploads your file podcast.flac and starts an audio post production with the same default settings as in our production web interface.

You can also activate automatic noise reduction and set the loudness target to EBU R128 (-23 LUFS):

curl -X POST https://auphonic.com/api/simple/productions.json \ -u "your_auphonic_username:your_auphonic_password" \ -F "input_file=@/path/to/your/local/podcast.flac" \ -F "denoise=true" \ -F "loudnesstarget=-23" \ -F "action=start"

Now let's take an input file from a remote server, using HTTP, and set some audio file metadata:

curl -X POST https://auphonic.com/api/simple/productions.json \ -u "your_auphonic_username:your_auphonic_password" \ -F "input_file=http://yourserver.at/files/podcast.m4a" \ -F "title=Production from HTTP" \ -F "artist=Auphonic API User" \ -F "genre=Podcast" \ -F "year=2012" \ -F "action=start"

As there are many parameters available, these requests can get complicated very soon. Therefore we introduced the concept of presets: you can create presets with all detailed algorithm settings, metadata, output file details, outgoing file transfers (YouTube, SoundCloud, FTP, SFTP, Dropbox, ...) using our preset web interface.

Afterwards, it's possible to reference a preset with its UUID in API requests, which makes it easy to batch process multiple files:

curl -X POST https://auphonic.com/api/simple/productions.json \ -u "your_auphonic_username:your_auphonic_password" \ -F "input_file=@/path/to/your/local/podcast.m4a" \ -F "preset=tSYPPA4zoWL6yjf9cAW69Q" \ -F "action=start"

You can find the preset UUID on the preset page.

The examples here just demonstrate some very simple use-cases. If you want to have full control, like detailed file formats or outgoing services without the use of predefined presets, please use our JSON-based API. The JSON API requires multiple requests and parsing the JSON response, see Auphonic API documentation for more details.

We also maintain a public github repository with examples in various programming languages, which use the Auphonic API: auphonic-api-examples github repository.

Additional examples will follow and pull requests are very welcome!

Authentication

Authentication is possible with HTTP Basic Authentication (for internal usage) and via OAuth 2.0 (for third-party applications).

Using HTTP Basic Authentication, you can access all API resources just by entering your Auphonic username and password. This method is suggested for internal programs and scripts, like batch processing of huge collections of files.

The suggested authentication method for third-party web, mobile and desktop applications is OAuth 2.0. OAuth 2.0 allows you to access a user account on their behalf, without storing its username and password. See Introducing OAuth 2.0 for a short introduction to OAuth 2.0.

Documentation and support

A complete documentation of all our API functionality can be found here:

Auphonic API Docs

All API changes will be announced over the Auphonic API mailing list (low traffic), so that developers can adjust their code and are informed about important updates.

Subscribe to Auphonic-API here: Auphonic API Mailing List

If you have any further questions, don’t hesitate to contact us at:

feedback@auphonic.com

Conclusion

The Auphonic API is a complete REST API to all our algorithms and functionality. This allows you to perform complex audio processing tasks using a web service and to integrate our algorithms in your automated workflows and systems.

See our API overview page for up-to-date information: Auphonic Developer Page.

We are very open for additions – if you miss a specific algorithm or feature, just let us know and we will do the best to integrate it!

Furthermore, many new algorithms are in development at the moment, so stay tuned and be surprised :) !