ImageClip чтобы интерпретировать изображение как статичное видео.
VideoFileClip чтобы загрузить видео.
CompositeVideoClips чтобы наложить два или более клипов. Потом метод
write_videofile(), чтобы сохранить результат.
Научись работать с одним клипом и изображением. Потом оформи этот код в функцию вида
def process_one(image_path, input_video_path, output_video_path) -> None:
чтобы она брала указанную картинку и видео, и сохраняла результат в указанный файл.
Дальше уже будет просто вопрос вызова этой функции с правильными именами файлов. Тут пригодится, скажем, стандартный модуль
pathlib, в частности метод
Path.glob().
Десять минут работы с документацией, и всё можно найти.