Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Eventos del cliente

Última actualización: Oct 12, 2026

Eventos del cliente para la API Qwen-Omni-Realtime.

session.update

Después de establecer una conexión WebSocket, envíe este evento primero para actualizar las configuraciones predeterminadas de la sesión. El servidor valida los parámetros al recibir el evento session.update. Si los parámetros no son válidos, el servidor devuelve un error. Si son válidos, el servidor aplica la configuración y devuelve la configuración actualizada.

typestring(obligatorio)

El tipo de evento. El valor debe ser session.update.

{
    "event_id": "event_ToPZqeobitzUJnt3QqtWg",
    "type": "session.update",
    "session": {
        "modalities": [
            "text",
            "audio"
        ],
        "voice": "Chelsie",
        "input_audio_format": "pcm",
        "output_audio_format": "pcm",
        "instructions": "You are an AI customer service specialist for a five-star hotel. Accurately and friendly answer customer inquiries about room types, facilities, prices, and booking policies. Always respond with a professional and helpful attitude. Do not provide unverified information or information outside the scope of hotel services.",
        "turn_detection": {
            "type": "server_vad",
            "threshold": 0.5,
            "silence_duration_ms": 800
        },
        "enable_search": false,
        "tools": [
            {
                "type": "function",
                "function": {
                    "name": "get_current_weather",
                    "description": "Useful for querying the weather in a specific city.",
                    "parameters": {
                        "type": "object",
                        "properties": {
                            "location": {
                                "type": "string",
                                "description": "The city or district, such as Beijing, Hangzhou, or Yuhang District."
                            }
                        },
                        "required": ["location"]
                    }
                }
            }
        ],
        "seed": 1314,
        "max_tokens": 16384,
        "repetition_penalty": 1.05,
        "presence_penalty": 0.0,
        "top_k": 50,
        "top_p": 1.0,
        "temperature": 0.9
    }
}

sessionobject(opcional)

La configuración de la sesión.

Para Qwen3.8-Omni-Flash-Realtime, session es obligatorio al actualizar una sesión. El límite total de tokens de entrada es 196608, calculado con las mismas reglas que Qwen3.5-Omni-Realtime.

Propiedades

modalitiesarray(opcional)

Las modalidades de salida del modelo. Valores válidos:

  • ["text"]

    Solo texto.

  • ["text","audio"] (predeterminado)

    Texto y audio.

voicestring(opcional)

La voz para la salida de audio del modelo. Para ver las voces admitidas, consulte Lista de voces.

Voces predeterminadas:

  • Qwen3.8-Omni-Flash-Realtime: Tina
  • Modelo de la serie Qwen3.5-Omni-Realtime: Tina
  • qwen3-omni-flash-realtime-2025-09-15: Cherry

audioobject (opcional)

Configuración de audio de entrada y salida. Los campos omitidos conservan sus valores predeterminados existentes.

Propiedades

inputobject (opcional)

Configuración de audio de entrada del usuario.

Propiedades

formatobject (opcional)

Formato de entrada y frecuencia de muestreo. Configure estos parámetros mientras la sesión esté en estado IDLE, antes de enviar el primer segmento de audio. No se pueden cambiar después de que comience la entrada de audio.

Propiedades

typestring (opcional)

Para qwen3.5-omni-plus-realtime y qwen3.5-omni-flash-realtime: pcm (predeterminado, PCM sin procesar mono de 16 bits) o wav (PCM mono de 16 bits en un contenedor WAV). La entrada multicanal para Qwen3.8-Omni-Flash-Realtime requiere pcm, que es el valor predeterminado.

sample_rateinteger (opcional)

Para qwen3.5-omni-plus-realtime y qwen3.5-omni-flash-realtime: 8000, 16000 (predeterminado), 24000 o 48000 Hz. La entrada multicanal para Qwen3.8-Omni-Flash-Realtime requiere 16000 Hz, que es el valor predeterminado.

Los siguientes cuatro campos aplican a la entrada multicanal de Qwen3.8-Omni-Flash-Realtime a través de WebSocket:

sample_formatstring (opcional)

Formato de muestreo PCM. Solo se admite s16le; valor predeterminado: s16le.

channelsinteger (opcional)

Número de canales de entrada: 1 (predeterminado), 2 o 4. El audio espacial de dos y cuatro canales utiliza el doble de tokens de entrada que el audio ordinario. Consulte Cálculo de tokens.

packingstring (opcional)

