Делаю голосовой бот и столкнулся с проблемой. Чтобы рассчитать затраты токенов на TTS нужно узнать продолжительность аудио т.к TTS обсчитывается не по токенам а по длительности файла.
$0.006 / minute (rounded to the nearest second)
Метод getFile не дает эти данные, а когда голосовое прилетает в бот, то в ответе duration указано 1, хотя файл больше чем 1 секунда. Причем расчет продолжительности происходит только тогда когда юзер нажал прослушать.
Тогда проблема. Мне надо получить длительность чтобы понять сколько я потратил на генерацию этого голосового сообщения, а телега не дает эти данные, хотя файл уже туда загружен.
//method getFile
{
"ok": true,
"result": {
"file_id": "AwACAgIAAxkBAAIHPWZ8CtdTb0r_wtW9ndrRHbDiCzpCAAJfWAACpz",
"file_unique_id": "AgADX1gAAqc7",
"file_size": 6031,
"file_path": "voice/file_24.oga"
}
}
При этом я не могу узнать продолжительность даже на стороне OpenAi. Они просто отдают сам файл.