Errors

Configuration errors

Configuration errors indicate that something about the API call was not configured correctly. The error message you get from the Hume APIs will often contain more information than we’re able to provide on this page. For example if an audio file is too long, the error message from the API will specify the limit as well as the length of the audio received.

CodeDescription
E0100The WebSocket request could not be parsed as valid JSON. The Hume API requires JSON serializable payloads.
E0101You may be missing or improperly formatting a required field. This generic error indicates that the structure of your WebSocket request was invalid. Please see the error message you received in the API response for more details.
E0102The requested model was incompatible with the file format received. Some models are not compatible with every file type. For example, no facial expressions will be detected in a text file. Audio can be extracted out of some video files, but if the video has no audio, then models like Speech Prosody and Vocal Burst will not be available.
E0200Media provided could not be parsed into a known file format. Hume APIs support a wide range of file formats and media types including audio, video, image, text, but not all formats are supported. If you receive this error and believe your file type should be supported please reach out to our support team.
E0201Media could not be decoded as a Base64 encoded string. The data field in the request payload should be Base64 encoded bytes. If you want to pass raw text without encoding it you can do so with the raw_text parameter.
E0202No audio signal could be inferred from the media provided. This error indicates that audio models were configured, but the media provided could not be parsed into a valid audio file.
E0203Your audio file was too long. The limit is 5000 milliseconds. The WebSocket endpoints are intended for near real-time processing of data streams. For larger files, consider using the Hume Expression Measurement API REST endpoints.
E0204Your video file was too long. The limit is 5000 milliseconds. For best performance we recommend passing individual frames of video as images rather than full video files. For larger files, consider using the Hume Expression Measurement API REST endpoints.
E0205Your image file was too large. The limit is 3,000 x 3,000 pixels. The WebSocket endpoints are intended for near real-time processing of data streams. For larger files, consider using the Hume Expression Measurement API REST endpoints.
E0206Your text file was too long. The limit is 10,000 characters. The WebSocket endpoints are intended for near real-time processing of data streams. For larger files, consider using the Hume Expression Measurement API REST endpoints.
E0207The URL you’ve provided appears to be incorrect. Please verify that you’ve entered the correct URL and try submitting it again. If you’re copying and pasting, ensure that the entire URL has been copied without any missing characters.
E0300You’ve run out of credits. Activate billing to continue making API calls.
E0301Your monthly credit limit has been reached. Once billing is activated, users can accrue charges up to a predetermined monthly cap. This limit ensures that users do not accumulate excessive debt without assurance of payment. If you require a higher limit, you may manually apply for a credit limit increase on the Usage page. Alternatively, the limit will reset at the beginning of the next month. For more information, please see our docs on billing.
E0400You’ve referenced a resource that doesn’t exist in our system. Please check if the name or identifier you used is correct and try again.
E0401Your upload failed. Please ensure your file meets our format and size requirements, and attempt to upload it again.
E0402The CSV file you used to create or update a dataset is missing a header row. The header specifies what each column represents. Update your CSV file and retry your request. For more information about how to format your dataset CSV please see our tutorial on dataset creation.
E0500Your dataset doesn’t meet the minimum sample size requirement. Please add more files to your dataset and resubmit your training job. For more information, please see our docs on dataset requirements.
E0501Your dataset contains a target column with empty values. Please clean your dataset so that all labels are valid categorical or numeric values and then resubmit your training job. For more information on target columns please see our docs on dataset requirements.
E0502Your dataset contains a target column with infinite values. Please clean your dataset so that all labels are valid categorical or numeric values and then resubmit your training job. For more information on target columns please see our tutorial on dataset creation.
E0503For classification tasks, your dataset must include at least two distinct classes. Please check your dataset has two unique labels in the target column.
E0504Some classes in your dataset don’t have enough samples. To ensure that the model we produce is of the highest quality we require your dataset to be relatively balanced across classes. Please check the error message for which class should have more samples (or remove that class entirely). Please see our docs on dataset requirements for more details.
E0505The target column you’ve selected doesn’t exist in the dataset. Please review the columns that exist in your dataset and select a valid column name.
E0506Your chosen target column is not a valid target column. Please ensure that you select a column with labels rather than the file_id column or another reserved column name.
E0705Your custom model was disconnected due to a server connection interruption. Please check your internet connection, ensure the server is still running, and verify that the server URL is correct. Also, make sure no firewall or security settings are blocking the connection.
E0706Hume’s API cannot reach your custom language model. Please ensure that your language model is accessible and try again.
E0707The message sent to Hume is not formed in the correct way of either {"type": "assistant_input", "text": <your text here>} or {"type": "assistant_end"}
E0708The chat group you’re trying to resume does not exist. Please check the chat group identifier and try again.
E0709The configuration you are trying to use does not exist. Please check the configuration identifier and try again.
E0710You are attempting to resume a chat group with a new configuration. This operation is not allowed. Please use the original configuration or create a new chat group with the desired configuration.
E0711You are attempting to use a supplemental language model that is not currently available as a Hume-managed LLM. Please provide an API key from your model provider, or switch to a different supplemental LLM.
E0712The custom language model timed out during the connection attempt. This could be due to network issues, server availability, or firewall restrictions. Please check your connection and try again.
E0713The connection failed to the custom model due to a fatal error during the connection attempt. Please verify that the custom language model is correctly configured and accessible.
E0714The EVI WebSocket connection was closed due to the user inactivity timeout being reached. This timeout is specified in the inactivity parameter within the timeouts field of your EVI configuration.
E0715The EVI WebSocket connection was closed due to the maximum duration timeout being reached. This timeout is specified in the max_duration parameter within the timeouts field of your EVI configuration.
E0716The session settings provided were invalid and therefore were not applied. More details about how to resolve the misconfiguration are available in the API response.
E0717The EVI WebSocket connection was closed because a request was made to resume a chat group which contains an active chat. Please check that you are not already running an active chat session with the same chat group.
E0718The supplemental LLM provider has degraded API behavior. You can try again later or change the supplemental LLM in your EVI configuration.
E0719The supplemental LLM provider has an outage. You can try again later or change the supplemental LLM in your EVI configuration.
E0720The chat group configured for chat resumability could not be found. Please check that you specified your resumed_chat_group_id parameter correctly and that data retention is enabled in your account settings.
E0723Failed to parse incoming audio. Data was formatted as whole audio files. Audio must be streamed. Please visit https://dev.hume.ai/reference/empathic-voice-interface-evi/chat/chat#send.Audio%20Input.data for more information on audio guidelines. Detected {codec}, {sample_rate} Hz, {num_channels} ch.

