Pular para o conteúdo principal

Qwen3 TTS para vozes de personagens adultos: presets, instruções e custo

Escolha uma voz do Qwen3 TTS, oriente a leitura e salve um áudio. A partir de $0.0068 por linha; roteiros adultos são lidos na íntegra.

Autor
Lydia
Publicado
Leitura
8 min de leitura
Atualizado
Dois adultos ao lado de um cesto de peras e uma pera separada em um pomar fictício

Uma mensagem de voz de um personagem fictício funciona quando a voz combina com a pessoa e a leitura combina com o momento. O Qwen3 TTS transforma o roteiro de um personagem adulto em um único MP3 de voz única, e você orienta a leitura com uma nota em linguagem simples. A tarefa da SpicyAPI tem nove vozes predefinidas e custa $0.068 por 1.000 caracteres de texto, com um mínimo de 100 caracteres por requisição. Com base nos nossos testes de setembro de 2026, o vocabulário adulto explícito em passagens diretas e no estilo audiobook foi lido na íntegra. Use para mensagens de voz gravadas e narração; este caminho não tem clonagem de voz nem transmissão ao vivo.

O que a tarefa hospedada inclui

DetalheTarefa Qwen3 TTS
Entrada obrigatóriatext, 1–2.000 caracteres
Direção da leiturainstructions, até 1.000 caracteres; não é lido, não é cobrado
Voz padrãoSerena
Saídaum MP3 mono de 24 kHz
Preço$0.068 por 1.000 caracteres de texto, mínimo 100 caracteres ($0.0068)
Referência de voz enviadanão exposta
Vários falantes em uma requisiçãonão exposto; gere cada turno separadamente
Velocidade ou tom numéricosnão expostos; descreva a leitura em instructions

Escolha o preset e gere na página da tarefa Qwen3 TTS. O repositório da equipe Qwen também cobre as variantes CustomVoice, Base (clonagem) e VoiceDesign. São ofertas distintas: o argumento ref_audio ou speaker de uma biblioteca não é uma entrada aqui, onde o campo de voz é voice_id.

Escolha uma voz para o roteiro que você tem

PresetDescrição publicada da vozIdioma nativo
Serenavoz feminina calorosa e suavechinês
Vivianvoz feminina clara, levemente provocadorachinês
Uncle_Fuvoz masculina grave e maciachinês
Dylanvoz masculina distinta de Pequimchinês, dialeto de Pequim
Ericvoz masculina viva, levemente roucachinês, dialeto de Sichuan
Ryanvoz masculina ritmadainglês
Aidenvoz masculina americana distintainglês
Ono_Annavoz feminina leve e brincalhonajaponês
Soheevoz feminina calorosa e expressivacoreano

Todo preset consegue ler qualquer idioma compatível, mas a equipe do Qwen recomenda o idioma nativo da voz para a melhor qualidade. Para um personagem masculino em inglês, comece com Ryan ou Aiden. Para um personagem feminino em inglês, experimente Serena ou Vivian; o conjunto não tem voz feminina com inglês como idioma nativo, então ouça antes de decidir.

Ouça uma mensagem de voz com Serena: uma mensagem noturna de "me liga de volta" lida com uma instrução ofegante e provocadora.

Teste primeiro no Playground

Abra a página da tarefa Qwen3 TTS e use a aba Playground:

  1. Em Text, cole apenas as palavras que devem ser ouvidas (o roteiro de exemplo da página é um bom primeiro teste).
  2. Escolha um nome em Voice (Serena por padrão).
  3. Escreva a nota de leitura em Delivery instructions.
  4. Deixe Language em Auto-detect, ou escolha inglês para um roteiro em inglês se a detecção for ambígua.
  5. Execute e depois reproduza o resultado em Output e baixe o MP3.

Um adulto fictício depois de um encontro: Text "I had a good time tonight. More than I expected, actually. Call me tomorrow? I'd like to see you again.", Voice Serena, Delivery instructions "Quente e um pouco tímido, falando baixo com um único ouvinte adulto. Mantenha a pergunta final em tom de conversa." Não comece o texto com Serena: nem com "Read this in a soft voice"; os dois seriam lidos em voz alta. Experimente duas ou três vozes e notas aqui antes de escrever código; o preço aparece antes de você executar.

language aceita auto, zh, en, de, fr, es, it, pt, ru, ja e ko. Ele escolhe como o texto é lido; não traduz.

Depois chame pelo código

Instale o SDK Python (pip install spicyapi), defina SPICY_API_KEY no ambiente e execute:

python
import urllib.request
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

task = client.create_task(
    model="alibaba/qwen-3-tts/text-to-speech",
    input_data={
        "text": "I had a good time tonight. More than I expected, actually. Call me tomorrow? I'd like to see you again.",
        "voice_id": "Serena",
        "language": "en",
        "instructions": "Warm and slightly shy, speaking quietly to one adult listener. Keep the final question conversational.",
    },
    idempotency_key=str(uuid.uuid4()),  # new key per new request; reuse only to retry the same one
)

final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")

urllib.request.urlretrieve(output_assets(final)[0]["url"], "voice-message.mp3")

A espera, as novas tentativas, os orçamentos e os erros estão na referência do SDK Python e no guia de tarefas assíncronas.

Ou deixe um Agent executar

