Впровадження генерування коротких клипів з штучним інтелектом в мобільному додатку
Короткі клипи — формат TikTok/Reels — відрізняються від звичайної відеогенерації вимогами до співвідношення сторін (9:16), тривалості (5–15 секунд) та швидкості. Користувачі очікують отримати результат швидко та одразу придатний для публікації, без ручного кропу.
Розбиваємо задачу на компоненти
Генерування короткого клипу за текстом чи фото — це не одна операція, а пайплайн:
- Text/Image → Video — сама генерація (Kling, Hailuo, Runway в режимі 9:16)
- Додавання музики — AI-підбір або генерація треку (Suno API, ElevenLabs Sound Effects)
- Субтитри/текст — оверлей із кастомним шрифтом
- Фінальна компресія — H.264/H.265 для оптимального розміру
Кожний крок можна робити на бекенді або на клієнті. Відеогенерація — завжди сервер. Монтаж — можна на клієнті через FFmpeg.
Відеогенерація в 9:16
Більшість API підтримують вибір аспект-ратіо:
// Kling API: створення задачі
{
"prompt": "A cinematic shot of...",
"aspect_ratio": "9:16",
"duration": "5",
"mode": "std"
}
Hailuo (MiniMax) та Luma Dream Machine аналогічно. Runway Gen-3 підтримує 768:1280 — це 9:16. Для Image-to-Video: кропаємо вихідне фото до 9:16 на клієнті перед відправкою.
FFmpeg на мобільному: монтаж без сервера
Після отримання сгенерованого клипу додати музику, субтитри, переходи можна прямо на пристрої. ffmpeg-kit-react-native або нативний ffmpeg-kit для iOS/Android — статично зв'язаний FFmpeg без GPL-залежностей (LGPLv3 збірка).
// Android: наложення аудіо на відео через FFmpegKit
FFmpegKit.executeAsync(
"-i ${videoPath} -i ${audioPath} " +
"-filter_complex \"[1:a]afade=t=out:st=4:d=1[a]\" " +
"-map 0:v -map \"[a]\" " +
"-c:v copy -c:a aac -shortest " +
outputPath
) { session ->
if (ReturnCode.isSuccess(session.returnCode)) {
// Готово
}
}
Компресія для Stories/Reels: -c:v libx264 -crf 23 -preset fast -vf scale=1080:1920. Розмір типового 10-секундного клипу — 5–8 MB у H.264 при 1080p.
Шаблони клипів
Реальні програми (CapCut-like) працюють за шаблонами: фіксована структура — заставка 1 сек, основний контент 8 сек, outro 1 сек. Користувач задає лише текст/фото, шаблон диктує тайминги та переходи.
Шаблон зберігається як JSON:
{
"duration": 10,
"segments": [
{"type": "title_card", "duration": 1.5, "text_position": "center"},
{"type": "ai_video", "duration": 7.0, "transition_in": "fade"},
{"type": "outro", "duration": 1.5, "logo": true}
],
"aspect_ratio": "9:16",
"music": {"genre": "upbeat", "volume": 0.4}
}
Клієнт рендерує карту вступу (кастомний текстовий шар), замінює сегмент ai_video згенерованим клипом, композитує outro. Все через AVFoundation (iOS) або MediaCodec (Android).
Синхронізація музики
AI-генерована музика рідко синхронізується ідеально з ритмом відео. Краще: бібліотека royalty-free коротких треків з попередньою сегментацією за біт. Kling/Hailuo API дозволяють задати аудіо, тож можна генерувати відео до-біту замість навпаки.
Або: відправити згенероване відео на бекенд, обробити з Suno/ElevenLabs music gen (text prompt → audio), потім композити на клієнті.
Експорт та публікація
Фінальна компресія клипу має значення. Цільові розміри:
- TikTok: макс 287.6 MB (неправдоподібно, цільовий 50–100 MB)
- Instagram Reels: макс 4 GB (безпечно на 100–200 MB)
- YouTube Shorts: макс 100 MB
На клієнті компресія через FFmpeg: -crf 25 (хорошій баланс якість/розмір), -preset fast (5–10 сек для 10 сек клипу на середньому пристрої).
Терміни
Генерування клипу на основі шаблону з інтеграцією API, музики, монтажу на пристрої — 2–3 тижні. Повний редактор із кастомними макетами, переходами, ефектами — 4–6 тижнів. Вартість включає складність інтеграції FFmpeg та API-викликів провайдера.







