У вас есть текст для взрослых — голосовое сообщение, глава художественного произведения или сцена с двумя персонажами — и вы хотите озвучить его как написано, с дыханием и вздохами, а также узнать стоимость. Gemini 2.5 Pro TTS делает это на SpicyAPI. SpicyAPI не добавляет фильтр контента: в наших тестах в сентябре 2026 года тексты для взрослых возвращались как полноценное аудио без пропусков, смягчения или преждевременного обрыва.
Как начать в Playground:
- Выберите Voice под нужное настроение:
Enceladus(с придыханием),Achernar(мягкий),Sulafat(тёплый),Gacrux(зрелый) или стандартныйKore(уверенный). - Задайте Style (для интимного материала обычно выбирают
Whisper), затем добавьте одно или два предложения в Delivery instructions или Scene, описывающих ситуацию. - Укажите звуки в квадратных скобках внутри Text, например
[sighs]или[laughs]. В наших примерах эти ремарки исполнялись как звуки; если ремарка читается вслух, перенесите указание в Delivery instructions. - Для двух персонажей используйте Dialogue и Speakers вместо Text.
Попробовать Gemini 2.5 Pro TTS →
Сначала попробуйте в Playground
Откройте Gemini 2.5 Pro TTS и используйте вкладку Playground в режиме Form:
- Вставьте сценарий в Text (до 5 000 символов). Быстрые вставки Cues добавляют
[whispers],[sighs],[laughs],[gasps]и[pause]. - Выберите Voice (например,
Enceladus · Breathy), установите Style вWhisper, а Pace вUnhurried, чтобы получить медленное, протяжное чтение. - Напишите одно или два предложения в Delivery instructions и Scene. Ни одно из этих полей не озвучивается.
- Проверьте оценку по длине под Text, нажмите Run model и прослушайте результат в Output. Там же скачайте WAV.
Прослушайте здесь самый сложный фрагмент до написания кода: ремарка, которая в Playground читается вместо исполнения, будет читаться и через API. Ниже объясняется действие каждой настройки.
Настройки, меняющие результат
voice_id принимает один из 30 готовых голосов. По умолчанию используется Kore.
| Настроение | Голоса для прослушивания |
|---|---|
| С придыханием, близкий | Enceladus |
| Мягкий, нежный | Achernar, Vindemiatrix |
| Тёплый | Sulafat |
| Зрелый, хрипловатый | Gacrux, Algenib |
| Уверенный | Kore, Orus |
| Бодрый, лёгкий | Puck, Aoede |
Четыре необязательных поля дополнительно формируют исполнение. Ни одно не читается вслух.
styleзадаёт общую манеру:whisper,empathetic,vocal_smile,newscaster,promo_hypeилиdeadpan.paceзадаёт ритм:natural,rapid_fire(быстро, отрывисто),the_drift(медленно, протяжно) илиstaccato(короткие, разделённые фразы). Более медленный темп увеличивает число секунд аудио, а оплачиваются именно секунды.instructions(до 1 000 символов) — свободный текст о настроении, расстоянии до микрофона и адресате. Одно или два предложения работают лучше списка прилагательных: "close to the microphone, unhurried, as if speaking only to the listener".scene(до 500 символов) описывает, где и кому произносятся слова, например "a quiet hotel room after midnight".
accent (восемь английских акцентов, только для английских сценариев) и temperature (степень различий между дублями) необязательны; не задавайте их, пока не захотите получить вариацию. Поля языка нет: модель определяет язык сценария, и каждый голос сохраняет свой характер.
Пишите сценарий с расчётом на исполнение
Короткие ремарки в квадратных скобках внутри text отмечают место звука или изменения подачи. В наших примерах [sighs] и [laughs] были исполнены. Для подачи длинного фрагмента используйте style: "whisper" или instructions; если тег читается как слово, используйте вместо него эти поля. Многоточия подсказывают паузы.
Помогают две привычки:
- Пишите для слуха. Записывайте полностью то, что должно прозвучать, используйте многоточия и запятые для пауз и делайте предложения короткими.
- Задавайте режиссуру в полях, а не в тексте. Если написать "she whispers breathlessly" в
text, эти слова будут прочитаны. Поместите указание вstyleилиinstructions.
Затем вызовите модель из кода
Этот блок создаёт задачу, ждёт её завершения и выводит ссылку на WAV (pip install spicyapi, с заданной SPICY_API_KEY):
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="google/gemini-2.5-pro-tts/text-to-speech",
input_data={
"text": "Hey... it is me. [sighs] I know it is late. Stay on the line a little longer?",
"voice_id": "Enceladus",
"style": "whisper",
"pace": "the_drift",
"scene": "A quiet bedroom after midnight, speaking to one listener",
"instructions": "Close to the microphone, unhurried, a little tired.",
},
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']}")
print(output_assets(final)[0]["url"]) # a 24 kHz, 16-bit mono WAV; copy it to your own storageАудио хранится 14 дней; временных меток отдельных слов и субтитров нет. Ожидание, повторные попытки, истечение срока ссылок на результаты и обработка ошибок описаны в справочнике Python SDK, документации задач и правилах хранения.
Или поручите выполнение Agent
Если голосовые сообщения должен генерировать ассистент, предоставьте ему CLI или сервер MCP: оба показывают цену и запрашивают подтверждение перед платным вызовом. Skill добавляет инструкции поверх любого из этих способов.
- CLI.
spicyapi(npx @spicyapi/cliработает без установки);input.jsonсодержит объектinputиз блока выше:
``bash spicyapi tasks create --model google/gemini-2.5-pro-tts/text-to-speech \ --input-file input.json --wait ``
- Сервер MCP. Добавьте сервер MCP, затем попросите: "Read this script in a whispered Enceladus voice with Gemini 2.5 Pro TTS." Он вызывает
spicyapi_task_create(с остановкой для подтверждения цены) иspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillустанавливает Agent Skill, который учит ассистента по программированию читать текущую схему и повторно использовать ключи идемпотентности. Сам он не выполняет задачи, поэтому используйте его с CLI или MCP.
Два персонажа в одном клипе
Для сцены с двумя персонажами отправьте dialogue вместо text (не оба поля) и speakers с составом участников. У каждого говорящего есть name, на которое ссылаются реплики, и voice_id. Можно задать собственные accent, style и pace, а также короткий profile с описанием говорящего (не озвучивается). Пропущенные говорящим значения берутся с верхнего уровня. Каждая реплика имеет вид {speaker, text} и исполняется по порядку; допустимы до 20 реплик по 250 символов и максимум два говорящих. Используйте тот же вызов, что выше, заменив объект input следующим.
{
"speakers": [
{ "name": "Mara", "voice_id": "Sulafat", "style": "whisper", "profile": "Warm, close, unhurried" },
{ "name": "Jonah", "voice_id": "Charon", "profile": "Low, amused" }
],
"dialogue": [
{ "speaker": "Mara", "text": "Stay a little longer." },
{ "speaker": "Jonah", "text": "[laughs] You say that every time." },
{ "speaker": "Mara", "text": "And every time you do." }
],
"scene": "A quiet apartment after midnight"
}Разговор возвращается одним сведённым WAV. Чтобы позже редактировать реплики одного персонажа отдельно, создайте для каждого персонажа отдельную задачу с одним голосом и соедините файлы в редакторе. Для более длинных сцен, более двух голосов или клонирования голоса по референсному клипу смотрите сравнение TTS и руководство по голосовым референсам Chatterbox.
Сколько это стоит
Оплата производится за секунды фактически возвращённого аудио, измеренные по файлу, по $0,00045 в секунду. Длительность зависит от голоса, стиля и темпа: абзац из 270 символов длится от 23 до 29 секунд. Поэтому приблизительная стоимость равна числу символов, делённому на 10 и умноженному на $0,00045.
| Длительность клипа | Стоимость | Примерный объём текста |
|---|---|---|
| 15 секунд | $0,0068 | 150 символов |
| 30 секунд | $0,0135 | 300 символов |
| 60 секунд | $0,027 | 600 символов |
| 5 минут | $0,135 | 3 000 символов |
| От 7 до 9 минут | От $0,19 до $0,24 | 5 000 символов, лимит text |
Пока задача выполняется, на балансе резервируется около $0,30 (660 секунд по посекундной ставке, что покрывает самый длинный клип, который может создать модель, около 655 секунд). Неиспользованная часть освобождается после измерения аудио. Неудачный запрос не оплачивается. Перед постановкой пакета в очередь оставьте свободным как минимум этот баланс: резервы по предыдущим задачам могут помешать запуску следующей.
Частые затруднения
- Ремарка читается как слово. Переформулируйте её или перенесите указание в
styleлибоinstructions, оставив в скобках только звук. - Указание словно игнорируется.
accentвлияет только на английские сценарии;styleиpaceверхнего уровня применяются ко всем говорящим, не задавшим собственных значений. - Вы отправили и
text, иdialogue. Выберите одно;dialogueтакже требуетspeakers.
Когда выбрать более новый голос Gemini
Gemini 3.8 Flash TTS ($0,00032 в секунду) и Gemini 3.8 Flash-Lite TTS ($0,00021 в секунду) принимают те же поля, включая dialogue, по более низкой цене. Flash-Lite склонен читать часть ремарок в скобках, поэтому выбирайте Pro, если важны дыхание и вздохи. Flash обычно тоже исполняет ремарки; сначала прослушайте короткий фрагмент. Руководство по озвучиванию Gemini 3.8 подробно рассматривает оба варианта.
Частые вопросы
Работает ли Gemini 2.5 Pro TTS без цензуры?
Проверенные нами сценарии для взрослых возвращались полностью, без пропущенных или смягчённых слов. SpicyAPI не добавляет дополнительный фильтр контента. Вы по-прежнему отвечаете за сценарии и использование аудио, включая то, чтобы не выдавать его за слова реального человека. Используйте вымышленных взрослых персонажей.
Читаются ли вслух ремарки вроде [sighs] или [laughs]?
В проверенных примерах [sighs] и [laughs] исполнялись как звуки. Если другая ремарка читается, перенесите указание в instructions или используйте style. Другие модели ведут себя иначе, как объясняет сравнение TTS выше.
Чем различаются instructions, scene и style?
style — фиксированный список общих манер речи. instructions содержит свободные указания по подаче, а scene описывает, где и кому произносятся слова. Сначала используйте style, затем добавьте instructions или scene под конкретную ситуацию.
Сколько стоит минута аудио?
Около $0,027, с оплатой по возвращённым секундам, а не длине сценария.
Можно ли клонировать голос?
Не на этом эндпоинте. Выберите один из 30 готовых голосов или модель, принимающую референсный клип.
Начните в Playground (сначала создайте аккаунт): Enceladus, Whisper и короткий сценарий с одной ремаркой [sighs] покажут, как реализуются указания.





