Апи для конвертации ссылки на ютуб видео в статью
Поддерживает возможность указать количество подтем, обрезать видео, может выбирать из видео самые интересные скриншоты для статьи (алгоритмами компьютерного зрения, используемый алгоритм можно выбрать, как и желаемое количество скриншотов для каждой темы) и указывает тайминги, что и когда было сказано в видео.
Может использовать теги <b>
</b>
для выделения важного текста и нумерованные списки (1 ... 2 ...) для перечислений действий
Сделано для хакатона от ProfBuh
Python
Docker для простого запуска
yt-dlp, youtube-transcript-api, pytube для работы с YouTube
FastAPI + uvicorn для создания эндпоинта
GPT 3.5 turbo 16k от OpenAI для форматирования текста
Whisper от OpenAI для распознания голоса на видео (если у него нет субтитров)
OpenCV для создания и анализа изображений алгоритмами компьютерного зрения
- Запрашивает субтитры с YouTube. Если они недоступны, использует локальный Whisper
- Используя языковую модель разбирает видео на небольшие темы, после чего объединяет их для достижения указанного пользователем количества
- Параллельно генерирует текст + заголовок и извлекает картинки для каждой темы
- Кодирует (и опционально загружает на сторонний серсис) картинки
- Возвращает json
Благодаря использованию стримов полная загрузка видео не необходима. Если будет указано временное ограничение, то будет обработана только нужная часть видео
Для запуска обязательно нужно иметь ключ OpenAI (для использования языковой модели gpt). Для загрузки изображений на imgur потребуется их API ключ и ID вашего приложения. Все эти данные нужно разместить в папке проекта в файле .env
- Установить Docker
git clone https://github.com/Ferlern/vid2atl.git & cd vid2atl
- cp .env-example .env
- Заполнить .env
docker-compose up -d
- Установить Python >3.9
- Установить Poetry
- `git clone https://github.com/Ferlern/vid2atl.git & cd vid2atl
- cp .env-example .env
- Заполнить .env`
- Установить зависимости
poetry install
- Активировать виртуальное окружение
- Запустить сервер
uvicorn src.main:app
После запуска достаточно зайти на http://localhost:8000/docs, там будет краткая документация по единственному эндпоинту /article
.