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:
- audio loudness normalization to new loudness standards (EBU R128, ATSC A/85 and more)
- intelligent leveler, which balances levels between speakers, music and speech and applies compression as needed
- audio restoration algorithms, e.g. our automatic noise reduction classifies segments with different backgrounds and automatically removes noise and hum
- audio and video encoding to all common formats, metadata management
- automatic content deployment via Dropbox, FTP, SFTP, HTTP, YouTube, SoundCloud
- for more algorithms and features, see our short introduction video and the Auphonic page
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 :) !