V-Blaze and V-Cloud Online Help (May 2020)

V‑Blaze WebAPI 2.0.0-1

This section provides release notes for WebAPI v2.0.0-1, describing new features and capabilities that were introduced in this release of the WebAPI package.


Please take special note of the output format changes, which will probably require minor modifications to any application that use the existing API.

  1. Change in default JSON output format - WebAPI now returns a JSON dictionary by default (stream tag output=json). The outer list (square brackets) with which JSON was delivered has been eliminated. The structure of the inner JSON dictionary has not changed, and is now returned directly without the outer list. This change makes the output consistent with other APIs such as V-Cloud. To produce JSON output in the list format that was previously used by the API, users can manually specify the output=jsonlist stream tag when calling the API.

  2. Change in default text output format - Text output (stream tag output=text) has changed from a JSON representation of the transcription, stored in source and utterances fields, to a simple plain text string. To produce text output in the format that was previously used by the API, users can specify the output=jsontextlist stream tag when calling the API.

  3. Administrators can temporarily retain/lock the legacy json and text output formats for applications that use the existing API implementations by using the yum-plugin-versionlock to freeze their installation to use the voci-webapi-2.0.0-compat package. However, by doing this, no future updates/fixes to the WebAPI package will be applied by yum updates. recommends modifying any applications that depend on the old output formats, so that those applications can use the new output formats.

  4. The WebAPI can be configured by adding long-lived settings to the file /opt/voci/state/webapi.cfg.

  5. Detailed logging of each submitted API request can now be enabled by setting accesslog=true in the configuration file. The access log file location is /var/log/vociwebapi/access.log.

  6. An identifier for each transcription request, known as a requestid, can be specified as a stream tag or in the X-Request-Id HTTP header. If a requestid is provided in one of these ways, the specified requestid is included in JSON output and in the WebAPI access log (if that log is enabled).

  7. The following output formats have been added, and can be specified by using the output stream tag:

    • jsontop - all utterance details are collapsed into a single text field, which is consistent with the same option in the V-Cloud API

    • jsonlist, jsontextlist - added to provide compatibility for applications that use the existing WebAPI 1.x output formats. The existing output formats of json and text are retained, but behave as described at the beginning of this section of the release notes.

  8. The bindhost configuration option is now provided to lock the WebAPI to listening only on a specific network interface (for example, localhost)

  9. Added support for responding to non-transcribe API requests (for example, /status) even when the ASR service is processing at capacity

  10. Added new API methods to provide additional status information:

    • /maxstreamscheck - describes current number of streams and maxstreams capacity, and returns success if not at capacity

    • /statusfull - returns more detailed /status information

  11. Eliminated support for handling multiple audio files as part of a single Multipart /transcribe request

  12. Improved user-level error messages

  13. Broadened communication protocols and increased robustness, including supporting 100-continue and the Connection: close header