Deepgram: Flux TTS
Deepgram Flux TTS convierte texto en inglés en voz conversacional con un tono que se mantiene entre turnos. Su modo en streaming gestiona interrupciones; la síntesis por lotes produce audio reutilizable con el mismo catálogo de voces.
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.
Flux TTS es la familia de texto a voz de Deepgram para conversación en directo y contenido hablado fijo. Su característica definitoria es la continuidad conversacional: el modelo en streaming conserva la prosodia entre turnos para que la expresión pueda mantener un tono coherente conforme continúa una interacción. Acepta texto escrito y devuelve audio de voz. Flux TTS y el modelo de reconocimiento de voz con nombre separado Flux realizan partes diferentes de una conversación de voz.
Selecciona una voz en inglés
El catálogo documentado de Flux habla inglés con acentos estadounidense, británico, irlandés, australiano, indio, singapurense y filipino. Las descripciones de voces ayudan a elegir un hablante para atención al cliente, menús telefónicos, narración o conversación informal. Por ejemplo, el fabricante enumera Haley como una voz estadounidense tranquila y Jack como una voz británica profesional. Selecciona una voz según el público y el tipo de formulación que va a leer y después mantenla estable durante la pieza o conversación. La voz en otros idiomas corresponde a una elección de modelo documentada por separado.
Turnos en directo e interrupciones
En el flujo en streaming del fabricante, el texto puede llegar mientras la aplicación redacta una respuesta y el audio vuelve de forma incremental. Un turno tiene sus propios eventos de inicio y finalización; finalizar el turno completa la síntesis restante. El contexto entre turnos conserva la prosodia dentro de esa sesión. Esto es útil para un asistente hablado que primero explica una elección y después responde a una aclaración sin cambiar su carácter vocal.
Una interrupción cancela el turno activo y devuelve la parte pronunciada y el texto restante. Esa distinción ayuda a la aplicación a continuar a partir de lo que realmente escuchó el oyente. Para una interacción práctica, prepara una respuesta corta con la instrucción importante primero y después la explicación. Si el oyente interrumpe tras esa primera instrucción, la respuesta siguiente puede abordar la pregunta nueva, en lugar de suponer que se entregó toda la explicación.
Audio fijo y formatos de salida
La síntesis por lotes recibe un bloque completo de texto y devuelve su audio en una respuesta. Utiliza el mismo catálogo de voces que el streaming y resulta adecuada para avisos telefónicos grabados, notificaciones o narración preparada con antelación. Las solicitudes por lotes son independientes; el estado de turnos y los eventos de interrupción del streaming no se aplican a un clip fijo.
La salida en streaming es audio en bruto sin contenedor de archivo: PCM de 16 bits, mu-law o A-law. El fabricante documenta frecuencias de muestreo PCM de 8, 16, 24, 32, 44.1 y 48 kHz; mu-law y A-law utilizan 8 o 16 kHz. La salida por lotes admite además MP3, Opus, FLAC y AAC. Selecciona una codificación y contenedor que el reproductor o canal telefónico previstos puedan interpretar, en lugar de tratar un flujo de muestras en bruto como un archivo de audio ordinario.
Controles de expresión y límites
El fabricante documenta un rango de velocidad de habla de 0.5 a 1.5 en incrementos de 0.05. Los cambios de velocidad en streaming se aplican en un límite de segmento. Un control beta separado de expresividad cambia la expresión de tranquila a animada. El SSML ordinario y las etiquetas reconocidas de competidores se eliminan, en lugar de utilizarse como instrucciones expresivas; los controles nativos de Flux tienen su propio significado.
Las pausas insertadas en el texto corresponden a la síntesis por lotes, con duraciones de 500 a 3000 ms en incrementos de 100 ms y un máximo de ocho marcadores por solicitud. El texto debe separar pausas adyacentes y la velocidad queda limitada a 1.15 cuando hay una pausa. Las sustituciones de pronunciación utilizan IPA y están en Early Access; el fabricante señala que una pronunciación solicitada puede variar entre generaciones. La pronunciación no puede combinarse con velocidad distinta de la predeterminada ni con controles de pausa. Para un guion con nombres especializados, escucha esos términos con la voz elegida y mantén explícita la formulación hablada.
La sesión en streaming documentada de Deepgram dura hasta una hora y se cierra después de sesenta segundos sin mensaje entrante, salvo que se mantenga activa mediante el mecanismo de conexión compatible. Esos límites de sesión se refieren al flujo de síntesis en directo. Un entregable útil es una voz elegida con intención, texto fácil de escuchar y audio adecuado para su destino, con las aplicaciones en directo siguiendo lo que se pronunció realmente cuando se interrumpe un turno.
Ailoot Ultra · Síntesis de voz POST /v1/audio/speech deepgram/flux-tts
deepgram/flux-ttsPrimeros pasos
Deepgram Flux TTS convierte texto en inglés en voz conversacional con un tono que se mantiene entre turnos. Su modo en streaming gestiona interrupciones; la síntesis por lotes produce audio reutilizable con el mismo catálogo de voces.
- 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 deepgram/flux-tts | Predeterminado— |
Campoinput | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 Unidad: caracteres Unicode | Predeterminado— |
Campovoice | Tipostring | RequisitoObligatorio | Valores y límites flux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en | 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 | Contratoflux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en |
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 | Unidad de facturación | Cargo |
|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | 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óncarácter de entrada | Tabla de tarifas— | Unidad de facturaciónpor carácter de entrada | Cargo Entrada · carácter de entrada $0.00009 por carácter 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.
Deepgram: Flux TTS
Precios por configuración
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónDeepgram: Flux TTS · Configuración predeterminada | Condiciones de facturaciónConfiguración predeterminada | Cargo Entrada · Caracteres de entrada 0,00009 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": "deepgram/flux-tts", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["flux-alexis-en", "flux-bree-en", "flux-brittany-en", "flux-brooke-en", "flux-bruce-en", "flux-cliff-en", "flux-cole-en", "flux-colin-en", "flux-conor-en", "flux-donovan-en", "flux-drew-en", "flux-elise-en", "flux-gemma-en", "flux-haley-en", "flux-hannah-en", "flux-heather-en", "flux-jack-en", "flux-kai-en", "flux-kelsey-en", "flux-kit-en", "flux-maeve-en", "flux-marcelo-en", "flux-marcus-en", "flux-meena-en", "flux-meghan-en", "flux-miles-en", "flux-naveen-en", "flux-paige-en", "flux-priya-en", "flux-rufus-en", "flux-sean-en", "flux-sharon-en", "flux-sienna-en", "flux-tanner-en", "flux-wade-en", "flux-wes-en"]')
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 deepgram/flux-tts
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Deepgram: Flux TTS
- ¿Qué entradas y resultados están disponibles?
POST /v1/audio/speech·deepgram/flux-tts:text→audio- ¿Qué campos utiliza la solicitud?
POST /v1/audio/speech·deepgram/flux-tts:model,input,voice,response_format