Skip to main content

Descripción general de la API en tiempo real

Conozca la selección de protocolos de Realtime API, los métodos de conexión de cada modelo, el SDK de AOQ y la demo de Android.

Realtime API admite interacción multimodal, reconocimiento de voz, síntesis de voz, conversación de voz y traducción de audio y video en tiempo real. Seleccione un protocolo de transporte y un modelo compatible; después abra la documentación de conexión de esa familia de modelos.

Selección de protocolo

La API en tiempo real admite tres protocolos de transporte: AOQ (AI sobre QUIC), WebRTC y WebSocket. Elija el protocolo que mejor se adapte a su escenario empresarial.
DimensiónAOQWebRTCWebSocket
Casos de usoInteracción multimodal de IA en tiempo real, condiciones de red débil, transmisión mixta de datosInteracción basada en navegador, llamadas tradicionales de audio y videoIntegración del lado del servidor, creación rápida de prototipos
Compatibilidad con navegadoresNo compatibleSoportado nativamenteSoportado nativamente
Dificultad de integraciónBajoMedioMínimo
Resiliencia en redes débilesExcelenteBuenaDeficiente
Tipos de datosAudio/video + textoAudio/video + textoTexto/audio/imagen
Velocidad de establecimiento de conexiónRápidaLentoLento
Cancelación de eco y supresión de ruidoIntegradoIntegradoNone; el cliente debe gestionarlos
Adecuación para escenarios de IADiseñado específicamente para las características de datos multimodales de IADiseño tradicional; requiere adaptación adicional para escenarios de IABásico; adecuado para escenarios de solo texto o escenarios con bajos requisitos de tiempo real
Soporte de plataformas clienteDispositivos móviles, escritorio y Linux. Para obtener detalles, consulte Descargas del SDK de AOQ.Navegadores, clientes móvilesTodas las plataformas (cualquier entorno que soporte WebSocket)
Plan de tokensCompatibleCompatibleCompatible
Seleccione un protocolo según sus requisitos:
  • AOQ: Ideal para escenarios de interacción en tiempo real con IA con los requisitos más exigentes en cuanto a latencia, resistencia a redes débiles y transmisión de datos multimodales, especialmente para aplicaciones móviles nativas. Incluye cancelación de eco y supresión de ruido integradas.
  • WebRTC: Ideal para escenarios tradicionales de llamadas de audio y video que requieren compatibilidad nativa con el navegador o que ya se ejecutan en una infraestructura WebRTC. Incluye cancelación de eco y supresión de ruido integradas.
  • WebSocket: Ideal para integración del lado del servidor, creación rápida de prototipos y escenarios que requieren una barrera de integración mínima. Utilice el SDK de DashScope para implementar rápidamente conversaciones de voz en tiempo real.

Compatibilidad de modelos y protocolos

La siguiente tabla enumera los protocolos compatibles con cada modelo y aplicación. Haga clic en “Compatible” para abrir la documentación de conexión correspondiente.
Tipo de modelo/aplicaciónModeloAOQWebRTCWebSocket
Multimodal en tiempo realqwen3.8-omni-flash-realtime, qwen3.5-omni-plus-realtime, qwen3.5-omni-flash-realtimeCompatibleCompatibleCompatible
Síntesis de voz en tiempo realqwen-audio-3.1-tts-plus, qwen-audio-3.1-tts-flash, qwen-audio-3.0-tts-flash, qwen-audio-3.0-tts-plusCompatibleNo compatibleCompatible
Modelos de la serie CosyVoiceCompatibleNo compatibleCompatible
Reconocimiento de voz en tiempo realModelos de las series qwen-audio-3.1-asr-flash-message, qwen-audio-3.1-asr-flash-streaming, qwen-audio-3.0-asr-flash-streaming, Fun-ASR-RealtimeCompatibleNo compatibleCompatible
Conversación por voz en tiempo realqwen-audio-3.1-realtime-plus, qwen-audio-3.1-realtime-flash, qwen-audio-3.0-realtime-plus, qwen-audio-3.0-realtime-flashCompatibleCompatibleCompatible
Traducción de voz en tiempo realModelos de la serie Qwen-Livetranslate-RealtimeCompatibleCompatibleCompatible
Para obtener información como nombres de modelos, ventanas de contexto, precios y versiones de instantáneas, consulte la consola de Alibaba Cloud Model Studio. Para conocer los límites de velocidad, consulte Limitación de velocidad.

Preparar la conexión

Confirme la región y el endpoint y obtenga la API Key de esa región y espacio de trabajo.
En el primer uso, siga las indicaciones de la consola para activar el servicio. Copie y guarde la clave de API de forma segura inmediatamente después de crearla. Gestiónela mediante variables de entorno; no la incorpore al código del cliente ni la incluya en un repositorio de código.
Para AOQ, descargue el SDK de AOQ de la plataforma del cliente.

Métodos de autenticación

La API Realtime utiliza claves de API para la autenticación. Ya sea que se conecte mediante AOQ, WebRTC o WebSocket, debe pasar un token portador en el encabezado de solicitud HTTP Authorization. WebRTC y WebSocket autentican durante la configuración de la conexión. Con AOQ, el AppServer se autentica con una clave de API al solicitar las credenciales de conexión, y el cliente se conecta con un token temporal. La transmisión de datos en una conexión establecida no requiere reautenticación.

