tts-1
TTS-1 convierte texto preparado en audio hablado con voces, velocidad de reproducción y formatos de salida seleccionables. OpenAI optimiza esta edición para generar voz con menor latencia, lo que la vuelve una opción práctica para lecturas con respuesta rápida, narraciones breves y entrega en streaming de un guion ya escrito.
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.
TTS-1 es el modelo de texto a voz de OpenAI optimizado para velocidad. Recibe las palabras que deben pronunciarse y produce audio, en lugar de una transcripción o respuesta escrita. Los ejemplos del fabricante incluyen narrar artículos escritos, producir voz en varios idiomas y reproducir audio conforme llega. TTS-1 ofrece menor latencia que TTS-1 HD; el modelo HD se centra en calidad de salida. La decisión útil es, por tanto, si para la tarea importa más reproducir pronto o contar con un perfil de narración de mayor calidad.
El flujo de generación de voz se organiza en torno al modelo, el texto de entrada y la voz elegida. La referencia de OpenAI limita la entrada a 4096 caracteres: es un límite de caracteres, no una ventana de contexto en tokens. Prepara el guion real antes de sintetizar: escribe las frases que debe escuchar la persona, resuelve abreviaturas y decide cómo pronunciar nombres, cantidades y encabezados. Para un artículo largo, organiza secciones en pasajes comprensibles por separado en vez de tratar todo el documento como una sola solicitud de voz.
La lista actual de voces de OpenAI específica para TTS-1 es alloy, ash, coral, echo, fable, onyx, nova, sage y shimmer. Son voces predefinidas; no constituyen el conjunto completo de voces de todos los modelos más recientes. Están optimizadas para inglés, mientras que la voz multilingüe se admite al proporcionar la entrada en el idioma que debe pronunciarse. Elige una voz con un pasaje representativo que tenga el mismo vocabulario y ritmo que el guion final. Mantén esa elección en clips relacionados cuando importe la continuidad.
El audio puede transmitirse por bloques para iniciar la reproducción antes de que termine de generarse todo el archivo. Es streaming de voz creada a partir de texto, no una conversación hablada de dos vías. Los formatos de salida documentados son MP3, Opus, AAC, FLAC, WAV y PCM; MP3 es el predeterminado. MP3 y AAC ofrecen audio comprimido; Opus se presta a streaming y comunicación; FLAC no tiene pérdida. WAV evita decodificar audio comprimido y PCM sin procesar contiene muestras de 24 kHz, 16 bits con signo y orden little-endian, sin encabezado de archivo. OpenAI recomienda WAV o PCM cuando el tiempo de respuesta es prioritario.
La referencia de voz proporciona una velocidad de 0.25 a 4.0, con 1.0 como valor predeterminado. El campo adicional de instrucciones en lenguaje natural no funciona con TTS-1 y este modelo no admite salida SSE de eventos. Sus controles documentados son guion, voz, velocidad y formato de audio; no deben atribuirse a esta edición los controles de acento, emoción o susurro de modelos más recientes. Al preparar un clip, elige la velocidad para favorecer la inteligibilidad y revisa después las palabras y pausas generadas, en vez de suponer que el número de caracteres fija una duración exacta.
La guía de idiomas incluye inglés, ruso, ucraniano, francés, alemán, español, portugués, italiano, árabe, chino, japonés, coreano, hindi, kazajo y muchos otros. El habla sigue el idioma del texto proporcionado. Por eso un encargo de narración multilingüe empieza por el guion traducido y el público previsto; texto a voz es una etapa de realización, no una instrucción para traducir o reescribir. Para un anuncio práctico, prepara el mensaje y nombres exactos. Para una narración educativa, aclara los límites de sección y las definiciones en las palabras que se leerán.
El recurso terminado puede ser una instrucción hablada breve, un pasaje narrado o un segmento de audio para una edición mayor. Revisa pronunciación, integridad, ritmo y formato elegido sobre la salida real. Conserva el guion junto con el audio para ubicar futuras correcciones en el pasaje afectado. La guía de OpenAI exige informar claramente a quienes escuchan que la voz se generó con IA. Ese aviso forma parte de la experiencia de escucha; no convierte TTS-1 en una grabación de voz humana ni añade controles de clonación de voz al modelo.
Ailoot Ultra · Síntesis de voz POST /v1/audio/speech openai/tts-1
openai/tts-1Inicio
TTS-1 convierte texto preparado en audio hablado con voces, velocidad de reproducción y formatos de salida seleccionables. OpenAI optimiza esta edición para generar voz con menor latencia, lo que la vuelve una opción práctica para lecturas con respuesta rápida, narraciones breves y entrega en streaming de un guion ya escrito.
- 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 openai/tts-1 | Predeterminado— |
Campoinput | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 Longitud máxima: 4,096 Unidad: caracteres Unicode | Predeterminado— |
Campovoice | Tipostring | RequisitoObligatorio | Valores y límites alloy | 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 |
Parámetrovoice_ids | Contratoalloy |
Parámetromax_input_characters | Contrato4096 |
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 | Cantidad para facturación | Unidad de facturación | Cargo |
|---|---|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad facturable— | Cantidad para facturación— | 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. | Cantidad para facturación— | Unidad de facturaciónpor 1K caracteres de entrada | Cargo Entrada · carácter de entrada $0.03 por 1K caracteres de entrada |
| ConfiguraciónPor solicitud | Tabla de tarifas— | Cantidad facturable— | Cantidad para facturaciónuna solicitud | Unidad de facturación— | Cargo Entrada $0 por solicitud |
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}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/tts-1", "input": "Good afternoon! This is a short voice take.", "voice": "alloy"}')
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 openai/tts-1
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · tts-1
- ¿Qué entradas y resultados están disponibles?
POST /v1/audio/speech·openai/tts-1:text→audio- ¿Qué campos utiliza la solicitud?
POST /v1/audio/speech·openai/tts-1:model,input,voice- ¿Qué límites se aplican?
POST /v1/audio/speech·openai/tts-1:input.maximum_length:4096