Hook Mixer (Junction)
Сайт, який бере випадкове відео й випадковий хук з Google Drive і поєднує їх через ffmpeg.
ffmpeg працює прямо у браузері (ffmpeg.wasm), тому сервер не потрібен, і безкоштовного Vercel достатньо.
Як влаштовані папки на Google Drive
На сайті вказується одна головна папка (за замовчуванням уже стоїть папка Junction).
Всередині неї сайт сам шукає підпапки: з «хук»/«hook» у назві = хуки, з «відео»/«video» = відео.
Якщо вгадав неправильно, папки можна вибрати зі списку.
Якщо підпапок немає, відео з «hook»/«хук» у назві файлу вважаються хуками, а решта основними відео.
- Папка з хуками містить:
- відео-хуки: короткі кліпи
.mp4/.mov, які ставляться на початок;
- текстові хуки: файл
.txt або Google Doc, один хук на рядок. Текст накладається титром на перші 3 секунди.
- Папка з відео містить основні відео.
- Підпапки теж читаються (до 2 рівнів вкладеності).
- Обидві папки: Поділитися → «Усі, хто має посилання» → Читач.
Підключення Drive через Apps Script (рекомендовано, без карти й ключів)
- Відкрий script.google.com → New project (Новий проєкт).
- Видали весь код у редакторі й встав вміст файлу
apps-script.gs з цієї папки. Натисни 💾 (Save).
- Deploy → New deployment → шестерня ⚙️ → Web app.
- Execute as: Me
- Who has access: Anyone
- Натисни Deploy.
- Google попросить дозвіл: Authorize access → обери свій акаунт → Advanced → Go to project (unsafe) → Allow.
(«unsafe» тут означає лише, що скрипт не перевіряла Google; це твій власний скрипт.)
- Скопіюй Web app URL (закінчується на
/exec) і встав на сайті в перше поле.
Скрипт віддає тільки файли з головної папки Junction, тому решта твого Drive недоступна. Папку не треба робити публічною.
Великі відео скрипт передає частинами по 8 МБ, тому розмір файлу не обмежений (але великі файли довше вантажаться).
Як оновити код скрипта (зберігши те саме посилання)
- На script.google.com заміни весь код новим вмістом
apps-script.gs і збережи.
- Угорі у списку функцій обери
authorize → натисни ▶ Виконати (Run) → дай нові дозволи (Додатково → Перейти до проєкту → Дозволити).
- Розгорнути → Керувати розгортаннями → ✏️ (олівець) → Версія: Нова версія → Розгорнути.
Посилання
/exec залишиться тим самим.
Альтернатива: Google API-ключ (один раз, безкоштовно, карта не потрібна)
- console.cloud.google.com → створи проєкт (наприклад,
hook-mixer).
- APIs & Services → Library → Google Drive API → Enable.
- APIs & Services → Credentials → Create credentials → API key.
- Відкрий ключ і налаштуй обмеження:
- Application restrictions → Websites → додай
https://ТВІЙ-ПРОЄКТ.vercel.app/* (і http://localhost:*/* для тестів);
- API restrictions → Restrict key → Google Drive API.
- Встав ключ на сайті в поле «Google API-ключ». Він зберігається тільки у твоєму браузері й не потрапляє в GitHub.
Як користуватись
- Встав ключ і посилання на дві папки → «Завантажити список файлів».
- Обери параметри: скільки відео в ролику, скільки роликів, тип хука, якість.
- «Поєднати» → перегляд → «Завантажити MP4».
Вкладка «Файли з компʼютера» робить те саме без Google Drive.
Налаштування монтажу (блок «2. Стиль монтажу»)
Усе обирається на сайті й запамʼятовується у браузері.
- Пресети: TikTok жовтий, Хайп, Кіно, Мінімал, Junction. Можна зберегти свій.
- Шрифт: 11 шрифтів з кирилицею (Montserrat, Unbounded, Rubik, Oswald, Russo One, Manrope, Exo 2, Comfortaa, Caveat, Lobster, Press Start 2P).
- Текст: колір, стиль (плашка / обводка / тінь / без фону), колір плашки, розмір, позиція, ВЕЛИКІ ЛІТЕРИ, тривалість текстового хука.
- Анімація: статично, плавна поява, pop, виїзд знизу, по рядках, по одному слову.
- Субтитри: без субтитрів / з файлу
.srt (з тією ж назвою, що й відео: video1.mp4 + video1.srt) / автоматично.
Автосубтитри розпізнають голос моделлю Whisper прямо у браузері (безкоштовно, без ключів). Перший раз завантажується модель: «Швидка» ≈130 МБ, «Точна» ≈250 МБ, потім вона береться з кешу.
Можна вибрати мову, скільки слів показувати одночасно і колір підсвітки слова, яке звучить.
Під готовим роликом є посилання «Субтитри (.srt)»: завантаж, виправ помилки і поклади файл поруч із відео на Drive. Наступного разу візьмуться виправлені субтитри.
- Переходи: 12 основних з анімованими мініатюрами + ще 36 переходів ffmpeg (шторки, діагоналі, слайси, двері, стиснення…) — усі 46 переходів, які є в ffmpeg.
- Монтаж: вирізати паузи (тишу) з відео (мʼяко / середньо / жорстко), бумеранг на хуку, стоп-кадр у кінці, поява з чорного й затемнення, дзеркало, поворот 90/180/270°, стабілізація.
- Ефекти: 9 кольорокорекцій + свій LUT (.cube) з підпапки
lut на Drive або файлом; ручна корекція (яскравість, контраст, насиченість, температура);
стилізація (VHS, кольорові відблиски, кінорамка, мерехтіння, зерно, віньєтка, комікс, шлейф руху, розмиття руху, вибірковий колір);
динаміка (зум-удар, тряска, глітч на хуку, повільний наїзд камери, прогрес-бар); якість (автосвітло, прибрати шум, різкість).
- Звук: обробка голосу (чистий голос, телефон, луна, низький, високий, робот, хор), прибрати фоновий шум, автоприглушення музики, коли говорять, плавний старт музики; фонова музика (підпапка
music на Drive або свій файл), гучність музики / оригіналу / ефектів, 9 звукових ефектів (на переході, на старті хука, на появі тексту), вирівнювання гучності.
- Формат: 9:16, 4:5, 1:1, 16:9; обрізати / розмитий фон / чорні смуги; швидкість 1–1.5×; 1080p; менший розмір файлу.
- CTA і лого: заклик до дії в кінці, логотип (підпапка
logo на Drive або свій PNG), позиція, розмір, прозорість, нік / @username унизу кадру.
- Експорт: крім MP4 — обкладинка PNG, тільки звук MP3, GIF (перші 8 с), WebM.
This is the beginning of the README. Read the rest at the original. Read the full README ↗