Empaquetado de muestras. Solo se admite interleaved; valor predeterminado: interleaved.

channel_layoutstring (opcional)

El valor predeterminado depende de channels: mono para un canal, raw_mic_array para dos y foa_ambix para cuatro. Un valor explícito debe coincidir con channels.

La entrada multicanal requiere PCM, 16000 Hz, s16le y muestras intercaladas. Los campos omitidos utilizan sus valores predeterminados; los campos proporcionados deben tener tipos y valores válidos. No envíe null en lugar de omitir un campo.

outputobject (opcional)

Configuración de audio de salida del modelo.

Propiedades

formatobject (opcional)

Formato de salida y frecuencia de muestreo. Configure estos parámetros al inicio de la sesión, antes de que comience la interacción de audio.

Propiedades

typestring (opcional)

Para qwen3.5-omni-plus-realtime y qwen3.5-omni-flash-realtime: pcm (predeterminado, PCM sin procesar mono de 16 bits) o wav (PCM mono de 16 bits en un contenedor WAV).

sample_rateinteger (opcional)

Para qwen3.5-omni-plus-realtime y qwen3.5-omni-flash-realtime: 8000, 16000, 24000 (predeterminado) o 48000 Hz.

voicestring (opcional)

Para Qwen3.8-Omni-Flash-Realtime, la voz de salida predeterminada es Tina. Consulte la lista de voces para ver las voces disponibles y sus valores de voice. session.voice sigue disponible para integraciones existentes. Para nuevas integraciones, utilice session.audio.output.voice. Si ambos campos están configurados, la salida de audio utiliza la voz especificada por session.audio.output.voice.

input_audio_transcriptionobject | null (opcional)

Configuración de transcripción de audio de entrada. Establezca en null para deshabilitarla.

Propiedades

modelstring (obligatorio)

El valor está fijado en qwen3-asr-flash-realtime. Establezca {"model":"qwen3-asr-flash-realtime"} para habilitar la transcripción; el valor del modelo no se puede cambiar. El parámetro enable_input_audio_transcription del SDK de Python es un argumento de método de update_session, no un campo de nivel superior de session.update.

input_audio_formatstring(opcional)

El formato del audio de entrada del usuario. Actualmente solo admite pcm. El audio de entrada debe ser una transmisión de audio PCM con una frecuencia de muestreo de 16 kHz.

output_audio_formatstring(opcional)

El formato del audio de salida del modelo. Actualmente solo admite pcm. El audio de salida es una transmisión de audio PCM con una frecuencia de muestreo de 24 kHz.

smooth_outputboolean | null(opcional)

Aplica solo a qwen3-omni-flash-realtime-2025-09-15.

Indica si se debe habilitar un estilo de respuesta coloquial. Valores válidos:

  • true (predeterminado): Respuestas coloquiales.

  • false: Respuestas formales y escritas.

    El contenido difícil de leer en voz alta podría no tener un buen desempeño.

  • null: El modelo selecciona automáticamente entre estilo coloquial y formal.

instructionsstring(opcional)

El mensaje del sistema que establece el rol u objetivo del modelo.

turn_detectionobject(opcional)

La configuración de Detección de Actividad de Voz (VAD). Establezca en null para deshabilitar VAD y activar las respuestas del modelo manualmente. Si se omite, VAD se habilita con los parámetros predeterminados.

Propiedades

typestring(opcional)

El tipo de VAD. Valores válidos:

  • server_vad (predeterminado): Detecta el final del habla basándose en características acústicas.
  • semantic_vad: Detecta el final del habla basándose en la validez semántica, filtrando retroalimentaciones y ruido de fondo. Admitido por Qwen3.8-Omni-Flash-Realtime y la serie Qwen3.5-Omni-Realtime.

thresholdfloat(opcional)

La sensibilidad de VAD. Un valor más bajo hace que VAD sea más sensible, con mayor probabilidad de detectar sonidos débiles como habla, incluido el ruido de fondo. Un valor más alto requiere un habla más clara y fuerte para activarse.

Rango válido: [-1.0, 1.0]. Predeterminado: 0.5.

silence_duration_msinteger(opcional)

La duración mínima de silencio después de que termina el habla, en milisegundos. Cuando se supera, el modelo genera una respuesta. Un valor más bajo acelera las respuestas pero puede causar activaciones false durante pausas breves.

Predeterminado: 800. Rango válido: [200, 6000].

