Skip to main content
Reconhecimento de fala não em tempo real (Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash)

Reconhecimento de fala não em tempo real (Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash) HTTP API

Este tópico descreve os parâmetros e os detalhes da interface da API HTTP de reconhecimento de fala não em tempo real Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash.

Guia do usuário: Non-real-time speech recognition. Para requisitos de entrada, como formatos de áudio suportados, limites de tamanho de arquivo e limites de duração, consulte Audio specifications.

Endpoints do service

  • Singapore
  • China (Beijing)
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generationSubstitua {WorkspaceId} pelo seu Workspace ID real.
O Alibaba Cloud Model Studio lançou domínios específicos para workspaces nas regiões China (Beijing) e Singapore. Os novos domínios dedicados oferecem desempenho superior e maior estabilidade para solicitações de inferência. Recomendamos a migração para os novos domínios:
  • China (Beijing): de dashscope.aliyuncs.com para {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapore: de dashscope-intl.aliyuncs.com para {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
Substitua {WorkspaceId} pelo seu Workspace ID real. Os domínios existentes permanecem totalmente funcionais.

Cabeçalhos da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Authorization

string

Sim

O token de autenticação, no formato Bearer <your_api_key>. Substitua "<your_api_key>" pela sua chave de API real.

Content-Type

string

Sim

O tipo de mídia do corpo da solicitação. Fixo como application/json.

X-DashScope-SSE

string

Sim

Controla se os resultados são retornados como um fluxo SSE. Defina como enable para ativar o fluxo SSE. O servidor retorna resultados intermediários e finais de reconhecimento em múltiplas mensagens apenas para áudios com pelo menos 1 minuto de duração. Defina como disable ou omita o parâmetro para retornar apenas o resultado final.

Corpo da solicitação

Os exemplos a seguir usam a configuração para a região Singapore. Substitua "{WorkspaceId}" pelo ID do seu workspace real. A configuração varia entre as regiões, e a chave de API para a região Singapore difere daquela para a região Beijing.
  • Sem fluxo
  • Com fluxo
  • Com contexto - sem fluxo
  • Com contexto - com fluxo
  • Base64
  • Palavras-chave inline
curl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
     --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
     --header "Content-Type: application/json" \
     --header "X-DashScope-SSE: disable" \
     --data '{
    "model": "qwen-audio-3.0-asr-flash",
    "input": {
        "messages": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_audio",
                        "input_audio": {
                            "data": "{YOUR_AUDIO_URL}"
                        }
                    }
                ]
            }
        ]
    },
    "parameters": {
        "format": "wav",
        "sample_rate": "16000"
    }
}'
modelstring(Obrigatório)O nome do modelo. As séries de modelos Qwen-Audio-3.0-ASR-Flash e Fun-ASR-Flash são suportadas. Para mais detalhes, consulte Supported models and regions.
inputobject(Obrigatório)As informações de entrada.

Propriedades

messagesarray(object)(Obrigatório)A lista de mensagens. Contém o áudio a ser reconhecido e, opcionalmente, o contexto de conversação que melhora a precisão do reconhecimento.
O recurso de contexto melhora a precisão do reconhecimento de termos específicos de domínio. Para uso, consulte Context enhancement.Restrições: Uma solicitação pode incluir no máximo 5 mensagens de contexto de cada tipo (input_text e text). Se você exceder esse limite, apenas as 5 mensagens mais recentes serão mantidas. O texto total de contexto por turno (o comprimento combinado dos campos text nas mensagens user e assistant) não pode exceder 400 caracteres, onde cada caractere conta como 1. Qualquer excesso é truncado a partir do final.
Ao incluir contexto, a ordem das mensagens em messages é importante: as mensagens de contexto devem ser organizadas por turno de conversação. Dentro de cada turno, a mensagem user (do tipo input_text) deve vir antes da mensagem assistant correspondente (do tipo text). A mensagem user que contém input_audio deve ser o último item no array messages.

Propriedades

