Skip to main content

API HTTP de clonación de voz: Qwen-Omni y LiveTranslate

Parámetros HTTP, respuestas y ejemplos para crear, enumerar y eliminar voces de Qwen-Omni, y para crear y eliminar voces precreadas de LiveTranslate.

Esta referencia abarca Qwen-Omni, Qwen-Omni-Realtime y las voces precreadas de Qwen-LiveTranslate-Realtime.
Modelo de destinoOperaciones incluidas aquí
Qwen-Omni, Qwen-Omni-RealtimeCrear, enumerar y eliminar voces
Qwen-LiveTranslate-RealtimeCrear y eliminar voces precreadas
Primero obtenga una API Key y configure las variables de entorno. Los ejemplos de solicitudes leen DASHSCOPE_API_KEY. Al administrar la misma voz mediante distintas API, use la misma cuenta.

Endpoint del servicio

Qwen-Omni、Qwen-Omni-Realtime

  • China (Pekín)
  • Singapur
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/tts/customization
Sustituya {WorkspaceId} por el ID real del espacio de trabajo, que se encuentra en la página Workspace Details de la consola de Alibaba Cloud Model Studio. Las API Keys son diferentes para Pekín y Singapur.
Alibaba Cloud Model Studio ofrece dominios específicos de cada espacio de trabajo para las regiones de China (Pekín) y Singapur. Los nuevos dominios dedicados ofrecen mayor rendimiento y estabilidad para las solicitudes de inferencia. Le recomendamos migrar a los nuevos dominios:
  • Región de China (Pekín): migre de dashscope.aliyuncs.com a {WorkspaceId}.cn-beijing.maas.aliyuncs.com.
  • Región de Singapur: migre de dashscope-intl.aliyuncs.com a {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com.
Los dominios existentes siguen funcionando con normalidad.

Qwen-LiveTranslate-Realtime

Región de China (Pekín): POST https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization

Encabezados de la solicitud

ParámetroTipoObligatorioDescripción
AuthorizationstringSíToken de autenticación en el formato Bearer <your_api_key>. Reemplace <your_api_key> con su clave API real.
Content-TypestringSíEstablezca en application/json.

Requisitos de audio y costos

Qwen-Omni, Qwen-Omni-Realtime: Los formatos de audio de entrada admitidos son WAV (16-bit), MP3 y M4A. La duración recomendada es de 10–20 segundos, con un máximo de 60 segundos, un tamaño inferior a 10 MB, una frecuencia de muestreo de al menos 24 kHz y un solo canal mono. El audio debe contener al menos 3 segundos de habla continua y clara, con pausas de no más de 2 segundos; evite música de fondo, ruido u otras voces durante toda la grabación. Use audio de habla normal: no cargue canciones ni canto. Los idiomas y dialectos admitidos se enumeran en los parámetros language de abajo; las recomendaciones de grabación se encuentran en Requisitos de audio. Los pasos de clonación, los ejemplos completos y los costos se detallan en la Guía de clonación de voz. Qwen-LiveTranslate-Realtime: Admite qwen3.8-livetranslate-flash-realtime y qwen3.5-livetranslate-flash-realtime. Esta sección describe la creación previa de una voz; la extracción en tiempo real de la voz de entrada durante la traducción se describe en Configuración de voz. La creación previa de una voz tiene cargos separados; las llamadas al modelo se siguen facturando según el uso de tokens, como se indica en Información de facturación. El audio de referencia debe usar una URL de acceso público.

Cuerpo de la solicitud

model string — ObligatorioEstablezca en qwen-voice-enrollment.input object — Obligatorio

Propiedades

action string — ObligatorioOperación:
  • create: Crear una voz.
  • list: Enumerar voces (solo Qwen-Omni y Qwen-Omni-Realtime).
  • delete: Eliminar una voz.
target_model string — Obligatorio al crearModelo que usará la voz. Debe coincidir con el modelo de las llamadas posteriores de síntesis o conversación; de lo contrario, la llamada falla.Qwen-Omni, Qwen-Omni-Realtime: modelo omni:
  • qwen3.8-omni-flash-realtime
  • qwen3.5-omni-plus-realtime
  • qwen3.5-omni-flash-realtime
  • qwen3.5-omni-plus
  • qwen3.5-omni-flash
Qwen-LiveTranslate-Realtime: modelo de traducción en tiempo real usado en las sesiones posteriores.audio object — Obligatorio al crearObjeto de audio de referencia.
data string — ObligatorioQwen-Omni, Qwen-Omni-Realtime: Audio usado para la clonación. La grabación debe seguir las Directrices de grabación y el audio debe cumplir los Requisitos de audio.Para Qwen-Omni y Qwen-Omni-Realtime, puede enviar el audio de una de estas dos formas:
  1. URL de datos Formato: data:<mediatype>;base64,<data>
    • <mediatype>: tipo MIME
      • WAV: audio/wav
      • MP3: audio/mpeg
      • M4A: audio/mp4
    • <data>: cadena del audio codificada en Base64 La codificación Base64 aumenta el tamaño del archivo; mantenga pequeño el archivo original para que el archivo codificado sea inferior a 10 MB.
    • Ejemplo: data:audio/wav;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjI5LjEwMAAAAAAAAAAAAAAA//PAxABQ/BXRbMPe4IQAhl9
  2. URL de audio (se recomienda cargar el audio en OSS)
    • El tamaño del archivo no debe superar 10 MB.
    • La URL debe ser de acceso público y no requerir autenticación.
import base64, pathlib

# input.mp3 is the local audio file for voice cloning. Replace with your own file path. Make sure the file meets the audio requirements.
file_path = pathlib.Path("input.mp3")
base64_str = base64.b64encode(file_path.read_bytes()).decode()
data_uri = f"data:audio/mpeg;base64,{base64_str}"
Qwen-LiveTranslate-Realtime: URL pública del audio de referencia.
preferred_name string — Obligatorio al crearQwen-Omni, Qwen-Omni-Realtime: asigne un nombre identificable a la voz. Solo se permiten dígitos, letras mayúsculas y minúsculas y guiones bajos, con un máximo de 16 caracteres.
Esta palabra clave aparece en el nombre de la voz clonada; por ejemplo, con “guanyu”, el nombre final es “qwen-omni-vc-guanyu-voice-20250812105009984-838b.”
Qwen-LiveTranslate-Realtime: Identificador en el nombre de voz.text string — Opcional al crearSe aplica a: Qwen-Omni, Qwen-Omni-Realtime.Texto que coincide con el contenido de audio del campo data del objeto audio.Si se proporciona, el servidor valida el audio con respecto al texto. Si la diferencia es demasiado grande, devuelve Audio.PreprocessError.language string — Opcional al crearSe aplica a: Qwen-Omni, Qwen-Omni-Realtime.Idioma correspondiente al audio data del objeto audio.Los idiomas admitidos incluyen zh (chino), en (inglés), de (alemán), it (italiano), pt (portugués), es (español), ja (japonés), ko (coreano), fr (francés), ru (ruso), th (tailandés), id (indonesio), ar (árabe), cs (checo), da (danés), nl (neerlandés), fi (finés), he (hebreo), hi (hindi), is (islandés), ms (malayo), no (noruego), fa (persa), pl (polaco), sv (sueco), tl (tagalo), tr (turco), ur (urdu), vi (vietnamita).Dialectos chinos: Dongbei (mandarín del noreste), Shannxi (dialecto de Shaanxi), Sichuan (dialecto de Sichuan), Henan (dialecto de Henan), Changsha (dialecto de Changsha), Tianjin (dialecto de Tianjin), Hangzhou (dialecto de Hangzhou), Liaoning (dialecto de Liaoning), Shenyang (dialecto de Shenyang), Anshan (dialecto de Anshan).Si se usa este parámetro, el idioma especificado debe coincidir con el del audio que se utiliza para la clonación.page_index integer — Opcional al enumerarÍndice de página. Valor predeterminado: 0. Rango: [0, 1000000].page_size integer — Opcional al enumerarNúmero de entradas por página. Valor predeterminado: 10. Rango: [0, 1000000].voice string — Obligatorio al eliminarEl ID de voz a eliminar.Después de eliminar una voz mediante Qwen-Omni o Qwen-Omni-Realtime, se libera la cuota de voz correspondiente.
parameters object — Obligatorio al crear, según las condicionesSe aplica a: Qwen-Omni, Qwen-Omni-Realtime.Parámetros de configuración. Para los modelos de la serie qwen3.8-omni, este objeto es obligatorio para proporcionar voice_clone_mode.
voice_clone_mode string — Obligatorio según las condicionesModo de clonación de voz. Obligatorio al usar modelos de la serie qwen3.8-omni; si no se especifica, se usa de forma predeterminada el modo instruct del sistema talker de qwen3.5-omni, compatible con los servicios anteriores.Valores válidos:
  • normal: modo normal
  • dialect: modo dialectal
  • crosslingual: modo entre idiomas
skip_audio_process boolean — OpcionalValor predeterminado: false.Indica si se omite el preprocesamiento de audio.

Ejemplos de solicitudes

  • Crear
  • Enumerar
  • Eliminar
  • qwen3.8-omni-flash-realtime
  • qwen3.8-livetranslate-flash-realtime
El ejemplo de cURL usa una URL de audio. Sustituya https://xxx.wav por su dirección real. Los ejemplos de Python y Java leen un archivo de audio local. Sustituya input.mp3 por la ruta real de su archivo.
cURL
# If the environment variable is not set, replace $DASHSCOPE_API_KEY below with your API key.
# ======= Important =======
# The following is the Singapore region URL. Replace {WorkspaceId} with your actual workspace ID. URLs vary by region.
# API keys differ between regions. Get an API key: https://www.alibabacloud.com/help/model-studio/get-api-key
# === Remove these comments before running ===

curl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/tts/customization' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "qwen-voice-enrollment",
    "parameters": {"voice_clone_mode": "normal"},
    "input": {
        "action": "create",
        "target_model": "qwen3.8-omni-flash-realtime",
        "preferred_name": "guanyu",
        "audio": {"data": "https://xxx.wav"}
    }
}'

