June 4, 2025

Получаем текст из YouTube видео

Файл с шаблоном:
Google Диск

─────── ✦ ─────── ✦ ───────

🔍 Что делает:

Это продолжение предыдущего воркфлоу. Здесь мы автоматически, раз в день, получаем транскрипции (текстовые версии) видео, которые мы уже спарсили и загрузили в базу данных Supabase. Затем мы объединим это все в красивой ГуглТаблице, вот так:

💻 Сервисы и интеграции:

  • SearchApi — сервис для расшифровки Ютуб видео (Google Cloude не позволяет это норм делать). Здесь нам сразу дают 100 бесплатных запросов за регистрацию
  • Supabase — вытаскиваем инфу из базы данных
  • Google Cloud Console — для подключения к Google Sheets (Гугл Таблицам)

⚙️ Установка и настройка

  1. Добавь новую колонку в таблицу Supabase
    – Назови её published_at
    – Тут мы будем помечать видео, на которые уже сделана транскрипция, чтобы не прогонять их еще раз, не тратить токены, и не делать дубликаты в таблице.*
    – По умолчанию будет стоять значение = false
    – А после обработки меняться на = true
    (код для добавления внизу, не ссы :)
  2. Создай таблицу в Google Sheets
    – Замути Credential через Google Cloude Console
    – Открой мою таблицу и скопируй её
    Файл → Создать копию
  3. Вставь ключ от SearchAPI в N8N

⠀ ⠀
✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦

1. Обновление таблицы в Supabase

Щас покажу как изи обновлять таблицы:

Заходим в уже знакомый нам SQL Editor

Вставляем этот код → жмём Run

ALTER TABLE youtube_statistic_videos
ADD COLUMN processed BOOLEAN DEFAULT false;

Генерить подобное можно в ChatGPT, он прекрасно понимает такие запросы.


✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦

2. Подключение Supabase

Делается как в предыдущем уроке.

В поле Limits пишется количество строк берущихся из Supabase.
Это все-таки база данных. Можно не стесняться.

3. Подключение Гугл Таблиц

Мутится через Google Console, супер-легко, я уже показывал как.

Получится вот так:

video_id

Title

Transcript

Summary

Views

Likes

Comments

Published

Created At

Status

done

  • Published показывает дату публикации видео.
  • Created At указывает дату когда в таблицу добавилась транскрипция.
  • Status done проставляется когда всё прошло успешно.

Важно: если ты создашь новую таблицу, то при первом запуске шаблон будет выдавать ошибку. В таком случае, нужно завести эту колмагу с толкача. Вставь ссылку на что-нибудь, чтобы таблица не была пустой, и тогда всё будет работать.


✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦

4. Подключение SearchApi

После регистрации скопируй API ключ на главной странице

Если чё в Search History можно будет смотреть историю запусков

Теперь открой в шаблоне Set Video ID


Не перепутай куда вставлять!
Поле для ключа (api key) → ВЫДЕЛИЛ КАПСОМ

Язык видео выставляется в (lang) → en / ru

Ну и всё, ключ будет подтягиваться автоматически куда надо.


✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦ ⋯⋯⋯ ✦

Ещё раз, что тут происходит:

Этап

Описание

1. Supabase

Берём video_id, title, published, только если processed = false

2. Google Sheets

Загружаем инфу из таблицы для проверки дубликатов

3. Transcribe

Достаём текст через SearchAPI

4. Process Transcripts

Чистим [Музыка], удаляем шум

5. Summary Agent

GPT-4 делает саммари

6. Merge с Supabase2

Подтягиваем статистику из БД (views, likes, comments)

7. Update Row

Пишем всё в таблицу (summary, transcript, views, etc.)

8. Processed True

Обновляем processed = true в Supabase

Шаблон запускается автоматически по тамеру 🔁 а обработанные видео снова в процесс не попадут.