rolestring(Obrigatório)A função da mensagem. Valores válidos:
  • user (Obrigatório): Uma mensagem do usuário. Quando o tipo é input_audio, contém o áudio a ser reconhecido. Quando o tipo é input_text, contém resultados de reconhecimento de turnos anteriores ou uma lista de palavras específicas de domínio (opcional, usada como contexto).
  • assistant (Opcional, contexto): Respostas do modelo de linguagem grande em turnos anteriores.
contentarray(object)(Obrigatório)A lista de conteúdo da mensagem.

Propriedades

typestring(Obrigatório)O tipo de conteúdo. Cada solicitação precisa de pelo menos uma mensagem do tipo input_audio. Valores válidos:
  • input_audio (Obrigatório): A entrada de áudio a ser reconhecida (a função é user). Você também deve passar o objeto input_audio.
  • input_text (Opcional, contexto): Resultados de reconhecimento da fala do usuário de turnos anteriores ou uma lista de palavras específicas de domínio (a função é user). Você também deve passar o campo text.
  • text (Opcional, contexto): Respostas do modelo de linguagem grande em turnos anteriores (a função é assistant). Você também deve passar o campo text.
input_audioobject(Condicionalmente obrigatório)Obrigatório quando type é input_audio.

Propriedades

datastring(Obrigatório)Os dados de áudio a serem reconhecidos. Para requisitos de entrada, como formatos de áudio suportados, limites de tamanho de arquivo e limites de duração, consulte Audio specifications. Dois métodos são suportados:
  • URL do arquivo de áudio: Passe uma URL publicamente acessível para o arquivo de áudio.
  • Data URI em Base64: Passe os dados de áudio codificados em Base64 como um Data URI. O valor é o prefixo data:{MIME_TYPE};base64, concatenado com os dados de áudio codificados em Base64. Os tipos MIME suportados incluem audio/wav e audio/mp3.
Exemplo (URL): https://example.com/audio/sample.wavExemplo (Base64): data:audio/wav;base64,{BASE64_ENCODED_DATA}
textstring(Condicionalmente obrigatório)Quando type é input_text, insira os resultados de reconhecimento da fala do usuário de turnos anteriores ou uma lista de palavras específicas de domínio. Quando type é text, insira as respostas do modelo de linguagem grande de turnos anteriores. O comprimento do texto é medido em caracteres, onde cada caractere conta como 1. O comprimento combinado dos campos text em todas as mensagens em um único turno de contexto não pode exceder 400 caracteres. Qualquer excesso é truncado a partir do final.
parametersobject(Obrigatório)Os parâmetros do modelo.
O Refinamento de Texto está desativado por padrão e ainda não está disponível.Refinamento de Texto: Durante a transcrição da fala, o modelo remove automaticamente palavras de preenchimento sem sentido e repetições gaguejadas, lida com autocorreções feitas durante a fala, suaviza expressões coloquiais e padroniza a pontuação e a formatação do texto. Isso resulta em uma saída mais concisa, fluente e legível, preservando ao máximo a intenção original do usuário e as informações principais.

Propriedades

formatstring(Obrigatório)O formato do áudio. Defina este valor para corresponder ao seu formato de áudio real. Os valores suportados incluem wav, mp3 e opus. Para mais detalhes, consulte Audio specifications.sample_ratestring(Opcional)A taxa de amostragem do áudio, em Hz. Por exemplo, 16000 significa uma taxa de amostragem de 16 kHz. Para mais detalhes, consulte Audio specifications.vocabulary_idstring(Opcional)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 você precisa reutilizar a mesma lista de palavras entre solicitações.Para detalhes de uso, consulte Precompiled hotwords.vocabularyobject(Opcional)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] torna o modelo mais propenso a gerar a palavra à medida que o valor aumenta; um valor de 50 designa uma super palavra-chave, o que melhora muito a recuperação, mas o número de super palavras-chave não pode exceder 50.Adequado 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 têm efeito. Para detalhes de uso, consulte Instant hotwords.
Apenas qwen-audio-3.0-asr-flash suporta palavras-chave inline.
language_hints array[string](Opcional)Os códigos de idioma a serem reconhecidos. Se não for possível determinar o idioma antecipadamente, deixe este campo indefinido e o modelo detectará o idioma automaticamente.Para modelos da série Qwen-Audio-3.0-ASR-Flash, você pode definir até 4 valores; se definir mais de 4, apenas os primeiros 4 terão efeito. Para modelos da série Fun-ASR-Flash, você pode definir apenas 1 valor; se definir mais de um, apenas o primeiro terá efeito.
  • qwen-audio-3.0-asr-flash, fun-asr-flash-2026-06-15:
    • 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

