Deepgram: Flux TTS
Deepgram Flux TTS transforma texto em inglês em fala conversacional, mantendo o tom entre turnos de fala. O modo de streaming gere interrupções; a síntese em lote produz áudio reutilizável com o mesmo catálogo de vozes.
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
Flux TTS é a família da Deepgram de conversão de texto em fala para conversas em direto e conteúdo falado pré-gravado. A sua característica distintiva é a continuidade conversacional: o modelo de streaming mantém a prosódia entre turnos de fala, permitindo conservar um tom consistente à medida que a interação prossegue. Aceita texto escrito e devolve áudio de fala. O Flux TTS e o modelo de reconhecimento de fala com o nome distinto Flux desempenham funções diferentes numa conversa por voz.
Selecionar uma voz em inglês
O catálogo Flux documentado fala inglês, com sotaques americano, britânico, irlandês, australiano, indiano, singapurense e filipino. As descrições das vozes ajudam a escolher quem fala para atendimento ao cliente, menus telefónicos, narração ou conversa informal. Por exemplo, o fabricante apresenta Haley como uma voz americana calma e Jack como uma voz britânica profissional. Selecione uma voz de acordo com o público e o tipo de formulações que irá ler e mantenha-a estável ao longo da peça ou conversa. A fala noutros idiomas exige a escolha de um modelo documentado separadamente.
Turnos de fala em direto e interrupções
No fluxo de streaming do fabricante, o texto pode chegar à medida que a aplicação compõe uma resposta e o áudio é devolvido progressivamente. Cada turno de fala tem os seus próprios eventos de início e conclusão; terminar o turno conclui a síntese que falta. O contexto entre turnos preserva a prosódia dentro dessa sessão. Isto é útil para um assistente falado que primeiro explica uma opção e depois responde a um pedido de esclarecimento sem alterar as suas características vocais.
Uma interrupção cancela o turno ativo e devolve a parte pronunciada e o texto que ficou por dizer. Esta distinção ajuda a aplicação a continuar a partir daquilo que o ouvinte realmente ouviu. Numa interação prática, prepare uma resposta curta com a instrução importante primeiro, seguida da explicação. Se o ouvinte interromper depois dessa primeira instrução, a resposta seguinte pode abordar a nova pergunta sem presumir que toda a explicação foi transmitida.
Áudio pré-gravado e formatos de saída
A síntese em lote recebe um bloco completo de texto e devolve o respetivo áudio numa única resposta. Usa o mesmo catálogo de vozes do streaming e adequa-se a mensagens telefónicas gravadas, notificações ou narrações preparadas antecipadamente. Os pedidos em lote são independentes; o estado dos turnos de streaming e os eventos de interrupção não se aplicam a um clip pré-gravado.
A saída em streaming é áudio bruto sem contentor de ficheiro: PCM de 16 bits, mu-law ou A-law. O fabricante documenta frequências de amostragem PCM de 8, 16, 24, 32, 44,1 e 48 kHz; mu-law e A-law usam 8 ou 16 kHz. A saída em lote suporta adicionalmente MP3, Opus, FLAC e AAC. Selecione uma codificação e um contentor que o leitor ou o sistema telefónico de destino consiga interpretar, em vez de tratar um fluxo de amostras brutas como um ficheiro de áudio normal.
Controlos de elocução e limites
O fabricante documenta um intervalo de velocidade de fala de 0.5 a 1.5, em incrementos de 0.05. As alterações de velocidade em streaming são aplicadas no limite de um segmento. Um controlo de expressividade separado, em versão beta, permite passar de uma elocução calma para animada. As etiquetas SSML normais e as etiquetas reconhecidas de concorrentes são removidas, em vez de serem usadas como instruções expressivas; os controlos nativos do Flux têm um significado próprio.
As pausas inseridas no texto pertencem à síntese em lote, com durações de 500 a 3 000 ms em incrementos de 100 ms e um máximo de oito marcadores por pedido. Tem de haver texto entre pausas adjacentes, e a velocidade fica limitada a 1.15 quando existe uma pausa. As substituições de pronúncia usam IPA e estão em Early Access; o fabricante indica que uma pronúncia pedida pode variar entre gerações. A pronúncia não pode ser combinada com uma velocidade diferente da predefinida nem com controlos de pausa. Num guião com nomes especializados, ouça esses termos na voz selecionada e mantenha explícitas as palavras que devem ser pronunciadas.
A sessão de streaming documentada pela Deepgram dura até uma hora e fecha após sessenta segundos sem receber uma mensagem, a menos que seja mantida ativa através do mecanismo de ligação suportado. Estes limites de sessão dizem respeito ao fluxo de síntese em direto. Uma entrega útil reúne uma voz escolhida intencionalmente, texto fácil de acompanhar pelo ouvinte e áudio adequado ao destino, enquanto as aplicações em direto registam o que foi realmente pronunciado quando um turno é interrompido.
Ailoot Ultra · Síntese de voz POST /v1/audio/speech deepgram/flux-tts
deepgram/flux-ttsIntrodução
Deepgram Flux TTS transforma texto em inglês em fala conversacional, mantendo o tom entre turnos de fala. O modo de streaming gere interrupções; a síntese em lote produz áudio reutilizável com o mesmo catálogo de vozes.
- Entradas aceites
- Texto
- Resultados
- Áudio
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Síntese de voz POST /v1/audio/speech
- Entrada
text- Saída
audio- Formato de saída
- mp3
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites deepgram/flux-tts | Predefinição— |
Campoinput | Tipostring | RequisitoObrigatório | Valores e limites Comprimento mínimo: 1 Unidade: carateres Unicode | Predefinição— |
Campovoice | Tipostring | RequisitoObrigatório | Valores e limites 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 | Predefinição— |
Camporesponse_format | Tipostring | RequisitoObrigatório | Valores e limites mp3 | Predefinição— |
Combinações de materiais de entrada
text_to_speech · Obrigatório: input
Parâmetros e ciclo de vida do método
| 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 exato; contagem de carateres Unicode sem normalização |
Parâmetromaterial_types | Contratotext |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id efetivamente devolvido ou registo na biblioteca de multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Selecione a voz exata deste perfil de modelo.
Os carateres de entrada e os segundos de áudio são medidas de utilização diferentes.
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Unidade de faturação | Custo |
|---|---|---|---|
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Unidade de faturação— | Custo Entrada · Tokens de entrada — / 1K tokens Saída · Tokens de saída — / 1K tokens Entrada · Leitura da cache — / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| Configuraçãocarácter de entrada | Tabela de tarifas— | Unidade de faturaçãopor carácter de entrada | Custo Entrada · carácter de entrada $0.00009 por carácter de entrada |
Detalhes da tarifa de referência
As tabelas de referência do modelo não alteram a seleção do método, as cotações ou os custos. Os custos ativos usam as tarifas do método Ailoot selecionado.
Deepgram: Flux TTS
Preços por configuração
| Configuração | Condições de faturação | Custo |
|---|---|---|
| ConfiguraçãoDeepgram: Flux TTS · Configuração predefinida | Condições de faturaçãoConfiguração predefinida | Custo Entrada · Caracteres de entrada 0,00009 US$ por carácter de entrada |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · Síntese 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
Receber e guardar os resultados
Ailoot Ultra · Síntese de voz
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Outras leituras de conteúdo
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
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Guarde o resultado binário completo e os cabeçalhos. Se forem devolvidos JSON/vários resultados, conserve todos os itens de dados e obtenha cada recurso através do seu URL assinado efetivo.
Se for necessário verificar a resposta original
Conserve o operation_id/X-Client-Request-ID original para reconciliação sem voltar a enviar o pedido; não existe uma rota dedicada à consulta periódica do estado do áudio.
Campos da resposta
| Campo | Tipo |
|---|---|
Campobinary audio | Tipobytes |
Camporesponse headers | Tipoheaders |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Respostaserver_error | CondiçãoA resposta devolvida indica que a operação ou o resultado requer verificação | Passo seguinteGuarde o ID original da operação/tarefa devolvido, os cabeçalhos do pedido e a resposta; continue a consultar essa operação original através das consultas suportadas. Não volte a enviar o pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra deepgram/flux-tts
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · Deepgram: Flux TTS
- Que entradas e resultados estão disponíveis?
POST /v1/audio/speech·deepgram/flux-tts:text→audio- Que campos utiliza o pedido?
POST /v1/audio/speech·deepgram/flux-tts:model,input,voice,response_format