Skip to main content
DeploymentsUsage Reporting

Automatic Usage Reporting

Learn about automatic usage reporting for on-prem deployments

Automatic usage reporting (a.k.a. online usage reporting) automatically sends usage data from the transcriber to Speechmatics via usage.speechmatics.com. Speechmatics will use this data to appropriately bill users for their usage. Depending on the on-prem solution you require, the setup process is slightly different see the sections below on containers and appliances for details.

We will never send customer audio data over the network. See What Data Do We Record for a full description of what information will be recorded.

Technical details

The Batch transcriber will report one TRANSCRIBER_DONE event at the event of transcription.

The Real-time transcriber will report one SESSION_ENDED event at the end of each session. During a session, the Real-time transcriber also sends SESSION_STATUS every few minutes.

The payload size is only several KB, so it won’t have a meaningful impact on the duration of transcription or your bandwidth costs.

If usage reporting is successful then at the end of the session the following message will be visible in the transcriber logs:

2024-04-15 13:17:38,799 INFO sentryserver Transcribed 36 seconds of speech
2024-04-15 13:17:38,974 INFO prod.orchestrator.eats.api Eats client process finished

In verbose debug mode, the contents of the usage report can be seen.

Network Failure

In the event of a network failure (for example, if your Internet connection is down or our usage server has a temporary outage) the transcriber will attempt to reconnect to our usage server several times.

2024-04-15 13:21:15,556	WARNING	prod.orchestrator.eats.api	Exception from EATS API call [TRANSCRIBER_DONE] HTTPSConnectionPool(host='usage.speechmatics.com', port=443): Max retries exceeded with url: /v1/log (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7ff57665e760>: Failed to resolve 'usage.speechmatics.com' ([Errno -3] Temporary failure in name resolution)"))

If, after this retry period (which takes up to 3 seconds), the transcriber is still unable to contact our usage server then it will output some WARNING log messages then cease attempting to send usage information. If this happens then the transcriber will exit normally with an exit code of 0.

For Batch transcribers, the transcriber will exit immediately after this.

For Real-Time transcribers, usage reporting will be disabled for a fixed time period (currently 60 seconds). This is to minimize the impact on the duration of transcription jobs. This retry mechanism will cause a small hit to the speed of transcription, so in the event of a network outage, you may wish to temporarily disable usage reporting by setting the SM_ENABLE_USAGE_REPORTING variable to false when running the container.

We ask that you inform our Finance Team about the duration and timing of any such outage.

Deployment type

Container

For container deployments, automatic usage reporting is turned ON by default and is currently opt out. It is turned off by setting the environment variable SM_ENABLE_USAGE_REPORTING=false (false, no or 0 are equally valid) when running the transcriber. For example:

docker run -i -v ~/$AUDIO_FILE:/input.audio \
-e LICENSE_TOKEN=eyJhbGciOiJ... \
-e SM_ENABLE_USAGE_REPORTING=false \
batch-asr-transcriber-en:13.0.0

To enable automatic usage reporting, you must be running one of the following ASR Container versions:

  • Batch Container 10.1.0 onwards
  • Real-Time Container 10.1.0 onwards

Automatic usage reporting is turned ON by default, starting from version 10.6.0.

Virtual Appliance

For virtual appliances, automatic usage reporting is turned ON by default and is currently opt out.

The usage mode can be set via the Management API

curl -L -u admin:admin -X 'POST' \
"http://${APPLIANCE_HOST}/v2/management/usagereporting" \
-d '{"mode": "online"}'

where mode is one of offline | online