Multi-modal interaction suite - Error codes

Updated at:

This topic describes the error messages and solutions for the Alibaba Cloud Model Studio multi-modal interaction suite.

AccessDenied.Unpurchased

{"header":{"task_id":"xxxxx","event":"task-failed","error_code":"AccessDenied.Unpurchased","error_message":"Access to model denied. Please make sure you are eligible for using the model.","attributes":{}},"payload":{}}

Access to model denied. Please make sure you are eligible for using the model.

Reason: The error_code is in the header. The connection fails because the Alibaba Cloud Model Studio service has not been activated.

Solution: Register or log on to your Alibaba Cloud account, and then go to the Model Square to activate the Model Studio service.

Model.AccessDenied

{"header":{"task_id":"xxxxx","event":"task-failed","error_code":"Model.AccessDenied","error_message":"Model access denied.","attributes":{}},"payload":{}}

Model access denied.

Reason: The error_code is in the header. The connection fails because the workspace used is not the default workspace. Multi-modal interaction currently supports calls only from the default workspace.

Solution: Use the API key from the default workspace to invoke the multi-modal interaction.

RequestTimeOut

{"header":{"task_id":"xxxxx","event":"task-failed","error_code":"ResponseTimeout","error_message":"Response timeout!","attributes":{}},"payload":{}}

Response timeout!

Reason: The error_code is in the header. The connection fails because the Model Studio gateway reports an error. The gateway requires continuous communication between the server-side and the client. A timeout error occurs if there is no interaction for more than one minute.

Solution: Maintain continuous interaction to avoid long periods without message exchange. If the client must stay connected without interaction, send periodic heartbeat (HeartBeat) messages. The server-side will respond to the heartbeat, ensuring the connection remains active and preventing a timeout. For the specific heartbeat message format, see Heartbeat event.

421-InvalidParameter

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":421,"status_name":"InvalidParameter","status_message":"xxxxx"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx"}}}

type of directive payload is error, please choose transcript or prompt

Reason: The status_code is in the header. The connection terminates after this error is received. This error is caused by an incorrect value for the type parameter of RequestToRespond.

Solution: Correct the type parameter for RequestToRespond and resend the request. The type parameter supports only the following two values:

(1) transcript: Converts text directly to speech.

(2) prompt: Sends the text to the large language model (LLM) for a response.

Other error messages in status_message

Reason: The status_code is in the header. The connection terminates after this error is received. This error is caused by incorrect values for other parameters. The status_message provides specific details about the error.

Solution: Correct the parameter values based on the information provided in status_message.

422-DirectiveNotSupported

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":422,"status_name":"DirectiveNotSupported","status_message":"Directive not supported: xxx"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx"}}}

Directive not supported: xxx

Reason: The status_code is in the header. The connection terminates after this error is received. This error occurs because the value provided for the directive instruction is not supported.

Solution: Check the instruction name and use an instruction available for multi-modal interaction. For more information, see Text message types.

432-AppConfigError

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":432,"status_name":"AppConfigError","status_message":"xxxxxxx"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx"}}}

Reason: The status_code is in the header. The connection terminates after this error is received. This error indicates a problem with retrieving the configuration for the Model Studio application.

Solution: Modify the parameter settings based on the specific information in status_message.

433-BillingAuthError

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":433,"status_name":"BillingAuthError","status_message":"xxxxxxx"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx"}}}

Billing auth info not found!

Reason: The status_code is in the header. The connection terminates after this error is received. This error occurs because the Model Studio multi-modal interaction service has not been activated for the current account.

Solution: Activate the Model Studio multi-modal interaction service for the current account, or use an account that already has the service activated.

444-ClientAudioTimeout

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":444,"status_name":"ClientAudioTimeout","status_message":"Waiting for client audio timed out."},"payload":{"output":{"event":"Error","dialog_id":"xxxxx"}}}

Waiting for client audio timed out.

Reason: The status_code is in the header. The connection terminates after this error is received. This error occurs because the server-side does not receive audio input from the client for an extended period.

Solution: In duplex mode, continuously upload audio to the server-side. In tap2talk mode, start continuously uploading audio immediately after the state switches to Listening. Alternatively, you can upload audio in all states. In push2talk mode, upload audio immediately after sending a SendSpeech message and continue until you send a StopSpeech message.

