Todos os produtos
Search
Central de documentação

Alibaba Cloud Model Studio:Qwen-Audio-3.0-ASR-Flash-Streaming/Fun-ASR-Realtime real-time speech recognition client events

Última atualização: Sep 02, 2026

Este tópico descreve os eventos que o cliente envia ao servidor via WebSocket no service de reconhecimento de fala em tempo real Qwen-Audio-3.0-ASR-Flash-Streaming/Fun-ASR-Realtime. O conteúdo inclui as estruturas de dados e definições de campos para run-task (iniciar uma tarefa), continue-task (atualizar o contexto) e finish-task (encerrar uma tarefa).

continue-task (atualizar o contexto),

Guia do usuário: Para descrições dos modelos e orientações de seleção, consulte Speech-to-text.

Fluxo de interação de eventos: Para a sequência de interação de eventos, consulte WebSocket API.

run-task

Descrição: Inicia uma tarefa de reconhecimento de fala e define parâmetros como modelo, formato de áudio e taxa de amostragem.

Quando enviar: Envie imediatamente após o estabelecimento da conexão WebSocket.

Evento de resposta: O envio de áudio só é permitido após o servidor retornar o evento task-started.

headerobject(Required)

Properties

actionstring(Required)

O tipo de comando. Defina como run-task.

task_idstring(Required)

Um ID de tarefa gerado pelo cliente (formato UUID) que vincula os eventos subsequentes a esta tarefa.

streamingstring(Required)

Defina como duplex.

{
        "header": {
            "action": "run-task",
            "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
            "streaming": "duplex"
        },
        "payload": {
            "task_group": "audio",
            "task": "asr",
            "function": "recognition",
            "model": "qwen-audio-3.0-asr-flash-streaming",
            "parameters": {
                "format": "pcm",
                "sample_rate": 16000
            },
            "input": {}
        }
    }
{
        "header": {
            "action": "run-task",
            "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
            "streaming": "duplex"
        },
        "payload": {
            "task_group": "audio",
            "task": "asr",
            "function": "recognition",
            "model": "qwen-audio-3.0-asr-flash-streaming",
            "parameters": {
                "format": "pcm",
                "sample_rate": 16000
            },
            "input": {
                "context": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "type": "input_text",
                                "text": "Hello there"
                            }
                        ]
                    },
                    {
                        "role": "assistant",
                        "content": [
                            {
                                "type": "text",
                                "text": "Hello, I am Qwen. How can I help you?"
                            }
                        ]
                    }
                ]
            }
        }
    }
{
        "header": {
            "action": "run-task",
            "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
            "streaming": "duplex"
        },
        "payload": {
            "task_group": "audio",
            "task": "asr",
            "function": "recognition",
            "model": "qwen-audio-3.0-asr-flash-streaming",
            "parameters": {
                "format": "pcm",
                "sample_rate": 16000,
                "vocabulary": {"John Smith": 5, "Jane Doe": 5}
            },
            "input": {}
        }
    }

payloadobject(Required)

Properties

task_groupstring(Required)

O grupo da tarefa. Defina como audio.

taskstring(Required)

O tipo de tarefa. Defina como asr.

functionstring(Required)

O tipo de função. Defina como recognition.

modelstring(Required)

O nome do modelo. As séries de modelos Qwen-Audio-3.0-ASR-Flash-Streaming e Fun-ASR-Realtime são suportadas. Para mais detalhes, consulte Supported models and regions.

inputobject(Required)

O objeto de entrada. Passe {} quando nenhum contexto for fornecido.

ImportanteApenas os modelos qwen-audio-3.0-asr-flash-streaming, fun-asr-realtime e fun-asr-realtime-2025-11-07 suportam contexto.

Properties

contextarray(object)(Optional)

O contexto da conversa, que melhora a precisão do reconhecimento para vocabulário específico de domínio. Para detalhes de uso, consulte Context enhancement.

