NexaraNexara

Форматы ответа

Узнайте, какие форматы ответа вы можете ожидать от Nexara API.

Nexara API позволяет указать формат, в котором вы хотите получить результаты. Используя параметр response_format в вашем запросе, вы можете настроить вывод так, чтобы он наилучшим образом соответствовал вашим потребностям, будь то простой текст, структурированные данные или готовые к использованию файлы субтитров. Выбор srt или vtt дает не просто текст с таймингами; эти форматы предоставляют оформленные субтитры, автоматически оптимизированные для комфортного чтения и восприятия на экране. Примеры использования API смотрите в документации API.

API поддерживает следующие форматы вывода:

  • json: Возвращает стандартный JSON-объект, содержащий транскрибированный текст.
  • text: Возвращает транскрипцию в виде одной строки простого текста.
  • verbose_json: Возвращает подробный JSON-объект, содержащий текст, язык, продолжительность, а также, возможно, временные метки на уровне сегментов и слов (если запрошено через timestamp_granularities[]).
  • srt: Возвращает транскрипцию, отформатированную как файл субтитров SRT.
  • vtt: Возвращает транскрипцию, отформатированную как файл субтитров WebVTT.

Чтобы выбрать формат, передайте параметр response_format в запросе:

curl https://api.nexara.ru/v1/audio/transcriptions \
  -H "Authorization: Bearer nx-XXXXXXXXXXXXXXXXXXXXXXXX" \
  -F "file=@audio.mp3" \
  -F "model=whisper-1" \
  -F "response_format=verbose_json"

Примеры вывода

Для одной и той же записи разные форматы возвращают результат по-разному.

json

{
  "text": "Привет! Это пример транскрибации."
}

text

Ответ приходит текстом без JSON-обёртки:

Привет! Это пример транскрибации.

verbose_json

Подробный объект с текстом, языком, длительностью и сегментами. Массив words появляется, только если запрошены временные метки слов через timestamp_granularities[]=word. Ответ подобен ответу модели whisper-1 на официальном API от OpenAI.

{
  "task": "transcribe",
  "language": "ru",
  "duration": 4.3,
  "text": "Привет! Это пример транскрибации.",
  "segments": [
    {
      "id": 0,
      "seek": 0,
      "start": 0.0,
      "end": 2.1,
      "text": "Привет! Это пример",
      "tokens": [50150, 386, 2338, 2608, 1828, ...],
      "temperature": 0.0,
      "avg_logprob": 0.0,
      "compression_ratio": 1.698224852071006,
      "no_speech_prob": 0.0
    },
    {
      "id": 1,
      "seek": 2.1,
      "start": 2.1,
      "end": 4.3,
      "text": "транскрибации.",
      "tokens": [2338, 2608, 1828, ...],
      "temperature": 0.0,
      "avg_logprob": 0.0,
      "compression_ratio": 1.5,
      "no_speech_prob": 0.0
    }
  ]
}

srt

1
00:00:00,000 --> 00:00:02,100
Привет! Это пример

2
00:00:02,100 --> 00:00:04,300
транскрибации.

vtt

WEBVTT

1
00:00:00.000 --> 00:00:02.100
Привет! Это пример

2
00:00:02.100 --> 00:00:04.300
транскрибации.

Когда запрашиваете ответ в формате субтитров, (srt или vtt) не используйте response.text если делаете запрос через request библиотеку в Python. Используйте response.json, как и для остальных форматов ответа.

On this page