What’s new in devAIce Web API 4.0.0
We are proud to announce version 4.0.0 as a major update to devAIce Web API that is available to customers today. Most notably, this release introduces a modernized and simplified set of new API endpoints, all-new client libraries with support for more programming languages, OpenAPI compatibility, as well as an enhanced command-line interface tool. It also includes recent model updates and performance improvements from the latest devAIce SDK release, i.e. support for the Dominance emotion dimension and accuracy improvements of up to 15 percentage points.
New API (version 2)
While overall, our existing API has served customers well over the years, we nevertheless received clear feedback on a number of aspects that made API integration less intuitive and convenient than what we expect from a modern API. Since fixing some of these flaws would inevitably result in backwards-incompatible changes, we took the opportunity to think big and define a major new version of our API, which allowed us to also improve other parts of the API without having to restrict ourselves to maintain compatibility with existing clients.
Highlights of the new v2 API include:
- Simplified authentication
The legacy API required clients to go through a custom authentication mechanism to obtain a temporary session token that could then be used for subsequent requests. This step made it hard to call the API from tools like curl or Postman because extra code had to be written to perform authentication. In the new API, the extra authentication step has been replaced with a simple API key that is passed as an HTTP header in every request, which is well supported by common web development tools.
- Intuitive request and response formats
In the existing v1 API, requests and responses sometimes followed rather unintuitive design choices in how data had to be passed or was returned. This was due to the requirement for backwards-compatibility of clients that still targeted sensAI, the predecessor of devAIce. In the new API, we got rid of all legacy design remnants which leads to a significantly simpler and easier development experience.
- Dedicated endpoint to retrieve account information
The legacy API returned user quota information as part of the session creation response but there was no way for clients to retrieve this information independently. The new API provides a dedicated endpoint to obtain this and other account information whenever clients need it.
New client libraries and OpenAPI compatibility
For the new v2 API, we took a different approach by making the API compatible to the OpenAPI Specification 3 and relying on OpenAPI Generator to automatically generate clients for various programming languages based on the API specification. This has several advantages: the generated clients have more consistent interfaces, additional languages can be more easily supported, and customers can use the OpenAPI specification of our API to generate clients themselves or use it with other OpenAPI-compatible tools.
Command-line upload tool (CLI)
As part of the latest devAIce Web API release, we ship an enhanced new version of a command-line client that is powered by the new Python client. In the past, we offered a Python script that could be used to upload a single audio file but it was not very convenient to use and limited in functionality. The new tool has been written from scratch, has straight-forward command-line parameters and also supports batch uploading of an arbitrary number of files.
For example, to upload a folder of .wav files and analyze them using the VAD and Emotion modules, you run the following command:
devaice-web-api-cli –api-key <api-key> –vad –emotion *.wav
Results can be output either directly on the console or in a single file in JSON format.
Emotion model updates
All the recent enhancements and updates made to our emotion models in devAIce SDK 3.6.1 are also available in the 4.0.0 release of the Web API. For more information, see our separate blog post on the devAIce SDK 3.6.1 release.
As with every release, you can find a complete changelog of what is new in the latest release by consulting the Web API documentation.
Do I have to pay for these updates?
Customers who own a commercial or trial license for our devAIce Web API cloud service get all of these updates for free.
Do I have to update?
No, you may continue to use whatever version you are currently on. devAIce Web API users need to explicitly opt-in to receive the new version. Nevertheless, we recommend to update to the latest version when possible in order to benefit from the latest model additions, improvements and fixes.
Where can I get more information?
If you are interested in updating to the new version of devAIce or have any questions on these updates or devAIce in general, please contact audEERING’s Customer Experience Manager Sylvia Szylar (firstname.lastname@example.org).