idle_timeout_msinteger(opcional)

Aplica solo a los modelos qwen3.5-omni-plus-realtime y qwen3.5-omni-flash-realtime en modo server_vad.

El tiempo de espera de inactividad en milisegundos. Después de que el servidor finaliza la reproducción de audio y el usuario permanece en silencio más allá de esta duración (sin que se active speech.started), el modelo genera proactivamente una respuesta para invitar al usuario a continuar la conversación basándose en el contexto actual. El tiempo de espera comienza después de que termina la reproducción del último audio de respuesta del modelo.

Rango válido: [5000, 30000].

enable_searchboolean(opcional)

Aplica a los modelos Qwen3.8-Omni-Flash-Realtime y Qwen3.5-Omni-Realtime.

Indica si se debe habilitar la búsqueda web. Valor predeterminado: false. Cuando está habilitado, el modelo decide autónomamente si buscar para responder preguntas en tiempo real.

tools y enable_search son incompatibles. No habilite ambos al mismo tiempo.

search_optionsobject(opcional)

Configuración de búsqueda web. Solo tiene efecto cuando enable_search está habilitado.

Propiedades

enable_sourceboolean(opcional)

Indica si se debe devolver la lista de fuentes de resultados de búsqueda. Establezca en true para habilitarlo.

videoobject (opcional)

Configuración de entrada de video para Qwen3.8-Omni-Flash-Realtime.

Propiedades

inputobject (opcional)

Parámetros de entrada de video.

Propiedades

representation_compactstring (opcional)

Agregación de representación de video. El valor predeterminado inicial de la sesión es none, que conserva la entrada detallada completa. normal la agrega para reducir la computación cuando el detalle visual fino no es necesario; para la misma entrada de video, utiliza una cuarta parte de los tokens usados por none. Consulte Cálculo de tokens. Configure esto antes del primer segmento de audio; no se puede cambiar después de que comience la entrada de audio.

toolsarray(opcional)

Una lista de definiciones de herramientas. El modelo decide si llamar a una herramienta basándose en la entrada del usuario. Para Qwen3.8-Omni-Flash-Realtime, las herramientas de Function Calling y MCP se pueden configurar en la misma sesión. Los elementos del array se distinguen por type; tools y enable_search no pueden estar habilitados simultáneamente.

Function Calling (type=function)

typestring (obligatorio)

Debe ser function.

functionobject (obligatorio)

La definición de función personalizada.

Propiedades

namestring (obligatorio)

El nombre de la función, que debe coincidir con el nombre real de la función, como get_current_weather o get_current_time.

descriptionstring (opcional)

Una descripción de lo que hace la función. El modelo la utiliza para decidir si llamar a la herramienta.

parametersobject (opcional)

Los parámetros de entrada de la función. El modelo utiliza esto para extraer los valores de los parámetros. Omita este campo si la función no tiene entrada.

Propiedades

typestring (obligatorio)

Debe ser object.

propertiesobject (opcional)

Define cada parámetro de entrada por nombre. En el ejemplo de la derecha, location es un nombre de parámetro personalizado; su type y description describen el tipo de datos y el propósito.

requiredarray (opcional)

Enumera qué parámetros son obligatorios.

MCP (type=mcp)

Los campos obligatorios deben proporcionarse cuando este elemento del array MCP está presente. Cada adición o actualización requiere tanto server_label como server_url; una etiqueta por sí sola no puede reutilizar una configuración existente. Actualice la configuración MCP solo cuando no haya ninguna Respuesta activa. Las conexiones, el descubrimiento y las llamadas están sujetos a cuotas y tiempos de espera. Consulte Límites de llamadas MCP.

typestring (obligatorio)

Debe ser mcp.

server_labelstring (obligatorio)

Etiqueta única del servidor MCP dentro de la sesión. Longitud: 1–64 caracteres; solo letras, dígitos, guiones bajos y guiones.

server_urlstring (obligatorio)

Endpoint HTTP Streamable de MCP. Debe ser una dirección HTTPS pública en el puerto 443, de hasta 4096 caracteres, sin nombre de usuario, contraseña ni fragmento. Su dominio debe resolverse a direcciones públicas.

authorizationstring (opcional)

Valor de autorización saliente, de hasta 8192 caracteres ASCII imprimibles.

headersobject (opcional)

