SpaceXAI: Grok Voice TTS 1.0
O Grok Text to Speech transforma texto escrito em áudio expressivo, com vozes selecionáveis, indicações de interpretação no próprio texto e vários codecs de saída. A família documentada pelo fabricante suporta síntese de voz completa e em streaming, além de tempos opcionais ao nível de cada carácter.
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.
O Grok Text to Speech é a funcionalidade de conversão de texto em áudio da família de voz Grok. O fabricante documenta vozes expressivas integradas, indicações vocais no próprio texto e formatos de saída adequados à reprodução de conteúdos ou ao áudio telefónico. A entrada é o texto a pronunciar, juntamente com as escolhas de voz e idioma. A gravação resultante reproduz esse texto; o reconhecimento de voz e os modelos de conversação de voz para voz têm tarefas distintas.
Voz, idioma e texto falado
O catálogo do fabricante atribui a cada voz um perfil de interpretação. Ara é calorosa e simpática, Eve é animada e tem sotaque britânico, e Rex é descrita como clara e confiante. Na família documentada, voz e idioma são independentes: as vozes integradas podem usar qualquer uma das opções de idioma suportadas. O guia apresenta vinte opções de códigos de idioma, incluindo variantes regionais, e também suporta a deteção automática do idioma. Além das vozes integradas, o fabricante documenta vozes personalizadas reutilizáveis, criadas a partir de uma gravação de referência e selecionadas através de voice_id para síntese completa ou em streaming. O áudio de referência pode ter até 120 segundos; recomendam-se 90–120 segundos de fala limpa, de uma única pessoa, para captar a interpretação e a entoação. Guarde a referência, o perfil de voz criado e a gravação gerada como artefactos separados e adeque a interpretação da referência ao guião pretendido.
Prepare a formulação final a pronunciar, preservando o idioma pretendido para os nomes e as passagens citadas. Para um guia narrado, uma frase útil é: «Escolha um tema, ouça a breve introdução e abra a secção que pretende explorar.» Se um nome de marca ou termo especializado exigir uma leitura específica, os controlos de substituição do fabricante permitem fornecer uma grafia fonética ou uma pronúncia em IPA sem alterar o texto de origem apresentado. Uma opção separada de normalização do texto converte números, abreviaturas e símbolos escritos para uma forma mais próxima da sua leitura em voz alta.
Indicações de interpretação
As etiquetas inseridas no texto posicionam um evento num ponto específico, como uma pausa, uma gargalhada, um suspiro ou uma respiração. As etiquetas envolventes aplicam uma forma de interpretação a uma frase completa, por exemplo um sussurro, uma ênfase ou um trecho mais lento. Coloque a indicação onde o significado a justifica e mantenha as palavras legíveis. O guia recomenda aplicar estilos a frases completas e usar pontuação, em vez de acumular etiquetas sem relação entre si.
Para uma fala expressiva de uma personagem, prepare em conjunto a frase a pronunciar e a mudança de interpretação. Para uma explicação, mantenha um ritmo claro que ajude o ouvinte a acompanhar os passos. O intervalo documentado para a velocidade da fala é de 0.7 a 1.5, sendo 1.0 a interpretação normal. A velocidade escolhida altera o ritmo da fala; não altera as palavras que a aplicação deve comunicar.
Áudio e tempos
O fabricante documenta saídas MP3, WAV, PCM em bruto, mu-law e A-law. As opções suportadas para a frequência de amostragem vão de 8 kHz a 48 kHz, com frequências específicas enumeradas entre esses valores. A configuração MP3 predefinida é de 24 kHz a 128 kbit/s. Use uma representação de áudio que o leitor, a etapa de edição ou o circuito telefónico de destino consiga interpretar.
Os tempos opcionais por carácter associam a sequência de caracteres devolvida aos instantes de início e fim. Sem substituições de pronúncia, essa sequência reflete a entrada; as substituições podem alterá-la para corresponder ao texto falado. Estes dados permitem acompanhar a leitura no ecrã, realçar texto ou alinhá-lo com uma interpretação visual. No fluxo de resposta completa, pedir os tempos altera a saída para um envelope que contém o áudio codificado e os dados temporais. Trate os tempos e o áudio como um resultado associado, sobretudo quando a normalização expande um símbolo escrito para várias palavras faladas.
Geração completa ou em streaming
O fabricante oferece um percurso de pedido completo e streaming bidirecional, em que chegam fragmentos de texto e são devolvidos blocos de áudio à medida que a fala é gerada. Documenta um limite de 60 000 caracteres para um pedido completo e para cada fragmento individual de texto enviado em streaming. Concluir ou limpar uma fala tem uma função explícita no fluxo de streaming.
Para narrações mais longas, escolha limites coerentes entre passagens e conserve o guião de cada resultado. Para reprodução interativa, distinga o texto enviado para síntese do áudio que o ouvinte já ouviu. O resultado útil é um guião com voz, indicações de interpretação intencionais, um formato de áudio adequado e dados temporais quando a aplicação precisa deles. Guarde o guião, a voz selecionada, as indicações de interpretação e as definições de saída juntamente com o áudio, para que revisões posteriores preservem a interpretação pretendida.
Ailoot Ultra · Síntese de voz POST /v1/audio/speech x-ai/grok-voice-tts-1.0
x-ai/grok-voice-tts-1.0Introdução
O Grok Text to Speech transforma texto escrito em áudio expressivo, com vozes selecionáveis, indicações de interpretação no próprio texto e vários codecs de saída. A família documentada pelo fabricante suporta síntese de voz completa e em streaming, além de tempos opcionais ao nível de cada carácter.
- 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 x-ai/grok-voice-tts-1.0 | Predefinição— |
Campoinput | Tipostring | RequisitoObrigatório | Valores e limites Comprimento mínimo: 1 Comprimento máximo: 15 000 Unidade: carateres Unicode | Predefinição— |
Campovoice | Tipostring | RequisitoObrigatório | Valores e limites eve, ara, rex, sal, leo | 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 | Contratoeve, ara, rex, sal, leo |
Parâmetroresponse_format | Contratomp3 |
Parâmetromax_input_characters | Contrato15000 |
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 | Quantidade faturável | Unidade de faturação | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade faturável— | 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çãoUltra | Tabela de tarifas— | Quantidade faturávelCada ponto de código Unicode conta como um caráter, incluindo os caracteres Han. | Unidade de faturaçãopor 1K caracteres de entrada | Custo Entrada · carácter de entrada $0.03 por 1K caracteres 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.
SpaceXAI: Grok Voice TTS 1.0
Preços por configuração
| Configuração | Condições de faturação | Custo |
|---|---|---|
| ConfiguraçãoSpaceXAI: Grok Voice TTS 1.0 · Configuração predefinida | Condições de faturaçãoConfiguração predefinida | Custo Entrada · Caracteres de entrada 0,00003 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": "x-ai/grok-voice-tts-1.0", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["eve", "ara", "rex", "sal", "leo"]')
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 x-ai/grok-voice-tts-1.0
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · SpaceXAI: Grok Voice TTS 1.0
- Que entradas e resultados estão disponíveis?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:text→audio- Que campos utiliza o pedido?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:model,input,voice,response_format- Que limites se aplicam?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:input.maximum_length:15000