SpaceXAI: Grok Voice TTS 1.0
Grok Text to Speech convierte texto escrito en audio expresivo con voces seleccionables, indicaciones de interpretación insertadas en el texto y varios códecs de salida. La familia documentada por el fabricante admite voz completa y en streaming, además de marcas de tiempo opcionales por carácter.
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.
Grok Text to Speech es la capacidad de convertir texto en audio de la familia de voz Grok. El fabricante documenta voces integradas expresivas, indicaciones vocales insertadas en el texto y formatos de salida adecuados para reproducción multimedia o audio telefónico. Recibe el texto que se debe pronunciar junto con la voz y el idioma elegidos. La grabación resultante reproduce ese texto; el reconocimiento de voz y los modelos conversacionales de voz a voz realizan tareas distintas.
Voz, idioma y texto hablado
El catálogo del fabricante asigna a cada voz un perfil de interpretación. Ara es cálida y amigable, Eve es animada y tiene acento británico, y Rex se describe como clara y segura. En la familia documentada, voz e idioma son independientes: las voces integradas pueden utilizar cualquiera de los idiomas compatibles. La guía enumera veinte opciones de código de idioma, incluidas variantes regionales, y también admite detección automática. Además de las voces integradas, el fabricante documenta voces personalizadas reutilizables que se crean a partir de una grabación de referencia y se seleccionan mediante voice_id para síntesis completa o en streaming. El audio de referencia puede durar hasta 120 segundos; se recomiendan 90–120 segundos de voz limpia de una sola persona para captar la interpretación y la entonación. Conserva por separado la referencia, el perfil de voz creado y la grabación generada, y procura que la interpretación de referencia corresponda al guion previsto.
Prepara la redacción definitiva que se escuchará y conserva el idioma previsto de nombres y citas. Para una guía narrada, una frase útil es: «Elige un tema, escucha la breve introducción y abre la sección que quieras explorar». Si una marca o un término especializado requiere una lectura particular, los controles de sustitución del fabricante permiten indicar una grafía fonética o pronunciación IPA sin modificar el texto fuente mostrado. Una opción independiente de normalización de texto convierte números, abreviaturas y símbolos escritos a su forma hablada.
Indicaciones de interpretación
Las etiquetas insertadas sitúan un evento en un punto concreto, como una pausa, risa, suspiro o respiración. Las etiquetas envolventes aplican una forma de interpretación a una frase completa, por ejemplo un susurro, énfasis o un pasaje más lento. Coloca la indicación donde lo requiera el significado y mantén legibles las palabras. La guía recomienda tramos de estilo que abarquen frases completas y el uso de puntuación, en lugar de acumular etiquetas sin relación.
Para una línea expresiva de un personaje, prepara conjuntamente la frase hablada y el cambio de interpretación. Para una explicación, conserva un ritmo claro que ayude a seguir los pasos. El intervalo documentado de velocidad del habla es de 0.7 a 1.5, con 1.0 como interpretación normal. Elegir una velocidad modifica el ritmo hablado; no cambia las palabras que la aplicación debe comunicar.
Audio y marcas de tiempo
El fabricante documenta salida MP3, WAV, PCM sin procesar, mu-law y A-law. Las frecuencias de muestreo compatibles van de 8 kHz a 48 kHz, con valores específicos enumerados entre ambos extremos. La configuración MP3 predeterminada es de 24 kHz a 128 kbit/s. Usa una representación de audio que pueda interpretar el reproductor, la etapa de edición o la vía telefónica prevista.
Las marcas de tiempo opcionales por carácter asocian la secuencia de caracteres devuelta con tiempos de inicio y fin. Sin sustituciones de pronunciación, esa secuencia refleja la entrada; las sustituciones pueden cambiarla al texto efectivamente pronunciado. Sirven para mostrar texto que acompañe la lectura, resaltarlo o alinearlo con una interpretación visual. En el flujo de respuesta completa, solicitar marcas de tiempo cambia la salida a una estructura que contiene audio codificado y datos temporales. Trata las marcas y el audio como un resultado conjunto, especialmente cuando la normalización expande un símbolo escrito a varias palabras habladas.
Generación completa o en streaming
El fabricante ofrece una vía de solicitud completa y streaming bidireccional: llegan fragmentos de texto y se devuelven bloques de audio mientras se genera el enunciado. Documenta un límite de 60,000 caracteres tanto para una solicitud completa como para cada fragmento de texto transmitido. Completar o borrar un enunciado tiene una función explícita en el flujo de streaming.
Para narraciones largas, elige límites de pasaje coherentes y conserva el guion con cada resultado. Para reproducción interactiva, distingue el texto enviado a síntesis del audio que la persona ya escuchó. La entrega útil es un guion con voz, indicaciones de interpretación deliberadas, un formato de audio adecuado y datos temporales cuando la aplicación los necesite. Conserva con el audio el guion, la voz elegida, las indicaciones y la configuración de salida para que futuras revisiones mantengan la interpretación prevista.
Ailoot Ultra · Síntesis de voz POST /v1/audio/speech x-ai/grok-voice-tts-1.0
x-ai/grok-voice-tts-1.0Inicio
Grok Text to Speech convierte texto escrito en audio expresivo con voces seleccionables, indicaciones de interpretación insertadas en el texto y varios códecs de salida. La familia documentada por el fabricante admite voz completa y en streaming, además de marcas de tiempo opcionales por carácter.
- Entradas aceptadas
- Texto
- Resultados
- Audio
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Síntesis de voz POST /v1/audio/speech
- Entrada
text- Salida
audio- Formato de salida
- mp3
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites x-ai/grok-voice-tts-1.0 | Predeterminado— |
Campoinput | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 Longitud máxima: 15,000 Unidad: caracteres Unicode | Predeterminado— |
Campovoice | Tipostring | RequisitoObligatorio | Valores y límites eve, ara, rex, sal, leo | 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 | Contratoeve, ara, rex, sal, leo |
Parámetroresponse_format | Contratomp3 |
Parámetromax_input_characters | Contrato15000 |
Parámetroother_options | Contratofalse |
Parámetroinput | Contratotexto UTF-8 exacto; conteo de caracteres Unicode sin normalización |
Parámetromaterial_types | Contratotext |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · El task_id real devuelto o el 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 se miden por separado.
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste 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.03 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 cotizaciones ni los cargos. Los cargos aplicados usan las tarifas del método Ailoot seleccionado.
SpaceXAI: Grok Voice TTS 1.0
Precios por configuración
| Configuración | Condiciones de facturación | Cargo |
|---|---|---|
| ConfiguraciónSpaceXAI: Grok Voice TTS 1.0 · Configuración predeterminada | Condiciones de facturaciónConfiguración predeterminada | Cargo Entrada · Caracteres de entrada USD 0.00003 por carácter de entrada |
Ailoot reserva un monto 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": "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
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 los encabezados. Si se devuelve JSON o varias salidas, conserva cada elemento de data y descarga cada recurso desde su 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 específica para consultar el estado del 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 revisión | Siguiente pasoConserva el ID original de operación o tarea devuelto, los encabezados de la solicitud y la respuesta; continúa con las consultas admitidas de esa operación original. No vuelvas a enviar la solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra x-ai/grok-voice-tts-1.0
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · SpaceXAI: Grok Voice TTS 1.0
- ¿Qué entradas y resultados están disponibles?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:text→audio- ¿Qué campos utiliza la solicitud?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:model,input,voice,response_format- ¿Qué límites se aplican?
POST /v1/audio/speech·x-ai/grok-voice-tts-1.0:input.maximum_length:15000