YouTube Transcript API
Один запит, і у вас повний транскрипт. Платите лише за відео, які отримуєте.
Отримати безкоштовний API-ключШвидкий старт
- Увійдіть і створіть API-ключ на панелі API. Ви отримаєте 10 безкоштовних кредитів (5 транскриптів).
- Передайте ключ у заголовку X-API-Key разом із посиланням на YouTube або ID відео.
- Купіть пакет кредитів, коли потрібно більше, або увімкніть автопоповнення.
curl -X POST https://sum.video/api/v1/transcript \
-H "X-API-Key: sv_live_your_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "lang": "en"}'Запит
POST /api/v1/transcript
url: Посилання на YouTube (watch, youtu.be, shorts, embed або live). Використовуйте його або video_id.video_id: 11-символьний ID відео на YouTube.lang: Бажана мова субтитрів, наприклад en, de або pt-BR. За замовчуванням en. Якщо цієї мови немає, повертається оригінальна доріжка, а відповідь повідомляє її справжню мову.format: json (сегменти з часовими мітками, за замовчуванням), text або srt.
import requests
response = requests.post(
"https://sum.video/api/v1/transcript",
headers={"X-API-Key": "sv_live_your_key"},
json={"video_id": "dQw4w9WgXcQ", "lang": "en", "format": "text"},
timeout=120,
)
print(response.json()["text"])const response = await fetch("https://sum.video/api/v1/transcript", {
method: "POST",
headers: { "X-API-Key": process.env.SUMVIDEO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ url: "https://youtu.be/dQw4w9WgXcQ" }),
});
const { segments, credits_remaining } = await response.json();Відповідь
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"is_generated": false,
"credits_used": 2,
"credits_remaining": 98,
"segments": [
{ "text": "We're no strangers to love", "offset": 18.64, "duration": 3.24 }
]
}Помилки
| 401 | invalid_key | API-ключ відсутній, неправильний або відкликаний. |
| 400 | invalid_input | Не вдалося прочитати посилання або ID відео. |
| 402 | insufficient_credits | На балансі менше 2 кредитів. |
| 402 | budget_exceeded | Ви досягли встановленого вами місячного ліміту кредитів. |
| 404 | no_transcript | Відео не має субтитрів, або воно приватне, транслюється наживо чи видалене. Не списується. |
| 429 | rate_limited | Понад 60 запитів на хвилину з одного ключа. Зачекайте стільки секунд, скільки вказано в Retry-After. |
| 502 | upstream_error | YouTube не відповів вчасно. Не списується, спробуйте пізніше. |
Перевірити баланс
curl https://sum.video/api/v1/credits -H "X-API-Key: sv_live_your_key"Ціни
Кожен транскрипт коштує 2 кредити. Кредити не згоряють. Підписники Pro щомісяця отримують 100 бонусних кредитів.
| Пакет | Кредити | Транскрипти | Ціна | За транскрипт |
|---|---|---|---|---|
| Starter | 100 | 50 | 4,49 USD | 0,090 USD |
| Pro | 500 | 250 | 13,99 USD | 0,056 USD |
| Scale | 2 000 | 1 000 | 37,99 USD | 0,038 USD |
| Business | 5 000 | 2 500 | 74,99 USD | 0,030 USD |
Автопоповнення, бюджети й сповіщення
- Автопоповнення купує пакет зі збереженої картки, коли баланс опускається нижче обраного вами порогу.
- Місячний бюджет поповнень обмежує, скільки може витратити автопоповнення, а місячний ліміт кредитів зупиняє запити після його досягнення.
- Сповіщення електронною поштою повідомлять, коли баланс закінчується, коли ви досягли 80% місячного ліміту або коли поповнення не вдалося.
Ліміти й чесне використання
60 запитів на хвилину на ключ, до 5 активних ключів на акаунт. API повертає субтитри, які вже є на YouTube; аудіо він не розшифровує. Ви відповідаєте за використання транскриптів із дотриманням прав власників відео та умов YouTube.
Поширені запитання
- Чи плачу я знову за те саме відео?
- Так, кожен успішний запит коштує 2 кредити, але повторні відео віддаються з нашого кешу за мілісекунди.
- Що буде, якщо відео не має субтитрів?
- Ви отримаєте помилку no_transcript, і кредити не спишуться.
- Чи сумісний він з іншими API транскриптів?
- Запит і відповідь мають звичну структуру url, lang і segments, тож перехід зазвичай зводиться до зміни базового URL і ключа.