Encabezados HTTP salientes adicionales, hasta 16 pares de cadena a cadena. Los nombres deben tener entre 1 y 128 caracteres y utilizar los caracteres estándar para nombres de encabezado HTTP. Los valores deben ser ASCII imprimible y tener como máximo 8192 caracteres.

Los nombres no pueden comenzar con mcp-, proxy- o x-forwarded-, ni ser iguales a host, authorization, connection, content-length, transfer-encoding, accept, content-type, forwarded, cookie, origin, upgrade, te o trailer.

allowed_toolsarray of strings (opcional)

Filtro aplicado después del descubrimiento. La omisión permite todas las herramientas; una matriz vacía no expone none. Cada nombre tiene de 1 a 64 caracteres, solo con letras, dígitos, guiones bajos, puntos y guiones.

require_approvalstring (opcional)

Política de aprobación: always (predeterminado) o never.

server_url, authorization y headers se utilizan solo para la conexión del lado del servidor y no se reflejan en session.updated. No reconstruya configuraciones sensibles a partir de ese evento.

temperaturefloat(opcional)

La temperatura de muestreo, que controla la diversidad de la salida. Un valor más alto produce contenido más variado; un valor más bajo produce una salida más determinista.

Rango válido: [0, 2).

Dado que temperature y top_p controlan la diversidad, configure solo uno.

Valores predeterminados:

  • qwen3.8-omni-flash-realtime: 0.6
  • Modelo de la serie Qwen3.5-Omni-Realtime: 0.7
  • qwen3-omni-flash-realtime-2025-09-15: 0.9

top_pfloat(opcional)

El umbral de probabilidad de muestreo de núcleo, que controla la diversidad de la salida. Un valor más alto produce contenido más variado; un valor más bajo produce una salida más determinista.

Rango válido: (0, 1.0].

Dado que temperature y top_p controlan la diversidad, configure solo uno.

Valores predeterminados:

  • qwen3.8-omni-flash-realtime: 0.95
  • Modelo de la serie Qwen3.5-Omni-Realtime: 0.8
  • qwen3-omni-flash-realtime-2025-09-15: 1.0

top_kinteger(opcional)

El tamaño del conjunto de candidatos para el muestreo. Por ejemplo, un valor de 50 limita cada paso de generación a los 50 tokens con mayor puntuación. Un valor mayor aumenta la aleatoriedad; un valor menor aumenta el determinismo. Establézcalo en null o en un valor superior a 100 para deshabilitar top_k, en cuyo caso solo se aplica top_p.

Valor mínimo: 0.

Valores predeterminados:

  • qwen3.8-omni-flash-realtime: 20
  • Modelo de la serie Qwen3.5-Omni-Realtime: 20
  • qwen3-omni-flash-realtime-2025-09-15: 50

max_tokensinteger(opcional)

El número máximo de tokens a devolver.

La configuración de max_tokens no afecta el proceso de generación del modelo. Si la salida generada excede max_tokens, la respuesta se trunca.

Para qwen3.8-omni-flash-realtime, el rango válido es [1, 65536]. Para otros modelos, los valores predeterminado y máximo equivalen a la longitud máxima de salida del modelo. Consulte Lista de modelos.

Utilice max_tokens para limitar la longitud de salida en tareas como resúmenes, extracción de palabras clave, control de costos o reducción de latencia.

repetition_penaltyfloat(opcional)

Controla la repetición en la salida del modelo. Un valor más alto reduce la repetición; 1.0 significa sin penalización. qwen3.8-omni-flash-realtime también acepta 0. Para otros modelos, el valor debe ser mayor que 0.

Valores predeterminados:

  • qwen3.8-omni-flash-realtime: 0
  • Modelo de la serie Qwen3.5-Omni-Realtime: 1.0
  • qwen3-omni-flash-realtime-2025-09-15: 1.05

presence_penalty float(opcional)

Controla la repetición de contenido en la salida del modelo.

Rango válido: [-2.0, 2.0]. Un valor positivo reduce la repetición; un valor negativo la aumenta.

Valores predeterminados:

  • qwen3.8-omni-flash-realtime: 1
  • Modelo de la serie Qwen3.5-Omni-Realtime: 1.5
  • qwen3-omni-flash-realtime-2025-09-15: 0.0

Cuándo usar:

Los valores más altos son adecuados para tareas creativas como narración de historias o lluvia de ideas, donde importan la diversidad y el interés de la salida.

Los valores más bajos son adecuados para contenido técnico o formal donde se requieren consistencia y terminología precisa.

