Распознавание и синтез речи
Оба эндпоинта — в формате OpenAI, с ними работают SDK OpenAI: client.audio.transcriptions.create и client.audio.speech.create.
Распознавание речи
POST/api/v1/audio/transcriptions принимает аудио двумя способами:
multipart/form-data— поляfileиmodelи необязательныеlanguage,temperature,response_format(jsonилиverbose_json) иtimestamp_granularities;- JSON
{model, input_audio: {data, format}}— аудио в base64.
Файл — до 25 МБ.
curl https://infergate.ru/api/v1/audio/transcriptions \
-H "Authorization: Bearer $INFERGATE_API_KEY" \
-F model="openai/whisper-1" \
-F file=@speech.mp3 \
-F language=ruОтвет — {text, usage}, а с verbose_json в нём ещё язык, длительность, сегменты и слова. Модели распознавания тарифицируются за длительность аудио или за аудиотокены; сумма — в usage.
{
"text": "Привет! Это пример распознавания речи.",
"usage": { "seconds": 6.4, "cost_rub": 0.018423, "cost": 0.000178, "fx_rate": 103.5 }
}Список моделей — GET/api/v1/audio/transcriptions/models.
Синтез речи
POST/api/v1/audio/speech. Поля: model, input — текст, voice — голос и необязательные response_format (mp3 или pcm) и speed. В ответ приходит сам аудиофайл (audio/mpeg или audio/pcm), а не JSON.
curl https://infergate.ru/api/v1/audio/speech \
-H "Authorization: Bearer $INFERGATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fish-audio/s1",
"input": "Привет! Это синтез речи.",
"voice": "alloy",
"response_format": "mp3"
}' \
--output speech.mp3Модели синтеза тарифицируются за объём текста (символы или байты) или за аудиотокены. Стоимости в ответе нет: сумма списывается через несколько секунд и появляется в журнале запросов. Список моделей — GET/api/v1/audio/speech/models.