449-TooManyInterrupt

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":449,"status_name":"TooManyInterrupt","status_message":"Send too many RequestToRespond or RequestToSpeak directives in a short time!"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx"}}}

Send too many RequestToRespond or RequestToSpeak directives in a short time!

Reason: The status_code is in the header. The connection terminates after this error is received. This error occurs when too many RequestToRespond or RequestToSpeak directives are sent in a short period, which interrupts the normal interaction. This is typically caused by a bug in the application's calling logic.

Solution: Check the application's calling logic to avoid sending multiple RequestToRespond or RequestToSpeak directives.

424-AudioFormatError

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":424,"status_name":"AudioFormatError","status_message":"xxxxx"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx"}}}

Failed to decode audio! Please check audio format! / ASR decode error, please check audio format!

Reason: The status_code is in the header. The connection terminates after this error is received. This error occurs because the input audio format is invalid, and Automatic Speech Recognition (ASR) cannot parse the audio.

Solution: Check the input audio format and provide audio data in the correct format.

425-NoInputAudioError

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":200,"status_name":"Success","status_message":"Success"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx","round_id":"xxxxx","llm_request_id":"xxxxx","error_code":425,"error_name":"NoInputAudioError","error_message":"ASR input audio error, no input audio , please check audio data!"}}}

ASR input audio error, no input audio , please check audio data!

Reason: The error_code is in the payload. The connection is not terminated when this error occurs. This error indicates that no valid audio data was received, so ASR cannot perform recognition.

Solution: Check whether audio data is being sent and resubmit valid audio data.

426-InvalidTtsVoice

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":200,"status_name":"Success","status_message":"Success"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx","round_id":"xxxxx","llm_request_id":"xxxxx","error_code":426,"error_name":"InvalidTtsVoice","error_message":"tts voice error , need xxx voice."}}}

tts voice error , need xxx voice.

Reason: The error_code is in the payload. The connection is not terminated when this error occurs. This error is caused by an incorrect value for the voice parameter. The selected voice is not supported by the current speech synthesis model.

Solution: Set the voice parameter to a correct voice value.

(1) Official voices:

  • Refer to the official documentation. For official voices supported by cosyvoice-v2, cosyvoice-v3, cosyvoice-v3-plus, and cosyvoice-v3-flash, see Voice list. For official voices supported by qwen-tts-realtime and qwen3-tts, see Supported voices. For voices supported by sambert, see Model List. To obtain the voice value for sambert, remove the sambert- prefix and the -v1 suffix from the model name.
  • The voices for other speech synthesis models are available on the multi-modal interaction console. In the Interactive Voice Response configuration area on the left, select the desired speech synthesis model. Click the icon in the upper-right corner of the Interactive Voice Response Experience area on the right to view the list of available voices.

(2) Cloned voices: Before using a cloned voice, confirm that its status is "OK". For more information about how to query the status, see Query a specified voice.

451-NoSpeechRecognized

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":200,"status_name":"Success","status_message":"Success"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx","round_id":"xxxxx","llm_request_id":"xxxxx","error_code":451,"error_name":"NoSpeechRecognized","error_message":"No speech recognized from audio!"}}}

No speech recognized from audio!

Reason: The error_code is in the payload. The connection is not terminated when this error occurs. The service did not detect any user speech. This typically happens in push2talk mode if a StopSpeech instruction is sent after a SendSpeech instruction without any speech in between. In rare cases, background noise can cause this error in other modes.

Solution: Check the message sending logic to ensure that audio data containing user speech is sent to the server-side.

500-InternalSynthesizerError/InternalAsrError /InternalLLMError/LLMTimeoutError

{"header":{"event":"result-generated","task_id":"xxxxx","status_code":200,"status_name":"Success","status_message":"Success"},"payload":{"output":{"event":"Error","dialog_id":"xxxxx","round_id":"xxxxx","llm_request_id":"xxxxx","error_code":500,"error_name":"InternalAsrError","error_message":"Internal asr error"}}}

Internal synthesizer error/Internal asr error/Internal LLM error/LLM response timeout

Reason: The error_code is in the payload. The connection is not terminated when this type of error occurs. It indicates an internal service error related to Text-to-Speech (TTS), ASR, or the LLM.

Solution: If this type of error occurs, send the request again to recover. To identify the specific cause, record the complete request_id and dialog_id at the time of the error, and then contact technical support.