The connection will be closed automatically after ten identical configuration errors to avoid unintended looping.

WebSocket status codes

CodeDescription
1000close_normal indicates an expected, intentional disconnect initiated by the server, such as when the built-in hang-up tool closes the connection. This code is also used for inactivity timeout and max duration timeout, indicating that the WebSocket connection was closed due to remaining inactive for too long or exceeding the maximum allowed duration.
1008policy_violation occurs when the WebSocket connection encounters an issue that cannot be recovered due to user error. Please review your request and ensure it adheres to the API’s guidelines and policies.
1011server_error indicates that the WebSocket connection encountered an issue that cannot be recovered due to an internal Hume server error. Please try again later or contact support if the issue persists.

Service errors

If you encounter an error code starting with I (for example, error code I0100), it indicates an outage or a bug in a Hume service. Our team will already have been alerted of the internal error, but if you need immediate assistance please reach out to our support team.

Warnings

Warnings indicate that the payload was configured correctly, but no results could be returned.

CodeDescription
W0101No vocal bursts could be detected in the media.
W0102No face meshes could be detected in the media.
W0103No faces could be detected in the media.
W0104No emotional language could be detected in the media.
W0105No speech could be detected in the media.
W0106No dynamic variable(s) found matching the one(s) specified.

Common errors

Some errors will not have an associated error code, but are documented here.

Transcript confidence below threshold value

This error indicates that our transcription service had difficulty identifying the language spoken in your audio file or the quality was too low. We prioritize quality and accuracy, so if it cannot transcribe with confidence, our models won’t be able to process it further.

By default, we use an automated language detection method for our Speech Prosody, Language, and NER models. However, if you know what language is being spoken in your media samples, you can specify it via its BCP-47 tag and potentially obtain more accurate results.

If you see the message above there are few steps you can do to resolve the issue:

  • Verify we support the language
  • Ensure you are providing clear, high-quality audio files.
  • Specify the language within your request if you know the language in the audio.
1import asyncio
2from hume import AsyncHumeClient
3from hume.expression_measurement.batch import Prosody, Transcription, Models
4from hume.expression_measurement.batch.types import InferenceBaseRequest
5
6async def main():
7 # Initialize an authenticated client
8 client = AsyncHumeClient(api_key="<YOUR_API_KEY>")
9
10 # Define the filepath(s) of the file(s) you would like to analyze
11 local_filepaths = [
12 open("<YOUR_FILE_PATH>", mode="rb"),
13 ]
14
15 # Create a default configuration for the prosody model
16 prosody_config = Prosody()
17
18 # Create a transcription coniguration with the language set to English
19 transcription_config = Transcription(language="en")
20
21 # Create a Models object
22 models_chosen = Models(prosody=prosody_config)
23
24 # Create a stringified object containing the configuration
25 stringified_configs = InferenceBaseRequest(models=models_chosen, transcription=transcription_config)
26
27 # Start an inference job and print the job_id
28 job_id = await client.expression_measurement.batch.start_inference_job_from_local_file(
29 json=stringified_configs, file=local_filepaths
30 )
31 print(job_id)
32
33if __name__ == "__main__":
34 asyncio.run(main())

See the full list of languages supported by the Expression Measurement API here.

You may specify any of the following BCP-47 tags for transcription: zh, da, nl, en, en-AU, en-IN, en-NZ, en-GB, fr, fr-CA, de, hi, hi-Latn, id, it, ja, ko, no, pl, pt, pt-BR, pt-PT, ru, es, es-419, sv, ta, tr, or uk.