Быстрый старт
Отправьте первую транскрипцию и получите результат меньше чем за две минуты. Без SDK — только cURL и ключ.
Аутентификация
Каждый запрос использует bearer-токен. Экспортируйте ключ в переменную окружения и вызовите GET /v1/me, чтобы убедиться, что он работает. Подробности — в разделе Аутентификация.
$ 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_ | Боевой | Списывается в поинтах с вашего баланса. |
Первый вызов
Передайте YouTube-ссылку — и сразу получите идентификатор транскрипции. QuillAI обрабатывает файл асинхронно: опрашивайте статус или подключите вебхук.
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 с полным объектом транскрипции:
{
"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-запросом. См. Вебхуки.
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).