Qwen-ASR eventos do servidor
Referência do servidor WebSocket
Eventos que o servidor envia durante uma sessão WebSocket.
Guia do usuário: Para obter uma visão geral dos recursos e do código de exemplo, consulte Reconhecimento de fala em tempo real.
erro
Enviado quando ocorre um erro no cliente ou no servidor.
{
"event_id": "event_B2uoU7VOt1AAITsPRPH9n",
"type": "error",
"error": {
"type": "invalid_request_error",
"code": "invalid_value",
"message": "Invalid value: 'whisper-1xx'. Supported values are: 'whisper-1'.",
"param": "session.input_audio_transcription.model",
"event_id": "event_123"
}
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre error.
Detalhes do erro.
Tipo de erro.
Código de erro.
Mensagem de erro. Para soluções, consulte [Mensagens de erro](/api-reference/preparation/error-messages).
Parâmetro relacionado ao erro.
ID do evento relacionado ao erro.
sessão.criada
Primeiro evento após a conexão. Contém configurações de sessão padrão.
{
"event_id": "event_1234",
"type": "session.created",
"session": {
"id": "sess_001",
"object": "realtime.session",
"model": "qwen3-asr-flash-realtime",
"modalities": ["text"],
"input_audio_format": "pcm16",
"input_audio_transcription": null,
"turn_detection": {
"type": "server_vad",
"threshold": 0.5,
"silence_duration_ms": 200
}
}
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre session.created.
Configuração da sessão.
ID da sessão WebSocket atual.
Sempre `realtime.session`.
Nome do modelo.
Modalidade de saída. Sempre `["text"]`.
Formato de áudio de entrada.
Configurações de reconhecimento de fala. Para obter detalhes, consulte o `input_audio_transcription` parâmetro do [session.update](/api-reference/speech-recognition/qwen-asr-realtime/client-events) evento do cliente.
Configurações de detecção de atividade de voz (VAD).
Sempre `server_vad`.
Limiar de detecção de VAD.
Duração do silêncio em milissegundos antes que uma quebra de frase seja detectada.
sessão.atualizada
Enviado após sua session.update o evento é processado. Se o processamento falhar, um error o evento é enviado em seu lugar.
Para outras descrições de parâmetros, consulte session.created.
{
"event_id": "event_1234",
"type": "session.updated",
"session": {
"id": "sess_001",
"object": "realtime.session",
"model": "qwen3-asr-flash-realtime",
"modalities": ["text"],
"input_audio_format": "pcm16",
"input_audio_transcription": null,
"turn_detection": {
"type": "server_vad",
"threshold": 0.5,
"silence_duration_ms": 200
}
}
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre session.updated.
input_audio_buffer.speech_started
Enviado no modo VAD quando a fala começa no buffer de áudio.
Disparado sempre que o áudio é adicionado ao buffer, a menos que o início da fala já tenha sido detectado.
{
"event_id": "event_B1lV7FPbgTv9qGxPI1tH4",
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 64,
"item_id": "item_B1lV7jWLscp4mMV8hSs8c"
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre input_audio_buffer.speech_started.
Milissegundos desde o início do buffer até a detecção de fala.
ID do item de mensagem do usuário a ser criado.
input_audio_buffer.speech_stopped
Enviado no modo VAD quando a fala termina no buffer de áudio. Imediatamente seguido por um conversation.item.created evento com o item de mensagem do usuário.
{
"event_id": "event_B3GGEYh2orwNIdhUagZPz",
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 28128,
"item_id": "item_B3GGE8ry4yqbqJGzrVhEM"
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre input_audio_buffer.speech_stopped.
Milissegundos desde o início da sessão até o momento em que a fala é interrompida.
ID do item de mensagem do usuário criado quando a fala é interrompida.
entrada_audio_buffer.comprometido
Enviado quando o buffer de áudio de entrada é confirmado.
-
Modo VAD: Enviado após terminar de enviar o áudio com input_audio_buffer.append.
-
Modo manual: Enviado após terminar de enviar o áudio com input_audio_buffer.append e depois envie input_audio_buffer.commit.
{
"event_id": "event_1121",
"type": "input_audio_buffer.committed",
"previous_item_id": "msg_001",
"item_id": "msg_002"
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre input_audio_buffer.committed.
ID do item de conversa anterior.
ID do item de conversa do usuário a ser criado.
conversa.item.criado
Enviado quando um item de conversa é criado.
{
"type": "conversation.item.created",
"event_id": "event_B3GGKbCfBZTpqFHZ0P8vg",
"previous_item_id": "item_B3GGE8ry4yqbqJGzrVhEM",
"item": {
"id": "item_B3GGEPlolCqdMiVbYIf5L",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "user",
"content": [
{
"type": "input_audio",
"transcript": null
}
]
}
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre conversation.item.created.
ID do item de conversa anterior.
O item de conversa.
ID exclusivo do item de conversa.
Sempre `realtime.item`.
Sempre `message`.
Status do item de conversa.
Função do remetente da mensagem.
Conteúdo da mensagem.
Sempre `input_audio`.
Sempre `null`. O resultado final está em [conversation.item.input\_audio\_transcription.completed](#conversation-item-input-audio-transcription-completed) evento.
conversa.item.input_audio_transcription.text
Enviado frequentemente com resultados de reconhecimento em tempo real.
{
"event_id": "event_R7Pfu8QVBfP5HmpcbEFSd",
"type": "conversation.item.input_audio_transcription.text",
"item_id": "item_MpJQPNQzqVRc9aC9zMwSj",
"content_index": 0,
"language": "en",
"emotion": "neutral",
"text": "",
"stash": "Beijing's"
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre conversation.item.input_audio_transcription.text.
ID do item de conversa associado.
Índice da parte do conteúdo que contém o áudio.
Idioma detectado. Se você definir o language parâmetro de solicitação, esse valor corresponde a essa configuração. Valores possíveis:
zh: Chinês (mandarim, sichuanês, minnan e wu)yue: cantonêsen: Inglêsja: Japonêsde: Alemãoko: Coreanoru: Russofr: francêspt: Portuguêsar: Árabeit: Italianoes: Espanholhi: Hindiid: Indonésioth: Tailandêstr: Turcouk: Ucranianovi: vietnamita
Emoção detectada. Valores suportados: surprised, neutral, happy, sad, disgusted, angry, fearful.
Prefixo de texto confirmado. O modelo finalizou esta parte e não irá alterá-la.
Sufixo de texto pré-reconhecido. Um rascunho temporário que segue a parte confirmada. O modelo ainda pode corrigi-lo.
Para obter a visualização mais completa, concatene os dois campos: text + stash.
Suponha que um usuário diga: “O tempo está bom hoje, ensolarado e claro”. Esta tabela mostra os eventos que você pode receber:
| Carimbo de data/hora | Progresso da fala do usuário | Resposta da API (text e stash) |
Exibição da IU (text + stash) |
|---|---|---|---|
| T1 | "O..." | text: "" / stash: "The" |
O |
| T2 | "...o tempo está..." | text: "" / stash: "The weather is" |
O tempo está |
| T3 | "...bom hoje" | text: "The" / stash: "weather is nice today" |
O tempo está bom hoje |
| T4 | (Breve pausa) | text: "The weather is nice today," / stash: "" |
O tempo está bom hoje, |
| T5 | "...ensolarado e..." | text: "The weather is nice today," / stash: "sunny and" |
O tempo está bom hoje, ensolarado e |
| T6 | "...brilhante." | text: "The weather is nice today," / stash: "sunny and bright." |
O tempo está bom hoje, ensolarado e claro. |
| T7 | (O usuário para de falar) | - | Usar transcript do conversation.item.input_audio_transcription.completed evento como resultado final. |
conversa.item.input_audio_transcription.completed
Envia o resultado final do reconhecimento e marca o fim de um item de conversa.
{
"event_id": "event_B3GGEjPT2sLzjBM74W6kB",
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "item_B3GGC53jGOuIFcjZkmEQ9",
"content_index": 0,
"language": "en",
"emotion": "neutral",
"transcript": "What's the weather like today?"
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre conversation.item.input_audio_transcription.completed.
ID do item de conversa associado.
Índice da parte do conteúdo que contém o áudio.
Idioma detectado. Se você definir o language parâmetro de solicitação, esse valor corresponde a essa configuração. Valores possíveis:
zh: Chinês (mandarim, sichuanês, minnan e wu)yue: cantonêsen: Inglêsja: Japonêsde: Alemãoko: Coreanoru: Russofr: francêspt: Portuguêsar: Árabeit: Italianoes: Espanholhi: Hindiid: Indonésioth: Tailandêstr: Turcouk: Ucranianovi: vietnamita
Emoção detectada. Valores suportados: surprised, neutral, happy, sad, disgusted, angry, fearful.
Resultado da transcrição.
conversa.item.input_audio_transcription.failed
Enviado se o reconhecimento falhar para o áudio de entrada, separado de outros error eventos para que você possa identificar qual item falhou.
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Tipo de evento. Sempre conversation.item.input_audio_transcription.failed.
ID do item de conversa associado.
Índice da parte do conteúdo que contém o áudio.
Detalhes do erro.
Código de erro.
Mensagem de erro.
Parâmetro relacionado ao erro.
sessão.terminada
Confirma que todo o reconhecimento está completo. Enviado depois de enviar session.finish. Você pode se desconectar após receber este evento.
{
"event_id": "event_2239",
"type": "session.finished"
}
Identificador exclusivo para este evento.
Tipo de evento. Sempre session.finished.