Тема
Язык

Транскрипция аудио

Транскрибируйте аудио через совместимую с OpenAI конечную точку POST /v1/audio/transcriptions. Поддерживаемые модели, ограничения на файлы, примеры на curl и Python, а также дополнительный API асинхронных задач по URL.

Аудио, совместимое с OpenAI

Используйте JSON-структуру OpenAI для синтеза речи. Ответ содержит аудиобайты и по умолчанию использует MP3.

POSThttps://getvibeapi.com/v1/audio/speech
curl https://getvibeapi.com/v1/audio/speech \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "chatterbox-turbo",
    "input": "Hello from GetVibe",
    "voice": "default",
    "response_format": "mp3",
    "speed": 1
  }' \
  --output speech.mp3

Доступные модели — tts, gemini-tts, gemini-3.8-flash-tts, gemini-3.8-flash-lite-tts, gemini-3.8-flash-tts-lite, chatterbox-tts, kokoro-tts, chatterbox-turbo и gpt-4o-mini-tts. response_format (mp3, opus, aac, flac, wav, pcm) и speed используют формат OpenAI; на страницах моделей перечислены любые более узкие нативные ограничения. gpt-4o-mini-tts принимает 13 голосов OpenAI (alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer, verse, marin, cedar) и необязательное поле instructions, которое управляет подачей простыми словами, например "speak calmly and warmly".

Клонирование голоса

Модель voice-clone-tts озвучивает любой текст вашим голосом, в том числе на русском. Сначала один раз создайте голос на основе записи длительностью от 3 до 60 секунд (wav или mp3, до 10 MB) — это бесплатно. Требуется consent: true: вы подтверждаете, что это ваш голос или что у вас есть согласие его владельца. До 20 новых голосов за 24 часа.

POSThttps://getvibeapi.com/api/media/voices
curl https://getvibeapi.com/api/media/voices \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My voice",
    "consent": true,
    "audio_url": "https://example.com/my-voice.wav"
  }'

В ответе есть voice.id (voice_…). Передайте его как opts.voice_id в обычном медиазапросе; движок qwen3 (по умолчанию, лучшее качество) или chatterbox (экономный). Цена за 1000 символов текста, до 4000 символов на запрос.

Премиум-голос — максимальное сходство. Добавьте "engine": "premium" при его создании; запись должна быть длительностью 10–60 секунд. Создание стоит $2.00 однократно и списывается, только если голос создан: при ошибке не списывается ничего, а баланс ниже цены возвращает 402 ещё до отправки записи. Синтезируйте с помощью движка MiniMax: minimax-speech-2.8-hd, minimax-speech-2.6-hd или minimax-speech-02-hd ($0.125 за 1000 символов) и их Turbo-версии ($0.075); старые названия premium / premium-turbo означают speech-02. Сразу после создания мы произносим этим голосом одно короткое слово — MiniMax удаляет голос, не использованный 7 дней. Удалённый Premium-голос перестаёт работать сразу, но сервис синтеза не предлагает удаление, и плата за создание не возвращается.

POSThttps://getvibeapi.com/api/media/generate
curl https://getvibeapi.com/api/media/generate \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "voice-clone-tts",
    "prompt": "Hello! This is my cloned voice.",
    "opts": { "voice_id": "voice_Ab12Cd34Ef56Gh78Ij90", "language": "auto" }
  }'

Голос доступен только вашему аккаунту. Просмотрите их с помощью GET /api/media/voices; удалите один с помощью DELETE /api/media/voices/{voice_id} — запись удаляется и из сервиса синтеза. Сами мы запись не храним.

Голос ElevenLabs. Когда он включён, GET /api/media/voices показывает его цены в разделе pricing.elevenlabs_*. Создайте голос с помощью engine: "elevenlabs" из записи длительностью 10–60 секунд (число голосов ограничено: когда места заканчиваются, ответ 409 voice_slots_full), затем синтезируйте через elevenlabs-v4 или elevenlabs-v4-turbo — stability, similarity_boost, speed, seed, language и звуковые теги вроде [laughs] прямо в тексте. Второй файл результата — JSON с субтитрами и таймингами слов. Цена за 1000 символов: v4 $0.044, v4 Turbo $0.022 — промо-цена до 12 октября 2026 года, затем $0.16 и $0.08. Хранение — $0.70 за голос в месяц (первый месяц включён; далее списывается ежемесячно в день создания голоса). Если баланс слишком мал, голос сохраняется ещё на месяц и удаляется, только если плата всё ещё не внесена к следующему списанию — мы предварительно пишем вам. Все ваши голоса и их статус — в разделе My voices.

