tts-1
O TTS-1 converte texto preparado em áudio de voz, com escolha de vozes, velocidade de reprodução e formatos de saída. A OpenAI otimiza esta edição para gerar fala com menor latência, tornando-a uma opção prática para leituras com resposta rápida, narrações curtas e entrega em streaming de um guião já escrito.
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 TTS-1 é o modelo de conversão de texto em voz da OpenAI otimizado para a velocidade. Recebe as palavras a pronunciar e produz áudio, em vez de uma transcrição ou uma resposta escrita. Os exemplos do fabricante incluem narrar artigos escritos, produzir fala em vários idiomas e reproduzir o áudio à medida que chega. O TTS-1 é a opção de menor latência em comparação com o TTS-1 HD; o modelo HD privilegia a qualidade da saída. A decisão útil é, por isso, determinar se a tarefa valoriza mais a reprodução imediata ou o perfil de narração de qualidade superior.
O fluxo de geração de fala assenta no modelo, no texto de entrada e na voz selecionada. A referência da OpenAI limita o texto de entrada a 4096 caracteres: é um limite de caracteres, não uma janela de contexto em tokens. Prepare o guião efetivo antes da síntese: escreva as frases que o ouvinte deve ouvir, esclareça abreviaturas e decida como pronunciar nomes, quantidades e títulos. Para um artigo longo, organize as secções em passagens compreensíveis de forma independente, em vez de tratar todo o documento como um único pedido de síntese de voz.
A lista atual de vozes da OpenAI específica do TTS-1 inclui alloy, ash, coral, echo, fable, onyx, nova, sage e shimmer. São vozes predefinidas, não o conjunto completo de vozes de todos os modelos de fala mais recentes. As vozes estão otimizadas para inglês, embora a fala multilingue seja suportada mediante texto de entrada no idioma a pronunciar. Escolha a voz com uma passagem representativa que use o mesmo vocabulário e ritmo do guião final. Mantenha essa escolha consistente entre clips relacionados quando a continuidade for importante.
O áudio pode ser enviado em streaming por blocos, para a reprodução começar antes de a geração do ficheiro inteiro terminar. É streaming de fala criada a partir de texto, não uma conversação falada bidirecional. Os formatos de saída documentados são MP3, Opus, AAC, FLAC, WAV e PCM, com MP3 como predefinição. MP3 e AAC oferecem áudio comprimido; Opus é adequado a streaming e comunicação; FLAC é sem perdas. WAV evita a descodificação de áudio comprimido e PCM em bruto contém amostras de 24 kHz, com sinal, de 16 bits e em ordem little-endian, sem cabeçalho de ficheiro. A OpenAI recomenda WAV ou PCM quando o tempo de resposta é prioritário.
A referência de síntese de voz fornece uma definição de velocidade de 0.25 a 4.0, com 1.0 como valor predefinido. O campo adicional de instruções em linguagem natural não funciona com o TTS-1 e este modelo não suporta saída SSE em forma de eventos. Os controlos documentados são o guião, a voz, a velocidade e o formato de áudio; não se devem atribuir a esta edição os controlos de modelos mais recentes para sotaque, emoção ou sussurro. Ao preparar um clip, escolha uma velocidade que favoreça a inteligibilidade e depois examine as palavras e as pausas produzidas, em vez de assumir que o número de caracteres do guião determina uma duração exata.
O guia de idiomas inclui inglês, russo, ucraniano, francês, alemão, espanhol, português, italiano, árabe, chinês, japonês, coreano, hindi, cazaque e muitos outros idiomas. A fala segue o idioma do texto fornecido. Assim, um pedido de narração multilingue começa pelo guião traduzido e pelo público pretendido; a conversão de texto em voz é uma etapa de reprodução, não uma instrução para traduzir ou reescrever o texto. Para um aviso prático, prepare a mensagem e os nomes exatos. Para uma narração educativa, torne claros no texto lido os limites entre secções e as definições.
O artefacto acabado pode ser uma instrução falada curta, uma passagem narrada ou um segmento de áudio para uma edição maior. Reveja a pronúncia, a integridade, o ritmo e o formato escolhido no resultado efetivo. Conserve o guião com o áudio para que correções posteriores possam incidir na passagem afetada. As orientações da OpenAI exigem que os ouvintes sejam informados de forma clara de que a voz foi gerada por IA. Essa indicação faz parte da experiência de escuta; não transforma o TTS-1 numa gravação de voz humana nem acrescenta controlos de clonagem de voz ao modelo.
Ailoot Ultra · Síntese de voz POST /v1/audio/speech openai/tts-1
openai/tts-1Introdução
O TTS-1 converte texto preparado em áudio de voz, com escolha de vozes, velocidade de reprodução e formatos de saída. A OpenAI otimiza esta edição para gerar fala com menor latência, tornando-a uma opção prática para leituras com resposta rápida, narrações curtas e entrega em streaming de um guião já escrito.
- 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 openai/tts-1 | Predefinição— |
Campoinput | Tipostring | RequisitoObrigatório | Valores e limites Comprimento mínimo: 1 Comprimento máximo: 4096 Unidade: carateres Unicode | Predefinição— |
Campovoice | Tipostring | RequisitoObrigatório | Valores e limites alloy | 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 |
Parâmetrovoice_ids | Contratoalloy |
Parâmetromax_input_characters | Contrato4096 |
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 | Quantidade faturada | Unidade de faturação | Custo |
|---|---|---|---|---|---|
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade faturável— | Quantidade faturada— | 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. | Quantidade faturada— | Unidade de faturaçãopor 1K caracteres de entrada | Custo Entrada · carácter de entrada $0.03 por 1K caracteres de entrada |
| ConfiguraçãoPor pedido | Tabela de tarifas— | Quantidade faturável— | Quantidade faturadaum pedido | Unidade de faturação— | Custo Entrada $0 por pedido |
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}"
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
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 openai/tts-1
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · tts-1
- Que entradas e resultados estão disponíveis?
POST /v1/audio/speech·openai/tts-1:text→audio- Que campos utiliza o pedido?
POST /v1/audio/speech·openai/tts-1:model,input,voice- Que limites se aplicam?
POST /v1/audio/speech·openai/tts-1:input.maximum_length:4096