Документация

Распознавание речи

URL
https://ai.wormsoft.ru/api/v1.
Авторизация:
Bearer YOUR_API_KEY

Настройка транскрибации

Для настройки транскрибации самостоятельно агентом скачайте и передайте ему эту документацию.

Эндпоинт

  • POST /api/v1/audio/transcriptions
  • Преобразует речь в текст на исходном языке.

Структура запроса

Тип содержимого: multipart/form-data

  • file * — Аудиофайл. Форматы: mp3, wav, flac, ogg, opus. Максимум 25 МБ.
  • model * — Доступные модели: gigaam — рекомендуется для русской речи; whisper-large — для любого языка.
  • response_format — Формат ответа. По умолчанию json. Доступные значения: jsontext, srt, vtt, verbose_json.
  • language — Язык аудио в формате ISO-639-1 (например, ru, en).
* Обязательный параметр

Тарификация

  • Фиксированная цена за секунду аудио (округление вверх до целой секунды) 10 кредитов.
  • Пример: аудио длительностью 47.3 сек → округление до 48 сек → спишется 480 кредитов

Примеры интеграции

Python — OpenAI SDK

from openai import OpenAI

client = OpenAI(
    api_key="ваш_api_ключ",
    base_url="https://ai.wormsoft.ru/api/v1",
)

with open("audio.mp3", "rb") as f:
    transcription = client.audio.transcriptions.create(
        model="gigaam",
        file=f,
        language="ru",
        response_format="text",
    )

print(transcription)

cURL

curl https://ai.wormsoft.ru/api/v1/audio/transcriptions \
  -H "Authorization: Bearer ваш_api_ключ" \
  -F "file=@audio.mp3" \
  -F "model=gigaam" \
  -F "language=ru" \
  -F "response_format=json"

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

json — по умолчанию

{ "text": "Привет, мир!" }

text

Привет, мир!

srt

1
00:00:00,000 --> 00:00:02,500
Привет, мир!

vtt

WEBVTT

00:00:00.000 --> 00:00:02.500
Привет, мир!

verbose_json

{
    "task": "transcribe",
    "language": "russian",
    "duration": 2.5,
    "text": "Привет, мир!", "segments": [
       {
           "id": 0,
           "start": 0.0,
           "end": 2.5,
           "text": "Привет, мир!",
           "tokens": [],
           "temperature": 0,
           "avg_logprob": 0,
           "compression_ratio": 1,
           "no_speech_prob": 0
       }
    ],
    "words": []
}

Ошибки и лимиты

Все ошибки возвращаются в формате, совместимом с OpenAI:

{
    "error": {
        "message": "Missing required parameter: 'file'.",
        "type": "invalid_request_error",
        "param": "file",
        "code": null
    }
}
400
Неверный запрос пользователя
401
Неверный или отсутствует API ключ
402
Недостаточно кредитов для обработки файла
429
Закончились лимиты подписки
500+
Ошибка на стороне нашего сервиса