This topic describes the parameters and interface details of the Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash non-real-time speech recognition HTTP API.
Service endpoints
- Singapore
- China (Beijing)
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationReplace {WorkspaceId} with your actual Workspace ID.Request headers
Parameter | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | The authentication token, in the format |
Content-Type | string | Yes | The media type of the request body. Fixed to |
X-DashScope-SSE | string | Yes | Controls whether results are returned as an SSE stream. Set to |
Request bodymodelstring(Required)The model name. Qwen-Audio-3.0-ASR-Flash and Fun-ASR-Flash model series are supported. For details, see Supported models and regions.inputobject(Required)The input information.
Properties messages array(object)(Required)The message list. It contains the audio to recognize and, optionally, conversation context that improves recognition accuracy.
Properties role string(Required)The message role. Valid values:
array(object)(Required)The message content list.
Properties type string(Required)The content type. Each request needs at least one message of type input_audio. Valid values:
object(Conditionally required)Required when type is input_audio.
Properties data string(Required)The audio data to recognize. For input requirements such as supported audio formats, file size limits, and duration limits, see Audio specifications. Two methods are supported:
https://example.com/audio/sample.wavExample (Base64): data:audio/wav;base64,{BASE64_ENCODED_DATA}string(Conditionally required)When type is input_text, enter the recognition results of the user's speech from previous turns or a domain-specific word list. When type is text, enter the large language model's replies from previous turns. Text length is measured in characters, where each character counts as 1. The combined length of the text fields across all messages in a single context turn cannot exceed 400 characters. Any excess is truncated from the end.object(Required)The model parameters.Text Polishing is disabled by default and is not yet available.Text Polishing: While transcribing speech, the model automatically removes meaningless filler words and stuttered repetitions, handles self-corrections made during speech, smooths out colloquial expressions, and standardizes punctuation and text formatting. This results in output that is more concise, fluent, and readable, while preserving the user's original intent and key information as much as possible.
Properties format string(Required)The audio format. Set this to match your actual audio format. Supported values include wav, mp3, and opus. For details, see Audio specifications.sample_ratestring(Optional)The audio sample rate, in Hz. For example, 16000 means a 16 kHz sample rate. For details, see Audio specifications.vocabulary_idstring(Optional)The ID of a precompiled hot word list.Generate this ID in advance by calling the create hot word list API. Pass the ID during recognition to use the hot words in the list.Suitable for scenarios where the vocabulary is known and relatively stable, and where you need to reuse the same word list across requests.For usage details, see Precompiled hotwords.vocabularyobject(Optional)Instant hot words.Passed as key-value pairs, where the key is the hot word text (string) and the value is the hot word weight (integer). No hot word list needs to be created in advance. The weight ranges from [1, 5] or is set to 50: a value in [1, 5] makes the model more likely to output the word as the value increases; a value of 50 designates a super hot word, which greatly improves recall, but the number of super hot words cannot exceed 50.Suitable for temporary, session-level hot word optimization.When instant and precompiled hotwords are configured together, the system merges both sets. If the merged set contains more than 2000 hotwords, the system randomly selects 2000 to use. For usage details, see Instant hotwords.language_hints array[string](Optional)The language codes to recognize. If you cannot determine the language in advance, leave this unset and the model detects the language automatically.For Qwen-Audio-3.0-ASR-Flash series models, you can set up to 4 values; if you set more than 4, only the first 4 take effect. For Fun-ASR-Flash series models, you can set only 1 value; if you set more than one, only the first takes effect.
Click to view the supported language codes
| The following examples use the configuration for the Singapore region. Replace "{WorkspaceId}" with your actual workspace ID. The configuration differs across regions, and the API key for the Singapore region differs from the one for the Beijing region.
|
Response bodyrequest_idstringThe unique identifier of this request.outputobjectThe output result.
Properties text stringThe full recognized text accumulated so far.sentenceobjectThe details of the current sentence.
Properties sentence_id integerThe sentence number, starting from 1.sentence_endbooleanWhether this is the final result for the sentence. true indicates that recognition of the sentence is complete.begin_timeintegerThe start time of the sentence, in milliseconds.end_timeintegerThe end time of the sentence, in milliseconds. Returned only when sentence_end is true.textstringThe recognized text of the current sentence.channel_idintegerThe channel number, starting from 0.wordsarrayThe list of word-level timestamps.
Properties text stringThe word text.begin_timeintegerThe start time of the word, in milliseconds.end_timeintegerThe end time of the word, in milliseconds.punctuationstringThe punctuation mark after the word. An empty string when there is no punctuation.fixedbooleanWhether the word is stabilized. false indicates that the word's timestamp may be adjusted in subsequent events.objectThe usage information. Returned only when sentence_end is true.
Properties duration integerThe processed audio duration, in seconds. |
|
SSE streaming result processing logic
In streaming mode, the client needs to handle the following:
- For each SSE event received, parse the JSON in the
datafield. - Use
output.sentence.sentence_endto determine whether the current sentence has ended. When this value istrue, recognition of the sentence is complete, the word-level timestamps are stabilized, and the result can be used as final. When this value isfalse, recognition is still in progress, and the text and timestamps may be updated in subsequent events. - The
usageinformation is returned only in the sentence-end event, and you can use it to meter the processed audio duration.