Corpo da resposta

  • Sem fluxo
  • Com fluxo
{
    "output": {
        "sentence": {
            "begin_time": 760,
            "channel_id": 0,
            "end_time": 3800,
            "sentence_end": true,
            "sentence_id": 1,
            "text": "Hello World, this is Alibaba Speech Lab.",
            "words": [
                {"begin_time": 760, "end_time": 1040, "fixed": true, "punctuation": "", "text": "Hello"},
                {"begin_time": 1040, "end_time": 1240, "fixed": true, "punctuation": ",", "text": " World"},
                {"begin_time": 1360, "end_time": 1880, "fixed": true, "punctuation": "", "text": "this is"},
                {"begin_time": 1880, "end_time": 2520, "fixed": true, "punctuation": "", "text": "Alibaba"},
                {"begin_time": 2520, "end_time": 2840, "fixed": true, "punctuation": "", "text": "Speech"},
                {"begin_time": 2840, "end_time": 3800, "fixed": true, "punctuation": ".", "text": "Lab"}
            ]
        },
        "text": "Hello World, this is Alibaba Speech Lab."
    },
    "usage": {
        "duration": 4
    },
    "request_id": "40e0734d-096f-9ae3-86c1-a8c013287561"
}
request_idstringO identificador exclusivo desta solicitação.
outputobjectO resultado de saída.

Propriedades

textstringO texto completo reconhecido acumulado até o momento.sentenceobjectOs detalhes da frase atual.

Propriedades

sentence_idintegerO número da frase, começando em 1.sentence_endbooleanIndica se este é o resultado final para a frase. true indica que o reconhecimento da frase foi concluído.begin_timeintegerO horário de início da frase, em milissegundos.end_timeintegerO horário de término da frase, em milissegundos. Retornado apenas quando sentence_end é true.textstringO texto reconhecido da frase atual.channel_idintegerO número do canal, começando em 0.wordsarrayA lista de carimbos de data/hora no nível de palavra.
textstringO texto da palavra.begin_timeintegerO horário de início da palavra, em milissegundos.end_timeintegerO horário de término da palavra, em milissegundos.punctuationstringO sinal de pontuação após a palavra. Uma string vazia quando não há pontuação.fixedbooleanIndica se a palavra está estabilizada. false indica que o carimbo de data/hora da palavra pode ser ajustado em eventos subsequentes.
usageobjectAs informações de uso. Retornadas apenas quando sentence_end é true.
durationintegerA duração do áudio processado, em segundos.

Lógica de processamento de resultados de fluxo SSE

No modo de fluxo, o cliente precisa lidar com o seguinte:
  1. Para cada evento SSE recebido, analise o JSON no campo data.
  2. Use output.sentence.sentence_end para determinar se a frase atual terminou. Quando este valor é true, o reconhecimento da frase está completo, os carimbos de data/hora no nível de palavra estão estabilizados e o resultado pode ser usado como final. Quando este valor é false, o reconhecimento ainda está em andamento, e o texto e os carimbos de data/hora podem ser atualizados em eventos subsequentes.
  3. As informações de usage são retornadas apenas no evento de fim de frase, e você pode usá-las para medir a duração do áudio processado.
Referência da API de Geração de Texto
Geração de Imagens
  • FAQ
Geração de Vídeo
Áudio
    • Referência da API de reconhecimento de fala não em tempo real (Qwen-ASR)
API em tempo real
Incorporação de Texto
Produção de Modelos
Reconhecimento de fala não em tempo real (Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash) HTTP API - Alibaba Cloud Model Studio