seedinteger(opcional)

Hace que la generación sea más determinista. Pase el mismo valor de semilla con parámetros sin cambios para obtener resultados consistentes en distintas ejecuciones.

Rango válido: 0 a 231−1. Valor predeterminado: -1.

Ejemplo de configuración de herramientas

Reemplace el endpoint, la credencial y el nombre de la herramienta con los detalles de su servidor MCP.

{
  "type": "session.update",
  "session": {
    "tools": [
      {
        "type": "mcp",
        "server_label": "amap",
        "server_url": "https://example.com/mcp",
        "authorization": "Bearer ***",
        "allowed_tools": ["maps_weather"],
        "require_approval": "always"
      }
    ]
  }
}

Ejemplos de configuración de audio

Configuración de dos canales:

{
  "type": "session.update",
  "session": {
    "audio": {
      "input": {
        "format": {
          "type": "pcm",
          "sample_rate": 16000,
          "sample_format": "s16le",
          "channels": 2,
          "packing": "interleaved",
          "channel_layout": "raw_mic_array"
        }
      }
    }
  }
}

Configuración de cuatro canales:

{
  "type": "session.update",
  "session": {
    "audio": {
      "input": {
        "format": {
          "type": "pcm",
          "sample_rate": 16000,
          "sample_format": "s16le",
          "channels": 4,
          "packing": "interleaved",
          "channel_layout": "foa_ambix"
        }
      }
    }
  }
}

Configuración compatible de un solo canal:

{
  "type": "session.update",
  "session": {
    "audio": {
      "input": {
        "format": {
          "type": "pcm",
          "sample_rate": 16000
        }
      }
    }
  }
}

Ejemplo de session.audio.output.voice (utiliza la voz Long An Ling Xin, cuyo valor de voice es longanlingxin):

{
  "type": "session.update",
  "session": {
    "audio": {
      "output": {
        "voice": "longanlingxin"
      }
    }
  }
}

Ejemplo de configuración de video

Ejemplo de agregación de video:

{
  "type": "session.update",
  "session": {
    "video": {
      "input": {
        "representation_compact": "normal"
      }
    }
  }
}

response.create

El evento response.create indica al servidor que genere una respuesta del modelo. En modo VAD, el servidor normalmente inicia las respuestas a partir de la actividad de voz; las continuaciones de herramientas siguen el flujo explícito a continuación. Para Function Calling, envíe este evento después de devolver el resultado de la herramienta mediante conversation.item.create para continuar la generación. Para las herramientas MCP de Qwen3.8-Omni-Flash-Realtime, el servidor ejecuta la llamada; si se necesita una continuación del modelo, envíe un response.create después de response.done para la Respuesta que contiene esta llamada MCP, sin adjuntar resultados MCP.

El servidor responde con un evento response.created, seguido de uno o más eventos de elemento y contenido —como conversation.item.created y response.content_part.added— y finalmente un evento response.done.

typestring(obligatorio)

El tipo de evento. El valor debe ser response.create.

{
    "type": "response.create",
    "event_id": "event_1718624400000"
}

response.cancel

Envíe este evento para cancelar una respuesta en curso. Si no hay ninguna respuesta en progreso, el servidor devuelve un error.

typestring(obligatorio)

El tipo de evento. El valor debe ser response.cancel.

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "response.cancel"
}

input_audio_buffer.append

Agrega bytes de audio al búfer de audio de entrada.

typestring(obligatorio)

El tipo de evento. El valor debe ser input_audio_buffer.append.

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "input_audio_buffer.append",
    "audio": "UklGR..."
}

audiostring(obligatorio)

Los datos de audio codificados en Base64.

input_audio_buffer.commit

Confirma el búfer de audio de entrada, creando un nuevo elemento de mensaje de usuario en la conversación. Si el búfer está vacío, el servidor devuelve un error.

  • Modo VAD: El cliente no necesita enviar este evento. El servidor confirma el búfer de audio automáticamente.
  • Modo manual: El cliente debe confirmar el búfer de audio para crear un elemento de mensaje de usuario.

Confirmar el búfer no desencadena una respuesta del modelo. El servidor responde con un evento input_audio_buffer.committed.

Si el cliente envió un evento input_image_buffer.append, el evento input_audio_buffer.commit también confirma el búfer de imágenes.

typestring(obligatorio)

El tipo de evento. El valor debe ser input_audio_buffer.commit.

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "input_audio_buffer.commit"
}