Se um assistente deve dar voz às suas falas, dê a ele a CLI ou o servidor MCP. Os dois mostram o preço e pedem confirmação antes de uma chamada paga. O Skill acrescenta instruções por cima de qualquer um dos dois.

  • CLI. spicyapi executa uma tarefa a partir de um terminal (npx @spicyapi/cli funciona sem instalar). Coloque o mesmo objeto input em input.json:

``bash spicyapi tasks create --model alibaba/qwen-3-tts/text-to-speech \ --input-file input.json --idempotency-key voice-message-take-1 --wait ``

  • Servidor MCP. Adicione o servidor MCP ao seu assistente e pergunte: "Leia esta fala com Qwen3 TTS, Serena, quente e um pouco tímido." Ele chama spicyapi_task_create (que para para sua confirmação de preço) e depois spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill instala o Agent Skill, que ensina um assistente de programação a ler o esquema atual e a reutilizar chaves de idempotência. Ele não executa tarefas sozinho, então use-o com a CLI ou o MCP.

Direcione a mesma fala de três maneiras

Mantenha o texto e a voz fixos e mude apenas a nota. Para "I thought you'd forgotten":

Sentimento pretendidoInstrução para testar
Alívio"Suspiro suave de alívio, sorrindo, um pouco mais baixo na última palavra"
Ferido"Quieto e contido, mais devagar, sem sorriso"
Provocação"Leve e brincalhão, leve elevação no final, como se escondesse um sorriso"

Mude uma coisa por vez. "Remova o sussurro" ou "mais devagar após a primeira frase" corrige uma tomada; "mais emocional, mais humano" não. Se o resultado ficar dramático demais, encurte a nota para "Leitura conversacional natural."

Ele consegue ler um roteiro NSFW?

Os testes cobriram uma passagem adulta direta, uma passagem emoldurada como audiobook e uma passagem com muitas marcações de cena, usando Serena ou Ryan com instruções de leitura. As transcrições direta e de audiobook corresponderam ao roteiro palavra por palavra, vocabulário adulto incluído, e o texto das instruções nunca foi lido em voz alta.

A passagem com muitas marcações manteve o vocabulário adulto, mas desviou mais do roteiro por causa de vocalizações não verbais. Trate respirações e risadas como algo para testar, não para controlar: se uma cena depender de uma, gere aquele momento primeiro e não suponha que a sintaxe de colchetes ou parênteses de outro modelo funciona aqui.

Monte uma cena com dois personagens

Uma requisição entrega uma voz. Para dois adultos fictícios, gere cada turno separadamente:

TurnoVozTextoDireção
1Serena"Did you really think I'd leave without saying goodnight?"pergunta quente e relaxada
2Ryan"No. I was hoping you would come find me."resposta quieta e divertida

Tutoriais de ComfyUI com vários falantes analisam nomes de falantes, pausas e sobreposições em um nó extra; essas tags não são campos de entrada aqui. Remova os nomes do texto falado, envie cada turno com seu próprio voice_id e depois ajuste as pausas no seu editor. Comece com uma pausa curta e mova o segundo clipe até a resposta soar natural. Colocar os dois nomes em um único campo text faz um preset ler os rótulos e as duas falas. Para roteirizar a conversa inteira e juntar os clipes automaticamente, veja o fluxo de diálogo do Seed Speech 2.0; o script de junção funciona com qualquer voz.

Para uma história longa de voz única, divida antes de 2.000 caracteres nos limites de frase ou parágrafo e reutilize a mesma voz e a mesma nota em cada trecho. Para substituir uma frase, regenere toda a frase ao redor e corte nas pausas vizinhas, para que volume e ritmo continuem casados.

A cobrança mínima pesa nas respostas curtas

O custo é max(text characters, 100) × $0.068 / 1,000, contando espaços e pontuação. As instruções são gratuitas.

Tamanho da entradaCaracteres cobradosCusto
40 caracteres100$0.0068
80 caracteres100$0.0068
180 caracteres180$0.01224
1.000 caracteres1.000$0.068
2.000 caracteres2.000$0.136

Dez respostas separadas de 40 caracteres custam $0.068, embora os textos somem apenas 400 caracteres; uma requisição de 400 caracteres com a mesma voz custa $0.0272. Junte a narração contínua de uma mesma voz quando a sua edição permitir, mas não junte personagens diferentes para escapar do mínimo.

Corrija um resultado decepcionante

ProblemaMudança
Uma fala sai apressadaAdicione "Sem pressa, com uma pausa natural após a primeira frase" a instructions
Um nome é pronunciado erradoEscreva-o foneticamente em text; mantenha a grafia correta no sua transcrição pública
A nota mal muda o timbreTente outro preset; notas de leitura não mudam o caráter básico de uma voz
A requisição rejeita speed, pitch ou ref_audioRemova-os e use os quatro campos acima

Se você precisa de clonagem de voz enviada ou conversa ao vivo, escolha uma tarefa que exponha isso; para comparar outros modelos de voz para roteiros adultos, veja nossa comparação de APIs de texto para voz.

Também em English · 日本語 · 한국어 · Deutsch · Français · Español · Русский · Italiano · Polski

Experimente você mesmo

Você paga só pelo que executar — sem plano e sem assinatura.

Feito com MiniMax H3 · ByteDance Seedance 2.0 Fast