ImportanteLimites: É possível fornecer no máximo 5 mensagens de contexto de cada tipo (input_text e text). Caso esse limite seja excedido, apenas as 5 mensagens mais recentes serão mantidas. O comprimento total do texto por turno (a soma dos comprimentos dos campos text das mensagens de user e assistant) não pode ultrapassar 400 caracteres (contados caractere por caractere, onde cada caractere conta como 1). O texto que exceder esse limite será truncado a partir do final.

ImportanteAo fornecer contexto, as mensagens em context devem seguir uma ordem específica. As mensagens de contexto precisam ser organizadas por turno de conversa e, dentro de cada turno, a mensagem de user (do tipo input_text) deve preceder sua mensagem correspondente de assistant (do tipo text).

Properties

rolestring(Required)

A função da mensagem. Valores válidos:

  • user: Os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio.
  • assistant: As respostas do modelo de linguagem grande em turnos anteriores.

contentarray(object)(Required)

A lista de conteúdos da mensagem.

Properties

typestring(Required)

O tipo de conteúdo. Valores válidos:

  • input_text: Os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio (usado quando a função é user). Você também deve fornecer o campo text.
  • text: As respostas do modelo de linguagem grande em turnos anteriores (usado quando a função é assistant). Você também deve fornecer o campo text.

textstring(Required)

O conteúdo de texto. Quando type for input_text, insira os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio. Quando type for text, insira as respostas do modelo de linguagem grande em turnos anteriores.

parametersobject(Required)

Os parâmetros de reconhecimento de fala.

Properties

formatstring(Required)

O formato de áudio.

Valores válidos:

  • pcm
  • wav
  • mp3
  • opus
  • speex
  • aac
  • amr

Importanteopus/speex: Devem usar encapsulamento Ogg.

wav: Deve usar codificação PCM.

amr: Apenas o tipo AMR-NB é suportado.

sample_rateinteger(Required)

A taxa de amostragem, em Hz.

Valores válidos: modelos de 8 kHz suportam apenas 8000 Hz; outros modelos suportam qualquer taxa de amostragem.

vocabulary_idstring(Optional)

O ID de uma lista de palavras-chave pré-compilada.

Gere esse ID antecipadamente chamando a API de criação de lista de palavras-chave. Passe o ID durante o reconhecimento para usar as palavras-chave da lista.

Indicado para cenários onde o vocabulário é conhecido e relativamente estável, e onde há necessidade de reutilizar a mesma lista de palavras entre requisições.

Para detalhes de uso, consulte Precompiled hotwords.

vocabularyobject(Optional)

Palavras-chave instantâneas.

Passadas como pares chave-valor, onde a chave é o texto da palavra-chave (string) e o valor é o peso da palavra-chave (integer). Não é necessário criar uma lista de palavras-chave antecipadamente. O peso varia de [1, 5] ou é definido como 50: um valor em [1, 5] aumenta a probabilidade de o modelo gerar a palavra conforme o valor cresce; um valor de 50 designa uma super palavra-chave, o que melhora significativamente o recall, mas o número de super palavras-chave não pode exceder 50.

Recomendado para otimização temporária de palavras-chave no nível da sessão.

Quando configuradas juntamente com palavras-chave pré-compiladas, apenas as palavras-chave instantâneas terão efeito. Para detalhes de uso, consulte Instant hotwords.

ImportanteApenas qwen-audio-3.0-asr-flash-streaming suporta palavras-chave instantâneas.

language_hintsarray[string](Optional)

O idioma do áudio a ser reconhecido. Não há valor padrão; se não for definido, o modelo detecta o idioma automaticamente.

Para a série de modelos Qwen-Audio-3.0-ASR-Flash-Streaming, é possível definir até 4 valores; se você definir mais de 4, apenas os primeiros 4 terão efeito. Para a série de modelos Fun-ASR-Realtime, é possível definir apenas 1 valor; se você definir vários valores, apenas o primeiro terá efeito.

