🧩 Цель:
Создать Python-плагин, который автоматически:
Извлекает изображения персонажей с видеотрека V2 в DaVinci Resolve.
Определяет длительность клипа (по аудио или по самому изображению).
Генерирует видео с анимированным говорящим персонажем через API модели fal-ai/kling-video/v2.1/standard/image-to-video.
Вставляет полученное видео поверх (на V3), не удаляя оригинальное изображение.
🖥 Платформа:
ОС: Windows 10 или 11
DaVinci Resolve Studio 18.5
🔑 Используемая модель:
FAL.ai Model:
fal-ai/kling-video/v2.1/standard/image-to-video
Входные параметры:
image — изображение персонажа (JPG/PNG)
duration — длительность видео в секундах (float)
Prompt для всех видео из файла config.yaml
Ответ:
JSON с video_url, откуда можно скачать готовое .mp4
📂 Примерная структура проекта:
talkinghead_plugin/
├── main.py # Точка запуска
├── fal_client.py # Обработка запросов к FAL API
├── resolve_script.py # Работа с DaVinci Resolve
├── config.yaml # Конфигурация (API_KEY,Prompt и т.п.)
├── generated/ # Папка для выходных .mp4
⚙️ config.yaml — пример:
Примерный config.yaml
API_KEY: "PASTE_YOUR_FAL_API_KEY_HERE"
OUTPUT_DIR: "./generated"
PROMPT: "Neutral talking animation. No blinking. No emotion. Camera remains still."
🔧 Функциональные шаги:
1. Подключение к DaVinci Resolve API
Получить текущий активный проект.
Получить текущий активный таймлайн.
2. Извлечение изображений
Пройти по всем клипам на видеотреке V2.
Для каждого:
Считать File Path, Start, Duration.
Название файла использовать для имени видеофайла.
3. Определение длительности
Проверить есть ли аудио-клип на A1, который начинается в пределах ±3 кадров от изображения.
Если есть — использовать его длительность (GetDuration).
Если нет — использовать длительность изображения.
4. Генерация видео
Отправить image + Prompt + duration(5-10сек) в fal-ai/kling-video/v2.1.
Дождаться URL на видео.
Скачать результат в ./generated/<basename>_talk.mp4.
5. Вставка на таймлайн
Импортировать mp4 в медиапул.
Вставить результат на видеотрек V3, строго в Start от исходного изображения.
Не удалять изображение с V2.
📌 Дополнительные требования:
Вести лог по каждому обработанному клипу:
имя изображения
длительность
путь к видео
статус генерации
Обработка ошибок:
если FAL API не отвечает или вернул ошибку — вывести сообщение и перейти к следующему клипу.
Проверка повтора:
если видео для изображения уже существует — не повторять генерацию, использовать локальный .mp4.
🚀 Расширения (опционально, не обязательно но если можете сделать):
GUI (Tkinter) с одной кнопкой: «Сгенерировать все говорящие видео».
Progress bar (если GUI будет).
✅ Выход:
Для каждого изображения на V2 будет создано и вставлено:
./generated/имя_файла_talk.mp4
Это видео будет вставлено на видеотрек V3 строго по таймкоду оригинального изображения.
Изображение и аудио останутся на месте.
Все фото в проекте просто добавлены и не обьеденены через Compound clip, некоторые фото добавлены несколько раз в разных таймкодах(то есть имена фото повторяются), это нужно учитывать чтобы сгенирированые видео раставились в нужнои порядке.
Разделы:
Опубликован:
29.06.2025 | 08:52
Заказ находится в архиве