Seed Speech 2.0 читает один готовый голос за запрос, поэтому разговор двух взрослых персонажей — это одна задача на реплику, а склеиваются они коротким аудиомонтажом. Каждая задача стоит 0,072 $ за 1000 символов произносимого текста, без минимума, а подсказка подачи бесплатна.
Модель подходит для голосовых сообщений персонажей, озвучки аудиокниг и диалогов, где одну реплику нужно переделать, не трогая другую. Если нужны оба голоса и фоновый звук в одном файле, используйте вместо неё Seed Audio 1.0.
Что даёт один запрос
| Параметр | Seed Speech 2.0 |
|---|---|
| Обязательное поле | text, 1-5000 символов |
| Голос | Один voice_id из 41 готового; по умолчанию stokie_en |
| Подсказка подачи | instructions, до 1000 символов; не произносится и не тарифицируется |
| Результат | Один моно-MP3 24 кГц или Ogg Opus (opus); без таймингов слов и субтитров |
| Длительность и скорость | Около 11 символов в секунду речи; около 8 секунд на генерацию 300 символов |
| Хранение | 14 дней, поэтому скачайте файл |
| Стоимость | 0,072 $ за 1000 символов; 5000 символов — 0,36 $; истёкшая задача не тарифицируется |
| Недоступно | Загрузка референсного голоса, массив из нескольких говорящих |
Выберите готовый голос и попробуйте реплику на странице задачи Seed Speech 2.0. Клонирование голоса, потоковая передача и распознавание речи из более широкого семейства Seed Speech от BytePlus в эту задачу не входят. Чтобы сначала услышать голос, послушайте опубликованное ночное голосовое сообщение; оно использует stokie_en с тихой, доверительной подсказкой подачи.
Сначала попробуйте две реплики в Playground
На этой странице откройте вкладку Playground. Для каждой реплики двух вымышленных взрослых после свидания:
- Вставьте в Text только слова, которые должны прозвучать. Не пишите имена говорящих («Анна:») и ремарки («она улыбается»): их прочитают вслух, а если поместить обоих персонажей в один запрос, один голос прочитает обе реплики вместе с именами.
- Выберите имя в Voice (по умолчанию Stokie · English).
- Опишите подачу в Delivery instructions; этот текст не произносится и не тарифицируется.
- Оставьте Language на Auto, запустите задачу, прослушайте результат и скачайте MP3.
Реплики и инструкции остаются на английском, потому что Stokie и Tim — английские готовые голоса.
| Реплика | Голос | Text | Delivery instructions |
|---|---|---|---|
| 1 | Stokie (stokie_en) | "You don't have to go yet. Stay for another coffee? I like talking to you when we're not watching the clock." | Warm and slightly playful. Speak quietly to one adult listener, with a natural question rather than a sales pitch. |
| 2 | Tim (tim_en) | "Then I'll stay. I was hoping you would give me a reason." | Low, relaxed and amused. Answer an invitation naturally; do not sound like an announcer. |
Склейте два скачанных файла в любом аудиоредакторе, оставив короткую паузу. Для автоматической склейки используйте скрипт ниже.
Затем автоматизируйте весь обмен скриптом
Установите Python SDK (pip install spicyapi) и ffmpeg, задайте SPICY_API_KEY и запустите код ниже. Он отправляет одну задачу на реплику, скачивает каждый MP3, а затем склеивает их с 0,35 секунды тишины после каждой реплики и выровненной громкостью.
import subprocess, urllib.request
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
GAP = 0.35 # seconds of silence after each turn
TURNS = [
{"text": "You don't have to go yet. Stay for another coffee? I like talking to you when we're not watching the clock.",
"voice_id": "stokie_en",
"instructions": "Warm and slightly playful. Quiet, to one adult listener."},
{"text": "Then I'll stay. I was hoping you would give me a reason.",
"voice_id": "tim_en",
"instructions": "Low, relaxed and amused. Answer naturally, not like an announcer."},
]
files = []
for i, turn in enumerate(TURNS, 1):
task = client.create_task(
model="bytedance/seed-speech-2.0/text-to-speech",
input_data=dict(turn, language="en", output_format="mp3"),
idempotency_key=f"dialogue-take-1-turn-{i}", # new keys for a new take
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"Turn {i} ended as {final['state']}")
files.append(f"turn-{i:02d}.mp3")
urllib.request.urlretrieve(output_assets(final)[0]["url"], files[-1])
cmd = ["ffmpeg", "-y"] + [x for f in files for x in ("-i", f)]
chains = [f"[{i}:a]loudnorm=I=-18,apad=pad_dur={GAP}[a{i}]" for i in range(len(files))]
graph = ";".join(chains) + ";" + "".join(f"[a{i}]" for i in range(len(files))) + f"concat=n={len(files)}:v=0:a=1"
subprocess.run(cmd + ["-filter_complex", graph, "-ar", "24000", "-b:a", "128k", "dialogue.mp3"], check=True)Подбирайте GAP, пока ответ не зазвучит естественно. Если реплика начинается неудачно, сгенерируйте заново всё предложение, а не латайте одно слово, и пересоберите файл. Ожидание, повторные попытки и ошибки описаны в справочнике Python SDK и руководстве по асинхронным задачам; восстановление после сбоев в большом масштабе — тема статьи блога о поллинге и вебхуках.
Или поручите это агенту
Если ассистент должен озвучить сценарий, дайте ему CLI или MCP-сервер. Оба показывают цену и просят вашего подтверждения перед платным вызовом. Skill добавляет инструкции поверх любого из них.
- CLI.
spicyapiвыполняет одну реплику за вызов (npx @spicyapi/cliработает без установки). Поместите объектinputреплики вturn-1.json:
``bash spicyapi tasks create --model bytedance/seed-speech-2.0/text-to-speech \ --input-file turn-1.json --idempotency-key dialogue-take-1-turn-1 --wait ``
- MCP-сервер. Добавьте MCP-сервер в ассистента и попросите: «Read these two lines with Seed Speech 2.0, stokieen then timen, and join them with a short gap.» Для каждой реплики он вызывает
spicyapi_task_create(останавливается для подтверждения цены) иspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillустанавливает Agent Skill, который учит ассистента-программиста читать актуальную схему и повторно использовать ключи идемпотентности. Сам он задачи не запускает, поэтому применяйте его вместе с CLI или MCP.
Выбирайте голос и язык вместе
Суффикс каждого ID голоса перечисляет языки, для которых он создан. Среди английских готовых голосов — stokie_en, dacey_en и tim_en. Другие охватывают японский (minimi_ja), немецкий (sven_de), французский (usseau_fr), корейский (shane_ko) и испанский (felipe_es); jess_ja_es_id_pt_en_zh говорит на шести языках. В списке не сказано, какие голоса мужские, а какие женские, поэтому проведите прослушивание: одна и та же реплика в 100 символов через пять кандидатов стоит в сумме около 0,036 $. Сохраните победивший voice_id и instructions для всех следующих реплик этого персонажа.
language принимает zh, en, ja, es-mx, id, pt-br, ko, it, de и fr. Пропустите поле для автоопределения и задайте его, если короткая или многоязычная реплика читается не на том языке. Испанский — es-mx, португальский — pt-br. Поле ничего не переводит: пишите реплику на целевом языке.
Сценарии для взрослых и невербальные звуки
По нашим тестам сентября 2026 года SpicyAPI не добавляет к этой модели фильтр контента, а прямые и аудиокнижные отрывки для взрослых вернулись слово в слово, причём текст инструкций ни разу не был произнесён. Отрывок с множеством подсказок сохранил лексику, но сам добавил вокализации без слов. В задаче нет поля для звуковых тегов: пишите звук словом («Mm...», «Ah...») и описывайте дыхание или тон в instructions. Если сцена держится на сыгранных вздохах и стонах, Gemini 3.8 Flash, Grok и MiniMax исполняют вставленные в текст подсказки как звуки; Seed Speech — нет.
Настройки, которые решают реальную проблему
| Параметр | Диапазон | Когда использовать |
|---|---|---|
speed | 0,5-2, по умолчанию 1 | Реплика звучит торопливо: попробуйте 0,9. Если торопливо звучит одна фраза, сократите предложение или поставьте точку |
pitch | от -12 до +12 полутонов | Небольшая подстройка после выбора голоса; для другого персонажа смените готовый голос |
volume | 0,5-2, по умолчанию 1 | Заменяющая реплика громче или тише соседних |
sample_rate | от 8000 до 48 000 Гц | Вашему монтажному проекту нужна частота, отличная от 24 кГц |
output_format | mp3 или opus | Opus для файлов меньшего размера, если плеер поддерживает Ogg Opus; WAV не предлагается, конвертируйте локально |
Реплика, которая звучит театрально, обычно получила слишком длинную инструкцию: замените её на «Quiet, natural conversational delivery.» Голосу с неподходящим базовым характером нужен другой готовый голос ещё до любой смены высоты. Необычное имя иногда произносится неверно, а словаря произношения нет, поэтому запишите его в text так, как оно звучит.
Для субтитров текст нужно выравнивать по готовому файлу, так как задача не возвращает временные метки.
Заложите в бюджет сценарий, включая правки
Цена зависит от символов в text, включая пробелы, знаки препинания и переносы строк; instructions бесплатны, а расчёт, показанный перед запуском, окончателен. Реплика в 200 символов стоит 0,0144 $ и даёт около 18 секунд речи; сцена в 2000 символов на двух говорящих стоит 0,144 $, а три полных дубля — 0,432 $. Два говорящих не дают наценки. Замена одного ответа в 200 символов стоит 0,0144 $, что намного меньше, чем заново генерировать сцену, поэтому для переозвучки сохраните тот же готовый голос и те же настройки.
Выбирайте Seed Speech ради недорогих готовых голосов и реплик, которые можно переделывать по одной; выбирайте Seed Audio 1.0, когда нужны оба голоса и атмосфера в одном файле.