Clique em visualizar os códigos de idioma suportados

  • qwen-audio-3.0-asr-flash-streaming, fun-asr-realtime, fun-asr-realtime-2025-11-07:

    • zh: Chinês
    • en: Inglês
    • ja: Japonês
    • ko: Coreano
    • vi: Vietnamita
    • th: Tailandês
    • id: Indonésio
    • ms: Malaio
    • tl: Filipino
    • hi: Hindi
    • ar: Árabe
    • fr: Francês
    • de: Alemão
    • es: Espanhol
    • pt: Português
    • ru: Russo
    • it: Italiano
    • nl: Holandês
    • sv: Sueco
    • da: Dinamarquês
    • fi: Finlandês
    • no: Norueguês
    • el: Grego
    • pl: Polonês
    • cs: Tcheco
    • hu: Húngaro
    • ro: Romeno
    • bg: Búlgaro
    • hr: Croata
    • sk: Eslovaco
  • fun-asr-realtime-2026-02-28:

    • zh: Chinês
    • en: Inglês
    • ja: Japonês
  • fun-asr-realtime-2025-09-15:

    • zh: Chinês
    • en: Inglês
  • fun-asr-flash-8k-realtime, fun-asr-flash-8k-realtime-2026-01-28:

    • zh: Chinês

semantic_punctuation_enabledboolean(Optional)

Se deve ativar a segmentação semântica.

Valor padrão: false.

  • true: Ativa a segmentação semântica e desativa a segmentação VAD.
  • false (padrão): Ativa a segmentação VAD e desativa a segmentação semântica.

A segmentação semântica é mais precisa e adequada para cenários de transcrição de reuniões. A segmentação VAD (Detecção de Atividade de Voz) possui menor latência e é mais indicada para cenários interativos.

max_sentence_silenceinteger(Optional)

ImportanteTem efeito apenas quando semantic_punctuation_enabled é false.

O limiar de silêncio VAD para segmentação, em ms. Quando o silêncio após um segmento de fala excede esse limiar, o sistema determina que a frase terminou.

Valor padrão: 1300.

Valores válidos: [200, 6000].

multi_threshold_mode_enabledboolean(Optional)

ImportanteTem efeito apenas quando semantic_punctuation_enabled é false.

Se deve ativar o modo de múltiplos limiares. Quando ativado, evita que os segmentos VAD fiquem muito longos.

Valor padrão: false.

heartbeatboolean(Optional)

Se deve ativar pacotes de heartbeat.

Valor padrão: false.

  • true: Mantém a conexão com o servidor ativa mesmo quando áudio silencioso é enviado continuamente.
  • false (padrão): A conexão é encerrada por timeout após 60 segundos, mesmo se áudio silencioso for enviado continuamente.

Áudio silencioso refere-se a conteúdo em um arquivo de áudio ou fluxo de dados que não contém sinal sonoro. É possível gerar áudio silencioso de várias formas, como usando softwares de edição de áudio como Audacity ou Adobe Audition, ou utilizando uma ferramenta de linha de comando como FFmpeg.

speech_noise_thresholdfloat(Optional)

O limiar para distinguir fala de ruído, usado para ajustar a sensibilidade da Detecção de Atividade de Voz (VAD).

Valores válidos: [-1,0, 1,0].

Descrições dos valores:

  • Quanto mais próximo o valor estiver de -1: O limiar de ruído diminui, tornando mais provável que ruídos sejam reconhecidos como fala, o que pode resultar na transcrição de mais ruído.
  • Quanto mais próximo o valor estiver de +1: O limiar de ruído aumenta, tornando mais provável que a fala seja erroneamente classificada como ruído, o que pode filtrar parte da fala.

Este é um parâmetro de configuração avançado. Ajustá-lo pode afetar significativamente os resultados do reconhecimento. Recomendações:

  • Teste e valide minuciosamente os resultados antes de ajustar.
  • Faça ajustes em pequenos incrementos com base no ambiente de áudio real (recomenda-se um passo de 0,1).