Detalles de autenticación de conexión

  • AOQ
  • WebRTC
  • WebSocket
AOQ utiliza un modelo de autenticación proxy del lado del servidor: la clave de API se utiliza únicamente en el AppServer empresarial. El cliente se conecta con un token temporal devuelto por la puerta de enlace, lo que mantiene la clave de API fuera del cliente.

Obtener credenciales de conexión

AOQ admite autenticación bajo demanda y autenticación previa. Bajo demanda, las credenciales se obtienen cuando la aplicación necesita conectarse y, a continuación, se establece la conexión multimedia. Con la autenticación previa, las credenciales se obtienen y almacenan en caché por adelantado, lo que reduce la espera de solicitudes HTTP de señalización cuando se necesita la conexión.
  • Autenticación bajo demanda
  • Autenticación previa
Cuando se necesita una conexión multimedia, el AppServer solicita las credenciales y las devuelve al cliente, que llama de inmediato a connect(config).
Secuencia de autenticación AOQ bajo demanda y conexión multimedia

Rutas de solicitud

Serie de modelosRuta de solicitud de conexión
Qwen-Omni-Realtime, Qwen-Audio-Realtime, Qwen-Livetranslate-Realtime/api/v1/webrtc/realtime
Qwen-Audio-TTS, CosyVoice, Qwen-Audio-ASR-Streaming, Qwen-Audio-ASR-Message, Fun-ASR-Realtime/api/v1/webrtc/inference

Detalles de la solicitud

ParámetroUbicación / tipoDescripción
{endpoint}URL · stringObligatorio. Use el punto de conexión de la región y el espacio de trabajo seleccionados. Con Token Plan, WorkspaceId en el dominio se fija en token-plan.
modelConsulta · stringObligatorio. ID del modelo que se va a llamar. Seleccione la ruta de conexión según la familia de modelos en la tabla anterior.
AuthorizationEncabezado · stringObligatorio. Use Bearer <API_KEY> con una clave de API correspondiente al punto de conexión.
Content-TypeEncabezado · stringObligatorio. Valor fijo: application/json.
x-dashscope-rtc-transportEncabezado · stringObligatorio. Valor fijo: moq, para seleccionar el protocolo AOQ.
clientIpCuerpo · stringOpcional. Dirección IP pública real del cliente para seleccionar un punto de conexión Relay. Si se omite, se usa la IP de origen de la solicitud.
serverPassiveConnectCuerpo · booleanOpcional. Establezca true para la autenticación previa; omítalo para la autenticación bajo demanda. Este parámetro solo se usa en la solicitud a la puerta de enlace. No se requiere un nuevo campo en AoqConnectConfig.
Los siguientes ejemplos usan qwen3.8-omni-flash-realtime con el {endpoint} correspondiente y la variable de entorno DASHSCOPE_API_KEY. Para modelos que usan la ruta Inference, cambie la ruta de solicitud a /api/v1/webrtc/inference y establezca el model correspondiente.
  • Solicitud bajo demanda
  • Solicitud de autenticación previa
curl -X POST \
  "https://{endpoint}/api/v1/webrtc/realtime?model=qwen3.8-omni-flash-realtime" \
  -H "Authorization: Bearer ${DASHSCOPE_API_KEY}" \
  -H "Content-Type: application/json" \
  -H "x-dashscope-rtc-transport: moq" \
  -d '{}'

Detalles de la respuesta

CampoTipoDescripción y correspondencia del SDK
sidstringID único de sesión. Establezca AoqConnectConfig.sid con este valor.
aoqTokenForClientstringToken temporal de conexión del cliente. Establezca AoqConnectConfig.token con este valor.
clientRelayEndpointsarrayMatriz de puntos de conexión Relay para relayEndpoints. Cada elemento contiene endpoint, port y route_index. Asigne route_index a routeIndex del SDK; si no existe, use el índice de la matriz.
clientRelayCertFingerprintstringHuella del certificado TLS Relay. Establezca AoqConnectConfig.certFingerprint con este valor.
sidExpiresInSecsintegerDuración de la sesión en segundos. No corresponde al plazo de uso de un token obtenido por adelantado.
extraInfo.workspaceIdHashstringHash del ID del espacio de trabajo. Establezca AoqConnectConfig.workspaceIdHash con este valor.
Ambos modos devuelven la misma estructura de respuesta. La siguiente respuesta de autenticación bajo demanda es un ejemplo; use los valores que se devuelvan realmente.
{
  "sid": "<session_id>",
  "aoqTokenForClient": "<token>",
  "clientRelayEndpoints": [
    {"endpoint": "192.0.2.1", "port": 8443, "route_index": 0}
  ],
  "clientRelayCertFingerprint": "sha256/<fingerprint>",
  "sidExpiresInSecs": 7200,
  "extraInfo": {"workspaceIdHash": "<workspace_id_hash>"}
}

Probar la demo

Use la demo de Android para probar la conexión mediante AOQ. Escanee el código QR para descargar el APK, instálelo y configure la API Key y workspaceId. Después podrá probar el subconjunto de modelos admitidos por la demo.
Código QR para descargar el APK de la demo de Android de AOQ

Mejores prácticas