Microsoft AI: MAI-Voice-2
MAI-Voice-2 de Microsoft AI produce voz multilingüe expresiva para narraciones, diálogos y aplicaciones habladas. La coherencia en contenido largo, la compatibilidad con varios hablantes y el control de la emoción por turno de habla permiten crear audiolibros, lecciones y voces de personajes.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
MAI-Voice-2 es el modelo de conversión de texto a voz mediante indicaciones de Microsoft AI para contenido hablado natural y expresivo. Su fabricante destaca la fidelidad acústica, la coherencia del hablante y el rango emocional. Las tareas documentadas incluyen asistentes, audiolibros, pódcasts, conferencias, personajes educativos y narración para accesibilidad. El texto se convierte en audio con una voz elegida; la variante Voice-2-Flash tiene su propio perfil para interacciones en las que la respuesta inmediata es prioritaria.
Idioma y hablante
La publicación de Voice-2 de Microsoft describe quince idiomas: inglés, francés, alemán, italiano, español, portugués, hindi, coreano, chino simplificado, turco, ruso, tailandés, neerlandés, rumano y húngaro. Algunos idiomas tienen variantes regionales diferenciadas. La publicación también describe la alternancia entre hindi e inglés y entre español e inglés, de modo que determinados pasajes con varios idiomas pueden conservar la forma en que un hablante alterna las lenguas con naturalidad.
Prepara las palabras reales que deben pronunciarse y conserva el idioma previsto de cada una. Un pasaje educativo bilingüe puede introducir un término en un idioma y explicarlo en otro, manteniendo intactos los nombres y las citas. El resultado hablado debe comprobarse teniendo en cuenta el acento y el público que necesita la pieza, en lugar de tratar todas las variantes regionales como intercambiables.
La ficha del modelo ofrece una biblioteca de voces seleccionadas y una vía independiente de indicaciones mediante voz de referencia. El habla de referencia aporta la identidad de hablante deseada sin ajuste fino. Microsoft recomienda una interpretación conversacional natural con energía moderada, porque la grabación afecta al ritmo y a la interpretación. Utiliza una grabación representativa cuyo hablante haya dado su consentimiento cuando la tarea requiera una voz personalizada.
Narraciones más largas y diálogo
La ficha del modelo documenta la generación de contenido largo mediante segmentación con transferencia de contexto. Esto permite narraciones conectadas, como un capítulo, una lección o una secuencia de pasajes de pódcast. Divide el guion en límites de sección con sentido y mantén coherentes la terminología y la elección del hablante. Una explicación larga se beneficia de transiciones habladas que indiquen al público cuándo cambia el tema.
El soporte para varios hablantes permite papeles diferenciados en un diálogo preparado. Asigna la pregunta y la respuesta a los hablantes previstos y conserva esas asignaciones cuando reaparece un papel. La entrada debe contener las intervenciones definitivas y las instrucciones de interpretación pertinentes, en lugar de una petición abierta para que el sintetizador de voz invente la conversación.
Tono e interpretación emocional
Microsoft documenta un control detallado del tono, la interpretación y la emoción por turno de habla. Sus ejemplos de publicación muestran papeles hablados expresivos y pasajes emocionales. Para una narración, determina qué frase es factual, reflexiva o entusiasta y aplica después una interpretación que siga ese significado. Una frase práctica es: «La parte más silenciosa del experimento resultó ser la más reveladora. Fue allí donde el patrón empezó a verse con claridad». La formulación da a la interpretación un cambio de énfasis intencionado.
Para una locución de instrucciones, mantén clara la acción y deja la explicación en una frase aparte. En un diálogo, distingue las palabras que pronuncia un personaje de las notas de escena. Escucha los nombres repetidos y las transiciones entre pasajes para que la secuencia final siga siendo coherente.
Utilizar el audio
La salida es voz recién generada para el texto proporcionado. Su forma útil es una narración, un diálogo o una respuesta hablada de aplicación cuya voz e interpretación siguen el guion. Mantén asociados a la grabación el texto, el hablante y el orden de las secciones, para que una corrección cambie el pasaje previsto sin perder el resto de la interpretación.
MAI-Voice-2 se centra en la naturalidad y la expresión en una experiencia de escucha prolongada. Su capacidad para contenido largo no define una entrada ilimitada ni una duración máxima de grabación garantizada. La descripción exacta de Voice-2 sigue siendo independiente del catálogo de idiomas ampliado y las opciones de voz de las ediciones posteriores Voice-2.1.
Ailoot Ultra · Síntesis de voz POST /v1/audio/speech microsoft/mai-voice-2
microsoft/mai-voice-2Primeros pasos
MAI-Voice-2 de Microsoft AI produce voz multilingüe expresiva para narraciones, diálogos y aplicaciones habladas. La coherencia en contenido largo, la compatibilidad con varios hablantes y el control de la emoción por turno de habla permiten crear audiolibros, lecciones y voces de personajes.
- Entradas aceptadas
- Texto
- Resultados
- Audio
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Síntesis de voz POST /v1/audio/speech
- Tipos de entrada
text- Tipos de salida
audio- Formato de salida
- mp3
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites microsoft/mai-voice-2 | Predeterminado— |
Campoinput | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 Unidad: caracteres Unicode | Predeterminado— |
Campovoice | Tipostring | RequisitoObligatorio | Valores y límites en-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 | Predeterminado— |
Camporesponse_format | Tipostring | RequisitoObligatorio | Valores y límites mp3 | Predeterminado— |
Combinaciones de materiales de entrada
text_to_speech · Obligatorio: input
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, input, voice, response_format |
Parámetrovoice_ids | Contratoen-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 |
Parámetroresponse_format | Contratomp3 |
Parámetromax_input_characters | Contratonull |
Parámetroother_options | Contratofalse |
Parámetroinput | Contratotexto UTF-8 exacto; recuento de caracteres Unicode sin normalización |
Parámetromaterial_types | Contratotext |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id real devuelto o registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Selecciona una voz exacta de este perfil de modelo.
Los caracteres de entrada y los segundos de audio son métricas de consumo diferentes.
Planes
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)
Tarifas de Ailoot
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad facturable | Unidad de facturación | Cargo |
|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad facturable— | Unidad de facturación— | Cargo Entrada · Tokens de entrada — / 1K tokens Salida · Tokens de salida — / 1K tokens Entrada · Lectura de caché — / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
| ConfiguraciónUltra | Tabla de tarifas— | Cantidad facturableCada punto de código Unicode cuenta como un carácter, incluidos los caracteres Han. | Unidad de facturaciónpor 1K caracteres de entrada | Cargo Entrada · carácter de entrada $0.044 por 1K caracteres de entrada |
Detalles de la tarifa de referencia
Las tablas de referencia del modelo no cambian la selección del método, las estimaciones de coste ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
Microsoft AI: MAI-Voice-2
Precios por configuración
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónMicrosoft AI: MAI-Voice-2 · Configuración predeterminada | Condiciones de facturaciónConfiguración predeterminada | Cargo Entrada · Caracteres de entrada 0,000044 US$ por carácter de entrada |
Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Síntesis de voz
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "microsoft/mai-voice-2", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["en-US-Harper:MAI-Voice-2", "es-MX-Valeria:MAI-Voice-2", "fr-FR-Soleil:MAI-Voice-2", "de-DE-Klaus:MAI-Voice-2"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
Recibir y guardar resultados
Ailoot Ultra · Síntesis de voz
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva el resultado binario completo y las cabeceras. Si se devuelve JSON o varias salidas, conserva todos los elementos de datos y descarga el recurso de cada URL firmada real.
Si es necesario revisar la respuesta original
Conserva el operation_id/X-Client-Request-ID original para la conciliación sin volver a enviar la solicitud; no hay una ruta dedicada para consultar periódicamente el audio.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campobinary audio | Tipobytes |
Camporesponse headers | Tipoheaders |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Respuestaserver_error | CondiciónLa respuesta devuelta indica que la operación o el resultado requiere una comprobación | Siguiente pasoConserva el ID original de operación o tarea devuelto, las cabeceras de la solicitud y la respuesta; continúa con las lecturas admitidas de esa operación original. No vuelvas a enviar la solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra microsoft/mai-voice-2
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Microsoft AI: MAI-Voice-2
- ¿Qué entradas y resultados están disponibles?
POST /v1/audio/speech·microsoft/mai-voice-2:text→audio- ¿Qué campos utiliza la solicitud?
POST /v1/audio/speech·microsoft/mai-voice-2:model,input,voice,response_format