Проблема, с которой вы столкнулись, связана с неверной передачей параметров в запросе к API Яндекс.SpeechKit. Давайте разберемся с ошибкой и возможными решениями.
### Ошибка
Сообщение об ошибке:
```
'unknown value "\\"OggOpus\\"" for enum speechkit.stt.v3.ContainerAudio.ContainerAudioType'
```
указывает на то, что значение, которое вы передали для типа контейнера аудио, неправильно. Это может быть связано с использованием лишних кавычек или неправильным форматом текста.
### Решение
1. **Обратите внимание на знаки кавычек**: Убедитесь, что вы передаете строку без лишних экранирующих символов. Вместо `'"OggOpus"'` используйте просто `'OggOpus'`.
2. **Корректная структура запроса**: Вам нужно убедиться, что JSON-объект, который вы отправляете, правильно структурирован. Вот как должен выглядеть ваш код:
```javascript
const { data } = await axios.post(
this.speechToTextUrl,
{
uri: dto.storageUrl,
recognition_model: {
model: 'general',
audio_format: {
container_audio: 'OggOpus',
},
},
},
{
headers: {
Authorization: `Api-Key ${this.speechKitApiKey}`,
},
}
);
```
### Дополнительные шаги
- **Проверьте формат файла**: Убедитесь, что ваш аудиофайл действительно в формате Ogg Opus. Иногда файлы могут быть восстановлены в другом формате, даже если они имеют расширение .ogg. Попробуйте прослушать и протестировать аудиофайл, чтобы убедиться, что формат соответствует Ogg Opus.
- **Проверка JSON**: Используйте инструменты, такие как [Postman](https://www.postman.com/) или [cURL](https://curl.se/), чтобы выполнять тестовые запросы с помощью правильного JSON-формата и заголовков, что позволит проверить, правильно ли вы формируете ваши запросы.
- **Документация**: Если проблема сохраняется, обратите внимание на документацию Яндекс.SpeechKit. В ней могут быть указаны последние изменения или дополнительные требования к формату файла.
Если вы следовали всем указанным шагам и ошибка все еще возникает, не стесняйтесь обращаться в техподдержку Яндекса или в их сообщество разработчиков, где могут помочь более опытные пользователи.