Files
SnapOtter/apps/docs/ru/tools/audio/split-audio.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.1 KiB
Raw Blame History

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Разделение аудио по временным интервалам, на равные части или по обнаружению тишины. c062a395dbac human ff43da10e5db

Разделение аудио

Разделение аудиофайла на сегменты по фиксированным временным интервалам, на равные части или с автоматическим обнаружением тишины. Возвращает ZIP-архив с сегментами.

Эндпоинт API

POST /api/v1/tools/audio/split-audio

Принимает multipart form data с аудиофайлом и JSON-полем settings.

Параметры

Параметр Тип Обязательный По умолчанию Описание
mode string Нет "time" Стратегия разделения: time, parts, silence
segmentS number Нет 60 Длина сегмента в секундах, от 1 до 3600 (используется при режиме time)
parts integer Нет 2 Количество равных частей, от 2 до 20 (используется при режиме parts)
thresholdDb number Нет -40 Порог тишины в дБ, от -80 до -20 (используется при режиме silence)
minSilenceS number Нет 0.3 Минимальный промежуток тишины в секундах, от 0.1 до 10 (используется при режиме silence)

Пример запроса

Разделение на сегменты по 30 секунд:

curl -X POST http://localhost:1349/api/v1/tools/audio/split-audio \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@audio.mp3" \
  -F 'settings={"mode": "time", "segmentS": 30}'

Разделение по обнаружению тишины:

curl -X POST http://localhost:1349/api/v1/tools/audio/split-audio \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@audio.mp3" \
  -F 'settings={"mode": "silence", "thresholdDb": -35, "minSilenceS": 0.5}'

Пример ответа

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/audio_parts.zip",
  "originalSize": 4500000,
  "processedSize": 4600000
}

Примечания

  • downloadUrl указывает на ZIP-архив, содержащий все сегменты.
  • Используются только параметры, относящиеся к выбранному mode; остальные игнорируются.
  • Имена файлов сегментов нумеруются последовательно (например, part-000.mp3, part-001.mp3).
  • Формат выходного файла совпадает с форматом входного.