app v1
This commit is contained in:
251
mvpTask
Normal file
251
mvpTask
Normal file
@@ -0,0 +1,251 @@
|
||||
🧠 PROMPT / ТЗ ДЛЯ AI
|
||||
MVP приложения генерации аниме-квиз видео
|
||||
ROLE
|
||||
|
||||
Ты — senior full-stack developer, специализирующийся на:
|
||||
|
||||
Vue 3
|
||||
|
||||
Python (FastAPI)
|
||||
|
||||
FFmpeg / MoviePy
|
||||
|
||||
генерации видео
|
||||
|
||||
Твоя задача — сгенерировать код MVP, а не архитектурные рассуждения.
|
||||
|
||||
🎯 Цель проекта
|
||||
|
||||
Создать MVP веб-приложения, которое автоматически генерирует видео формата
|
||||
«Guess the Anime Opening» для:
|
||||
|
||||
YouTube (полноценные видео)
|
||||
|
||||
Shorts / TikTok (вертикальные)
|
||||
|
||||
Без ручного видеомонтажа.
|
||||
|
||||
🚫 Ограничения MVP
|
||||
|
||||
НЕ реализовывать:
|
||||
|
||||
авторизацию
|
||||
|
||||
оплату
|
||||
|
||||
аналитику
|
||||
|
||||
AI-анализ сцен
|
||||
|
||||
мобильное приложение
|
||||
|
||||
Фокус — рабочая генерация видео.
|
||||
|
||||
🧩 Основной функционал
|
||||
1. Два режима генерации (ОБЯЗАТЕЛЬНО)
|
||||
🔹 Mode 1 — Shorts / TikTok
|
||||
|
||||
Формат: 9:16
|
||||
|
||||
Длительность: 30–60 сек
|
||||
|
||||
Быстрый темп
|
||||
|
||||
Минимум пауз
|
||||
|
||||
Крупный текст
|
||||
|
||||
Подходит для TikTok / YT Shorts
|
||||
|
||||
🔹 Mode 2 — Full Video (YouTube)
|
||||
|
||||
Формат: 16:9
|
||||
|
||||
10–20 вопросов
|
||||
|
||||
Более медленный тайминг
|
||||
|
||||
Финальный экран
|
||||
|
||||
Подходит для обычного YouTube
|
||||
|
||||
⚠️ Код должен быть расширяемым для будущих форматов.
|
||||
|
||||
🎞️ Структура видео (строго)
|
||||
🔹 Один вопрос = 2 сцены
|
||||
🟦 Сцена 1 — ВОПРОС
|
||||
|
||||
❗ ВАЖНО:
|
||||
❌ НЕ использовать чёрный / статичный фон
|
||||
|
||||
✅ Использовать зацикленный видео-фон:
|
||||
|
||||
абстрактная анимация
|
||||
|
||||
motion graphics
|
||||
|
||||
динамический looping video
|
||||
|
||||
без авторских персонажей
|
||||
|
||||
Пример:
|
||||
|
||||
частицы
|
||||
|
||||
неоновые линии
|
||||
|
||||
анимированный градиент
|
||||
|
||||
glow-эффекты
|
||||
|
||||
Элементы сцены:
|
||||
|
||||
Текст:
|
||||
“Guess the Anime Opening”
|
||||
|
||||
Таймер обратного отсчёта (анимация)
|
||||
|
||||
Аудио фрагмент опенинга (1 / 3 / 5 сек)
|
||||
|
||||
Длительность:
|
||||
длительность аудио + 1 сек
|
||||
|
||||
🟩 Сцена 2 — ОТВЕТ
|
||||
|
||||
Текст:
|
||||
Anime: <название>
|
||||
|
||||
Постер аниме (если есть)
|
||||
|
||||
Звук подтверждения (optional)
|
||||
|
||||
Длительность: 2 сек
|
||||
|
||||
🟨 Финальный экран (только Full Video)
|
||||
|
||||
Текст:
|
||||
“How many did you guess?”
|
||||
|
||||
CTA:
|
||||
“Subscribe for more anime quizzes”
|
||||
|
||||
Длительность: 3 сек
|
||||
|
||||
🎶 Контент
|
||||
Аудио
|
||||
|
||||
MP3 файлы опенингов
|
||||
|
||||
Обрезка по таймкоду
|
||||
|
||||
Нормализация громкости
|
||||
|
||||
Видео-фоны
|
||||
|
||||
Набор looping mp4 (5–10 сек)
|
||||
|
||||
Зацикливание через FFmpeg
|
||||
|
||||
🗂️ Формат данных
|
||||
{
|
||||
"anime": "Attack on Titan",
|
||||
"opening_file": "aot_op1.mp3",
|
||||
"start_time": 32,
|
||||
"difficulty": "easy",
|
||||
"poster": "aot.jpg"
|
||||
}
|
||||
|
||||
⚙️ Технические требования
|
||||
Backend
|
||||
|
||||
Python
|
||||
|
||||
FastAPI
|
||||
|
||||
FFmpeg
|
||||
|
||||
MoviePy
|
||||
|
||||
Функции:
|
||||
|
||||
выбор контента
|
||||
|
||||
сбор таймингов
|
||||
|
||||
генерация видео
|
||||
|
||||
возврат MP4
|
||||
|
||||
Frontend
|
||||
|
||||
❗ Использовать Vue 3, НЕ React
|
||||
|
||||
Почему:
|
||||
|
||||
не мешает масштабированию
|
||||
|
||||
допускает SSR / SPA
|
||||
|
||||
легко расширяется
|
||||
|
||||
Функции:
|
||||
|
||||
форма параметров
|
||||
|
||||
выбор режима (Shorts / Full)
|
||||
|
||||
кнопка генерации
|
||||
|
||||
индикатор прогресса
|
||||
|
||||
кнопка скачивания
|
||||
|
||||
📐 Разрешения видео
|
||||
Режим Разрешение
|
||||
Shorts 1080×1920
|
||||
Full 1920×1080
|
||||
⏱️ Производительность
|
||||
|
||||
≤ 3 мин генерации (10 вопросов)
|
||||
|
||||
1 видео за раз
|
||||
|
||||
FFmpeg обязателен
|
||||
|
||||
❗ Обработка ошибок
|
||||
|
||||
нехватка контента
|
||||
|
||||
падение FFmpeg
|
||||
|
||||
неверные параметры
|
||||
|
||||
Возвращать понятные ошибки.
|
||||
|
||||
📦 Результат
|
||||
|
||||
AI должен:
|
||||
|
||||
Сгенерировать backend-код
|
||||
|
||||
Сгенерировать Vue frontend
|
||||
|
||||
Показать пример FFmpeg пайплайна
|
||||
|
||||
Объяснить, как запустить MVP локально
|
||||
|
||||
🧪 Acceptance Criteria
|
||||
|
||||
Видео корректно собирается
|
||||
|
||||
Аудио синхронизировано
|
||||
|
||||
Видео подходит для YouTube / TikTok
|
||||
|
||||
Код читаемый и расширяемый
|
||||
|
||||
⚠️ ВАЖНО
|
||||
|
||||
Не писать абстрактные советы.
|
||||
Не обсуждать «в теории».
|
||||
Писать конкретный код и структуру проекта.
|
||||
Reference in New Issue
Block a user