API Транскрибации Yazapishu.ru
Сервис обрабатывает медиафайлы в асинхронном режиме. Это гарантирует стабильную работу без обрывов соединения (таймаутов) даже при загрузке многочасовых аудиозаписей.
- Отправка: Вы загружаете файл и параметры. Сервис мгновенно ставит задачу в очередь и возвращает вам уникальный
id. - Ожидание: Ваша программа периодически запрашивает статус по этому
id, пока не получит готовый текст.
Шаг 1. Создание задачи (Загрузка файла)
Отправьте медиафайл и настройки распознавания на сервер. Поддерживаются форматы: mp3, wav, mp4, avi, aac, m4a, flac, ogg, mov, mkv, webm и др.
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 секунд.
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
Адрес: Россия, Татарстан, Казань
