QuillAIQuillAIDocs
Войти
Начало работыБыстрый старт

Быстрый старт

Отправьте первую транскрипцию и получите результат меньше чем за две минуты. Без SDK — только cURL и ключ.

Вам понадобится: аккаунт QuillAI, API-ключ и любой аудиофайл или YouTube-ссылка. Создать ключ →

Аутентификация

Каждый запрос использует bearer-токен. Экспортируйте ключ в переменную окружения и вызовите GET /v1/me, чтобы убедиться, что он работает. Подробности — в разделе Аутентификация.

terminalbash
$ export QAI_KEY=qai_live_a3f7...c2e9
$ curl https://api.quillhub.ai/v1/me \
    -H "Authorization: Bearer $QAI_KEY"

Возвращает id, available_points и объект subscription.

Получите API-ключ

Откройте Developers → API keys и нажмите Create key. Открытый текст ключа показывается один раз — скопируйте его сразу. QuillAI выпускает ключи с двумя префиксами:

ПрефиксТипНазначение
qai_test_ПесочницаНе тарифицируется. Подходит для CI и локальной разработки.
qai_live_БоевойСписывается в поинтах с вашего баланса.
Никогда не коммитьте ключи. Храните их в переменных окружения или секрет-менеджере. Скомпрометированный ключ немедленно отзывайте на странице Developers.

Первый вызов

Передайте YouTube-ссылку — и сразу получите идентификатор транскрипции. QuillAI обрабатывает файл асинхронно: опрашивайте статус или подключите вебхук.

1
Создать
POST /v1/transcriptions с полем url — YouTube, Instagram или любой публично доступный файл.
2
Опрос
GET /v1/transcriptions/{id} раз в несколько секунд — либо передайте webhook_url и пропустите опрос.
3
Чтение
Когда status станет completed — читайте result.text, segments, structured и subtitles.
transcribe.shbash
curl -X POST https://api.quillhub.ai/v1/transcriptions \
  -H "Authorization: Bearer $QAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://youtu.be/dQw4w9WgXcQ",
    "structure": true
  }'

В ответ приходит 202 с полным объектом транскрипции:

202 Acceptedjson
{
  "id": "trs_01HZX7K9E3M2N4P6Q8R0S2T4V6",
  "status": "queued",
  "source": {
    "type": "youtube",
    "url": "https://youtu.be/dQw4w9WgXcQ"
  },
  "options": {
    "speaker_recognition": false,
    "structure": true
  },
  "created_at": "2026-04-23T10:12:04Z"
}

Обработка ответа

Опрашивайте GET /v1/transcriptions/{id}, пока status не станет терминальным, либо передайте webhook_url при создании задачи — тогда готовый результат придёт POST-запросом. См. Вебхуки.

poll.shbash
TRS_ID="trs_01HZX7K9E3M2N4P6Q8R0S2T4V6"

while true; do
  RESP=$(curl -s https://api.quillhub.ai/v1/transcriptions/$TRS_ID \
    -H "Authorization: Bearer $QAI_KEY")
  STATUS=$(echo "$RESP" | jq -r .status)
  echo "status: $STATUS"
  case "$STATUS" in
    completed|failed|cancelled) echo "$RESP" | jq .result; break ;;
  esac
  sleep 3
done

Терминальные статусы: completed, failed и cancelled. При completed заполняется объект result: text, segments, structured и subtitles (VTT + SRT).

Что дальше