input_audio_buffer.clear

Borra bytes de audio del búfer. El servidor responde con un evento input_audio_buffer.cleared.

typestring(obligatorio)

El tipo de evento. El valor debe ser input_audio_buffer.clear.

{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.clear"
}

input_image_buffer.append

Agrega datos de imagen al búfer de imágenes. Las imágenes pueden provenir de archivos locales o de una transmisión de video en vivo.

Los siguientes límites se aplican a las entradas de imagen:

  • Formato: JPG o JPEG. Resolución recomendada: 480p o 720p; máxima: 1080p.
  • Una sola imagen después de la codificación Base64 no debe exceder 256 KB. Recomendamos mantener el tamaño de la imagen sin procesar por debajo de 190 KB antes de la codificación.
  • Los datos de imagen deben estar codificados en Base64.
  • Frecuencia de envío recomendada: 1 imagen por segundo.
  • Envíe al menos un evento input_audio_buffer.append antes de enviar un evento input_image_buffer.append.

El búfer de imágenes se confirma junto con el búfer de audio mediante el evento input_audio_buffer.commit.

typestring(obligatorio)

El tipo de evento. El valor debe ser input_image_buffer.append.

{
    "event_id": "event_xxx",
    "type": "input_image_buffer.append",
    "image": "xxx"
}

imagestring(obligatorio)

Los datos de imagen codificados en Base64.

conversation.item.create

Envíe este evento para crear un elemento de conversación, ya sea un resultado de Function Calling o, para Qwen3.8-Omni-Flash-Realtime, una respuesta de aprobación MCP. Para Function Calling, ejecute la herramienta localmente, devuelva su resultado como function_call_output y luego envíe response.create. El servidor ejecuta las herramientas MCP; utilice mcp_approval_response para la aprobación y siga la secuencia de continuación de respuesta de aprobación.

event_idstring (opcional)

Un ID de evento generado por el cliente para rastreo.

typestring(obligatorio)

El tipo de evento. El valor debe ser conversation.item.create.

{
    "event_id": "event_55099cddb51b4f208cb95d1a994eef80",
    "type": "conversation.item.create",
    "item": {
        "id": "item_2a80d7682b4e473c9c2154da135041e9",
        "type": "function_call_output",
        "call_id": "call_62c24725afdb4c2680ac54",
        "output": "The weather in Beijing today is changing from haze to clear, with a temperature of 4/-4°C and a light breeze."
    }
}

itemobject(obligatorio)

El elemento de conversación que se va a crear. No puede estar vacío.

Propiedades

idstring (opcional)

El ID del elemento de conversación. Especifique uno para alinearlo con el estado local; de lo contrario, el servidor generará uno.

typestring (obligatorio)

Utilice function_call_output para un resultado de Function Calling o mcp_approval_response para una respuesta de aprobación MCP de Qwen3.8-Omni-Flash-Realtime.

call_idstring (condicionalmente obligatorio)

Obligatorio solo para function_call_output. Utilice el call_id devuelto en response.function_call_arguments.done.

outputstring (condicionalmente obligatorio)

Obligatorio solo para function_call_output. El resultado de la ejecución de la función de la herramienta.

approval_request_idstring (condicionalmente obligatorio)

Obligatorio solo para mcp_approval_response. Debe coincidir exactamente con el item.id de un mcp_approval_request no gestionado.

approveboolean (condicionalmente obligatorio)

Obligatorio solo para mcp_approval_response. true permite la ejecución; false rechaza la llamada, la cual pasa a estado failed.

Respuesta de aprobación MCP (Qwen3.8-Omni-Flash-Realtime)

Cuando require_approval es always o se omite, el servidor puede enviar mcp_approval_request. Responda utilizando los campos de conversation.item.create anteriores con item.type="mcp_approval_response". El servidor ejecuta la herramienta MCP. Si se necesita una continuación del modelo, espere a response.done para la Respuesta que contiene esta llamada MCP, luego envíe un response.create sin resultados MCP.

Los ID de solicitud de aprobación, los ID de elementos y los ID de eventos devueltos por el servidor son cadenas opacas. No confíe en sus longitudes, prefijos o reglas de generación.

{
  "event_id": "event_client_xxx",
  "type": "conversation.item.create",
  "item": {
    "type": "mcp_approval_response",
    "approval_request_id": "opaque_approval_id",
    "approve": true
  }
}

Consulte Qwen-Omni-Realtime .