Задача: Обеспечить корректный рендер текстовых слоёв из веб-приложения (https://сайт) в итоговый видеофайл (webm VP9+alpha) с сохранением шрифтов, цветов, таймингов анимации и достижения полной идентичности клиентскому предпросмотру.
КОНТЕКСТ ПРОЕКТА:
Фронтенд: React (Vite),
Бэкенд: FastAPI,
Хранилище: MinIO (S3-совместимое),
БД: PostgreSQL,
Контейнеризация: Docker, docker-compose,
Для локальной разработки используется docker-compose.yml (карта проекта будет предоставлена исполнителю).
Анимация текстовых слоев реализована через Staggerchildren в Framer Motion (эффект посимвольного появления текста слева направо). Цвет текста задается динамически в зависимости от выбранного шаблона открытки.
ТРЕБОВАНИЯ К РЕАЛИЗАЦИИ:
Вывод: итоговый файл формата webm (VP9 с альфа-каналом), частота - 30 FPS, разрешение 1080х1920 px. Полная идентичность предпросмотру текстовых слоев (шрифты, цвета, тайминги, анимация) без потери качества и эффектов анимации.
Процесс: webm-файл генерируется на бэкенде и сохраняется в папке хранилища MinIO для последующего этапа – общего рендеринга всех слоев. Клиенту/пользователю на этом этапе ничего не выдается, конвертация текстовых слоев должна производиться только после получения веб-хука об оплате в онлайн-режиме без последующего сохранения на диске промежуточных файлов (png-сиквенций и пр. сопутствующих материалов). Оплата иммитируется через временную кнопку-триггер. Процесс должен быть автоматизирован без использования сторонних программ на сервере/локалке (Bodymovin в After Effects и т.п.) и без участия ручного труда. Все должно работать автоматически на бэкенде по триггеру – успешной оплате. Время конвертации должно занимать в пределах 30 секунд, ожидаемый вес webm-файла около 50 mb.
Место сохранения файла: должно задаваться параметром или переменной окружения, чтобы его можно было перенастроить без изменения кода.
Гибкость: Код должен быть написан универсально: новые кастомные шрифты с поддержкой казахской кириллицы должны подключаться автоматически без необходимости править логику рендера. Система должна брать текстовые параметры динамически, а не «зашивать» конкретный файл в код.
Для сведения: добавление новых шаблонов открыток и шрифтов уже реализовано через админ-панель. Внедряются с одной кнопки автоматически и корректно без вмешательства в код.
ПРОВЕРКА РЕЗУЛЬТАТА:
Скрипт после подключения к боевому сайту в течение 3-х рабочих дней будет тестироваться путем использования 5 действующих и 3 новых шаблонов открыток, 5 действующих и 3 новых шрифтов, 5 вариантов длинного и короткого текста с казахской кириллицей. Работа будет считаться выполненной только после полного соответствия результата с вышеуказанными требованиями к реализации.
Предложите Ваш бюджет и сроки. Кандидатов прошу сразу описать какими инструментами будет решаться задача.