Синхронное распознавание
Отправьте аудиофайл и получите результат в одном запросе. Подходит для коротких записей.
POST /api/v1/speech-to-text/sync
Параметры (multipart/form-data):
| Параметр | Тип | Описание |
|---|---|---|
file | binary | Аудиофайл (обязательный) |
lang | string | Язык распознавания, например ru. По умолчанию ru. |
curl
curl -X POST https://cognico.ru/api/v1/speech-to-text/sync \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@recording.wav" \
-F "lang=ru"
Python
import requests
url = "https://cognico.ru/api/v1/speech-to-text/sync"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
with open("recording.wav", "rb") as f:
response = requests.post(url, headers=headers, files={"file": f}, data={"lang": "ru"})
result = response.json()
print(result["text"])
JavaScript
const form = new FormData();
form.append("file", fs.createReadStream("recording.wav"));
form.append("lang", "ru");
const response = await fetch("https://cognico.ru/api/v1/speech-to-text/sync", {
method: "POST",
headers: { "Authorization": "Bearer YOUR_API_KEY" },
body: form,
});
const result = await response.json();
console.log(result.text);
Пример ответа
{
"text": "Добрый день, коллеги. Давайте начнём совещание.",
"transcription": {
"segments": [
{
"start": 0.0,
"end": 2.1,
"text": "Добрый день, коллеги.",
"speech_prob": 0.97,
"speaker": "Speaker_1",
"emotion": {"neutral": 0.85, "positive": 0.15},
"words": [
{"word": "Добрый", "start": 0.0, "end": 0.4, "speech_prob": 0.98, "volume_avg": -18.2},
{"word": "день,", "start": 0.45, "end": 0.8, "speech_prob": 0.99, "volume_avg": -17.5},
{"word": "коллеги.", "start": 0.9, "end": 1.5, "speech_prob": 0.97, "volume_avg": -19.0}
]
},
{
"start": 2.3,
"end": 4.0,
"text": "Давайте начнём совещание.",
"speech_prob": 0.95,
"speaker": "Speaker_1",
"emotion": {"neutral": 0.9, "positive": 0.1}
}
],
"speakers": [
{"id": "Speaker_1", "name": null, "ref": null}
]
},
}