Войти

API Транскрибации Yazapishu.ru

Сервис обрабатывает медиафайлы в асинхронном режиме. Это гарантирует стабильную работу без обрывов соединения (таймаутов) даже при загрузке многочасовых аудиозаписей.

Как это работает (2 простых шага):
  1. Отправка: Вы загружаете файл и параметры. Сервис мгновенно ставит задачу в очередь и возвращает вам уникальный id.
  2. Ожидание: Ваша программа периодически запрашивает статус по этому id, пока не получит готовый текст.

Шаг 1. Создание задачи (Загрузка файла)

Отправьте медиафайл и настройки распознавания на сервер. Поддерживаются форматы: mp3, wav, mp4, avi, aac, m4a, flac, ogg, mov, mkv, webm и др.

POST https://yazapishu.ru/upload_and_transcribe.php
curl -X POST https://yazapishu.ru/upload_and_transcribe.php \
  -H "Authorization: <Ваш_API_Токен>" \
  -F "upload=@<путь_к_файлу>" \
  -F "language=ru" \
  -F "timecod=yes" \
  -F "json=yes"
Параметры формы (multipart/form-data):
ПараметрОбязательныйОписание
uploadДаСам аудио/видео файл для обработки.
languageНетКод языка (по умолчанию ru). Доступны: en, en_uk, en_us, en_au, es, it, zh, ko, de, nl, pl, pt, tr, fr, fi, ja.
speakerНетПередайте -l для разделения текста по говорящим (Спикер A, Спикер B).
timecodНетПередайте yes для добавления временных меток к каждому абзацу.
jsonНетПередайте yes, чтобы в итоге получить не просто текст, а детальный JSON (со словами и миллисекундами).
Успешный ответ (Сервис вернет ID задачи):
{
  "status": "processing",
  "id": "c99ea5eb65c63b42bdd9cd0f39ea02e0",
  "info": "Файл загружен и поставлен в очередь на обработку."
}

Шаг 2. Получение результата

Используйте полученный id для проверки статуса. Рекомендуем делать запросы не чаще 1 раза в 20-30 секунд.

POST https://yazapishu.ru/api/api_request.php
curl -X POST https://yazapishu.ru/api/api_request.php \
  -H "Authorization: <Ваш_API_Токен>" \
  -H "Content-Type: application/json" \
  -d '{"id": "<ID_ЗАДАЧИ>"}'
Возможные ответы:

1. В процессе: Сервис еще работает над файлом.

{"status": "processing", "info": "Your file is still being processed. Please wait."}

2. Готово: Транскрибация завершена (пример при параметре json=yes).

{
  "status": "completed",
  "text": {
    "text": "Привет! Как твои дела? ...",
    "words": [
      {"text": "Привет!", "start": 1500, "end": 2100, "confidence": 0.99},
      {"text": "Как", "start": 2150, "end": 2400, "confidence": 0.98}
    ],
    "audio_duration": 145.5
  }
}

3. Ошибка: (например, неверный ID, закончились минуты, поврежденный файл).

{"status": "error", "info": "Task not found. Check your id."}

Готовые примеры интеграции

Python (requests)
import requests, time

API_TOKEN = 'Ваш_API_Токен'
FILE_PATH = 'test.mp3'

# 1. Загрузка файла
print("Отправка файла на сервер...")
upload_res = requests.post(
    'https://yazapishu.ru/upload_and_transcribe.php',
    headers={'Authorization': API_TOKEN},
    files={'upload': open(FILE_PATH, 'rb')},
    data={'language': 'ru', 'json': 'yes'}
).json()

if upload_res.get('status') != 'processing':
    print(f"Ошибка: {upload_res.get('info')}")
    exit()

task_id = upload_res['id']
print(f"Задача создана. ID: {task_id}. Ожидание результата...")

# 2. Опрос сервера
while True:
    time.sleep(30) # Ждем 30 секунд
    check_res = requests.post(
        'https://yazapishu.ru/api/api_request.php',
        headers={'Authorization': API_TOKEN},
        json={'id': task_id}
    ).json()
    
    if check_res.get('status') == 'completed':
        print("\nУСПЕХ! Расшифрованный текст:")
        # Если json=yes, текст лежит внутри словаря
        text_data = check_res.get('text')
        print(text_data if isinstance(text_data, str) else text_data.get('text'))
        break
    elif check_res.get('status') == 'error':
        print(f"\nОшибка обработки: {check_res.get('info')}")
        break
    else:
        print("Обработка продолжается...")

Мощность

Асинхронная архитектура позволяет стабильно запускать до 100 параллельных процессов одновременно.

Безопасность

Для всех задач генерируются криптографические ID. Ваши данные изолированы и защищены.

Тарифы

Стоимость распознавания — до 60 коп/мин. Списание происходит только за успешные расшифровки.

Для бизнеса

Работаем по договору, принимаем оплату по безналичному расчету. Предоставляем полный пакет закрывающих документов.

Связаться с нами

Email: info@yazapishu.ru

Адрес: Россия, Татарстан, Казань