Для AI-агентов: markdown этой страницы — /docs-content/chats/files/transcribe.md индекс документации — /llms.txt

Расшифровать аудиофайл

POST /v1/chats/files/:fileId/transcribe

Запускает расшифровку речи в аудио- или видеофайле сообщения — например, в голосовом сообщении или видеокружке. Расшифровку выполняет искусственный интеллект (AI) портала — CoPilot: вызов ставит задачу в очередь и сразу отвечает её состоянием, а текст появляется, когда задача закончится.

Параметры

Параметр Тип Обяз. Описание
fileId (path) number да ID файла чата. Получить: files[].id в загрузке чата или в ленте в режиме v2

Параметры строки запроса не принимаются и отклоняются с 400 INVALID_PARAMS.

Поля запроса (body)

Поле Тип Обяз. Описание
messageId number да ID сообщения, к которому прикреплён файл. Получить: messages[].id в загрузке чата или в ленте в режиме v2

Другие поля тела отклоняются с 400 INVALID_PARAMS.

Примеры

curl — личный ключ

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/chats/files/7701/transcribe \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"messageId": 1003}'

curl — OAuth-приложение

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/chats/files/7701/transcribe \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"messageId": 1003}'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/files/7701/transcribe', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ messageId: 1003 }),
})

const { success, data } = await res.json()
console.log('Состояние:', data.status, data.transcriptText)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/chats/files/7701/transcribe', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ messageId: 1003 }),
})

const { success, data } = await res.json()
console.log('Состояние:', data.status, data.transcriptText)

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.fileId number ID файла
data.status string Состояние расшифровки: Pending — задача в работе, Success — текст готов, Error — расшифровка не удалась
data.transcriptText string|null Текст расшифровки. null, пока текста нет

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

JSON
{
  "success": true,
  "data": {
    "fileId": 7701,
    "status": "Pending",
    "transcriptText": null
  }
}

Пример ответа при ошибке

422 — файл не аудио и не видео:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "FILE_NOT_TRANSCRIBABLE",
    "b24Code": "FILE_NOT_TRANSCRIBABLE"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS fileId не является положительным целым числом, нет messageId или он не положительное целое число, передано другое поле тела или параметр строки запроса. Проверяется до обращения к Битрикс24
404 ENTITY_NOT_FOUND Битрикс24 вернул «не найдено» — нет файла или сообщения. Код портала — в error.b24Code
422 BITRIX_ERROR error.b24Code = FILE_NOT_TRANSCRIBABLE — файл не аудио и не видео
422 BITRIX_ERROR error.b24Code = FILE_SIZE_EXCEEDED — файл больше 25 МБ
422 BITRIX_ERROR error.b24Code = TRANSCRIPTION_NOT_ACTIVE — расшифровка выключена на портале
422 BITRIX_ERROR error.b24Code = LIMIT_IS_EXCEEDED_BAAS — исчерпан лимит AI-запросов
422 BITRIX_ERROR error.b24Code = TRANSCRIPTION_SERVICE_ERROR — сбой сервиса расшифровки
422 BITRIX_ERROR error.b24Code = FILE_ACCESS_ERROR — нет доступа к файлу
403 SCOPE_DENIED API-ключ не имеет скоупа im
403 WRITE_BLOCKED_READONLY_KEY Ключ только для чтения — вызов запускает задачу AI и может сделать владельца ключа участником чата
401 TOKEN_MISSING API-ключ не имеет настроенных токенов Битрикс24

Полный список общих ошибок API — Ошибки.

Известные особенности

Вызов запускает AI портала. Расшифровка расходует лимит AI-запросов портала. Повторный вызов для того же файла новую задачу не ставит: пока расшифровка идёт, вернётся Pending, после — Success и текст.

Вызов может сделать вас участником. Если чат сообщения разрешает автовступление — например, чат комментариев, коллаб или чат задачи, — вызов добавляет текущего пользователя в участники, как открытие чата в интерфейсе Битрикс24.

Смотрите также