special_word_filter string(Optional)

Especifica as palavras sensíveis a serem processadas durante o reconhecimento de fala e permite definir diferentes métodos de processamento para cada palavra. Para mais detalhes, consulte Sensitive word filtering.

continue-task

Descrição: Atualiza o contexto da conversa durante a execução da tarefa para melhorar o reconhecimento.

Quando enviar: Envie durante a execução da tarefa sempre que precisar atualizar o contexto da conversa.

ImportanteApenas os modelos qwen-audio-3.0-asr-flash-streaming, fun-asr-realtime e fun-asr-realtime-2025-11-07 suportam este evento.

headerobject(Required)

Properties

actionstring(Required)

O tipo de comando. Defina como continue-task.

task_idstring(Required)

Um ID de tarefa gerado pelo cliente (formato UUID) que deve corresponder ao task_id no evento run-task.

streamingstring(Required)

Defina como duplex.

{
        "header": {
            "action": "continue-task",
            "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
            "streaming": "duplex"
        },
        "payload": {
            "input": {
                "context": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "type": "input_text",
                                "text": "Hello there"
                            }
                        ]
                    },
                    {
                        "role": "assistant",
                        "content": [
                            {
                                "type": "text",
                                "text": "Hello, I am Qwen. How can I help you?"
                            }
                        ]
                    }
                ]
            }
        }
    }

payloadobject(Required)

Properties

inputobject(Required)

O objeto de entrada.

Properties

context _array(object)___ (Optional)

O contexto da conversa, que melhora a precisão do reconhecimento para vocabulário específico de domínio. Para detalhes de uso, consulte Início rápido.

ImportanteLimites: É possível fornecer no máximo 5 mensagens de contexto de cada tipo (input_text e text). Caso esse limite seja excedido, apenas as 5 mensagens mais recentes serão mantidas. O comprimento total do texto por turno (a soma dos comprimentos dos campos text das mensagens de user e assistant) não pode ultrapassar 400 caracteres (contados caractere por caractere, onde cada caractere conta como 1). O texto que exceder esse limite será truncado a partir do final.

ImportanteAo fornecer contexto, as mensagens em context devem seguir uma ordem específica. As mensagens de contexto precisam ser organizadas por turno de conversa e, dentro de cada turno, a mensagem de user (do tipo input_text) deve preceder sua mensagem correspondente de assistant (do tipo text).

Properties

role _string_ __(Required)

A função da mensagem. Valores válidos:

user: Os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio.

assistant: As respostas do modelo de linguagem grande em turnos anteriores.

content _array(object)___(Required)

A lista de conteúdos da mensagem.

Properties

type _string_ __(Required)

O tipo de conteúdo. Valores válidos:

input_text: Os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio (usado quando a função é user). Você também deve fornecer o campo text.

text: As respostas do modelo de linguagem grande em turnos anteriores (usado quando a função é assistant). Você também deve fornecer o campo text.

text _string_ __(Required)

O conteúdo de texto. Quando type for input_text, insira os resultados de reconhecimento de turnos anteriores da fala do usuário ou uma lista de palavras específicas de domínio. Quando type for text, insira as respostas do modelo de linguagem grande em turnos anteriores.

finish-task

Descrição: Notifica o servidor de que todo o áudio foi enviado e solicita o encerramento da tarefa.

Quando enviar: Envie após todos os dados de áudio terem sido transmitidos.

Evento de resposta: O servidor retorna o evento task-finished.

headerobject(Required)

Properties

actionstring(Required)

O tipo de comando. Defina como finish-task.

task_idstring(Required)

Um ID de tarefa gerado pelo cliente (formato UUID) que deve corresponder ao task_id no evento run-task.

streamingstring(Required)

Defina como duplex.

{
        "header": {
            "action": "finish-task",
            "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
            "streaming": "duplex"
        },
        "payload": {
            "input": {}
        }
    }

payloadobject(Required)

Properties

inputobject(Required)

Defina como {}.