Несколько записей. Голос ElevenLabs вмещает до 25 записей: при создании — массив samples (каждый {"audio_url"} или {"audio_base64"}, wav/mp3 до 10 МБ, суммарно до 50 МБ и 10–300 секунд), а позже — через POST /api/media/voices/{voice_id}/samples {"samples": […]}. Добавление бесплатно; плата за хранение остаётся одна на голос. С "remove_background_noise": true ElevenLabs бесплатно удаляет фоновый шум из записей (по умолчанию выключено: может испортить чистую запись).

Транскрибация, совместимая с OpenAI

Отправьте multipart-запрос с file и model. Размер файлов ограничен 50 MB. Ответ — { text: "..." }.

POSThttps://getvibeapi.com/v1/audio/transcriptions
curl https://getvibeapi.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -F [email protected] \
  -F model=whisper-large-v3 \
  -F language=en
# → {"text":"..."}

Доступные модели: speech-to-text, whisper-large-v3-turbo, nemotron-asr-multilingual и whisper-large-v3. Актуальные цены за минуту указаны в каталоге аудиомоделей. Размер файлов должен составлять от 1 байта до 50 MB.

Временные метки и субтитры

response_format соответствует OpenAI: json (по умолчанию, { text }), text (обычный текст), verbose_json (JSON с language, duration и segments[] — id, start, end, text в секундах), srt и vtt (готовые субтитры). Для получения временных меток слов отправьте timestamp_granularities[]=word с verbose_json (поле words[]: word, start, end); segment и word можно комбинировать. Цена не зависит от формата.

# SRT subtitles (or vtt); verbose_json returns JSON with segments[] and words[]
curl https://getvibeapi.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -F [email protected] \
  -F model=whisper-large-v3 \
  -F response_format=srt

curl https://getvibeapi.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -F [email protected] \
  -F model=whisper-large-v3 \
  -F response_format=verbose_json \
  -F "timestamp_granularities[]=segment" \
  -F "timestamp_granularities[]=word"
# → {"task":"transcribe","language":"en","duration":5.9,"text":"...",
#    "segments":[{"id":0,"start":0.03,"end":0.71,"text":"Hello!"}, ...],
#    "words":[{"word":"Hello!","start":0.03,"end":0.51}, ...]}

Временные метки предоставляют whisper-large-v3, whisper-large-v3-turbo, nemotron-asr-multilingual, qwen3-asr-1.7b и speech-to-text (сегменты последней модели формируются на основе временных меток слов). universal-2, voxtral-small-24b-2507 и nemotron-3-diarization не возвращают временные метки, поэтому запросы с verbose_json / srt / vtt для них отклоняются с кодом 400 до списания средств.

universal-2 недоступен на этих маршрутах. Более старый /api/transcribe принимает публичный audio_url, работает асинхронно и включается оператором с помощью TRANSCRIBE_ENABLED; иначе он возвращает 503.

Устаревший вариант URL

Асинхронная транскрипция аудио по публичному URL. Вы создаёте задачу и опрашиваете результат по нашему id.

POSThttps://getvibeapi.com/api/transcribe
GEThttps://getvibeapi.com/api/transcribe/{id}

Параметры создания

ПараметрТипОписание
audio_urlreq.string (URL)Публичная ссылка на аудиофайл.
languagestringКод языка, например ru, en (2–10 символов). Необязательно — определяется автоматически.
redact_piibooleanОбезличивание персональных данных. Включено по умолчанию (соответствие 152-ФЗ); отключается только явным redact_pii: false.

Создание и опрос

Создание возвращает 202 с { id, status: "processing" }. Опрашивайте GET /api/transcribe/{id}, пока статус не станет success (или fail); затем ответ содержит text, durationSec, priceRub.

# 1. create a transcription job (audio by public URL)
curl https://getvibeapi.com/api/transcribe \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://example.com/audio.mp3",
    "language": "en",
    "redact_pii": true
  }'
# → {"id":"...","status":"processing"}
Цена — 1,5₽ за минуту (минимум 1 минута, округление вверх). Списание происходит один раз, при завершении задачи. Обезличивание персональных данных включено по умолчанию и не повышает тариф.
API транскрипции аудио — распознавание речи и Whisper | GetVibe API