Cuerpo de la respuesta

request_id stringEl identificador único de esta solicitud.output objectSe devuelve al crear y enumerar voces. Este campo no está presente al eliminar.
voice string — Devuelto al crearQwen-Omni, Qwen-Omni-Realtime: Nombre de voz que se puede usar como parámetro voice en las llamadas posteriores a la API Omni.Qwen-LiveTranslate-Realtime: El ID de la voz creada se usa en el parámetro voice de las sesiones de traducción posteriores.target_model string — Devuelto al crearQwen-Omni, Qwen-Omni-Realtime: El modelo omni que usa la voz:
  • qwen3.8-omni-flash-realtime
  • qwen3.5-omni-plus-realtime
  • qwen3.5-omni-flash-realtime
  • qwen3.5-omni-plus
  • qwen3.5-omni-flash
Debe coincidir con el modelo usado en las llamadas posteriores a la API omni. De lo contrario, la síntesis fallará.Qwen-LiveTranslate-Realtime: Modelo de destino especificado al crear la voz.voice_list array[object] — Devuelto al enumerarLista de voces encontradas.
voice stringNombre de voz que se puede usar como parámetro voice en las llamadas posteriores a la API Omni.target_model stringEl modelo omni que usa la voz:
  • qwen3.8-omni-flash-realtime
  • qwen3.5-omni-plus-realtime
  • qwen3.5-omni-flash-realtime
  • qwen3.5-omni-plus
  • qwen3.5-omni-flash
Debe coincidir con el modelo usado en las llamadas posteriores a la API omni. De lo contrario, la síntesis fallará.gmt_create stringFecha de creación de la voz.
usage objectSe aplica a: Qwen-Omni, Qwen-Omni-Realtime.Información de uso de esta solicitud.
count integerNúmero de operaciones de creación de voz que se facturan realmente para esta solicitud. El costo de esta solicitud es $count × 0.01.Siempre es 1 al crear una voz. Enumerar o eliminar voces es gratuito, por lo que el valor siempre es 0.

Ejemplos de respuestas

  • Crear
  • Enumerar
  • Eliminar
  • qwen3.8-omni-flash-realtime
  • qwen3.8-livetranslate-flash-realtime
  • Estructura de la respuesta
{
    "output": {
        "voice": "yourVoice",
        "target_model": "qwen3.8-omni-flash-realtime"
    },
    "usage": {
        "count": 1
    },
    "request_id": "yourRequestId"
}

Mensajes de error

Si se produce un error, consulte Códigos de error para el diagnóstico.

Usar voces en llamadas al modelo