Об этом проекте

OpenStory — это открытая платформа для превращения написанного сценария в стилизованную видеопостановку. Она анализирует сценарий и разбивает его на сцены с указанием ракурсов камеры, настроения и отслеживанием непрерывности, а затем генерирует последовательность ИИ-кадров — изображений, видео и аудио, — сохраняя единообразие персонажей, локаций, цветовых палитр и освещения across сцен. Проект описывает себя как инструмент, берущий на себя промпт-инжиниринг, генерацию и композитинг, чтобы команды могли сосредоточиться на творческой работе. Ключевые возможности, описанные в README: - Анализ сценария: вставьте сценарий и получите автоматическую разбивку на сцены с ракурсами камеры, настроением и отслеживанием непрерывности. - Генерация ИИ-изображений через Fal.ai с несколькими вариантами моделей. - Превращение изображений в видео: преобразование статичных кадров в видеоклипы с движением. - Единообразие стиля: персонажи, локации, цветовые палитры и освещение автоматически переносятся между сценами. - Командные рабочие пространства указаны как «скоро», включая общие библиотеки стилей, персонажей, VFX и аудио. - Аутентификация с помощью passkey через Better Auth для входа без пароля. - Развёртывание на периферии в Cloudflare Workers с глобальным CDN. Архитектура и стек: приложение построено на TanStack Start, TanStack Router и Vite, работает на Bun (>= 1.3.9). Данные хранятся в Cloudflare D1 (SQLite) через Drizzle ORM. Функции ИИ используют TanStack AI, Fal.ai и OpenRouter, а PostHog — для наблюдаемости LLM. Длительная генерация обрабатывается Cloudflare Workflows для надёжного выполнения, а Cloudflare Durable Objects обеспечивают обновления прогресса в реальном времени через SSE. Ресурсы хранятся в Cloudflare R2 (совместимо с S3). Интерфейс использует Tailwind v4 и shadcn/ui. Инструменты качества включают oxlint, oxfmt, tsgo, Lefthook и Knip; тестирование — Vitest и Playwright. Для начала работы требуется только Bun. Локальная разработка запускает весь стек — D1, R2, Workflows, Durable Objects и электронную почту — внутри Workerd через Miniflare, поэтому не нужны Docker, внешняя база данных или аккаунт Cloudflare. После клонирования и запуска bun install команда bun dev создаёт .env.local с секретами аутентификации и шифрования, выполняет миграции и заполняет локальную базу данных, а затем запускает сервер разработки на порту 3000. Для генерации ИИ требуются два ключа: FAL_KEY для генерации изображений, видео и аудио и OPENROUTER_KEY для анализа сценария с помощью LLM; bun setup добавляет их в интерактивном режиме. Дополнительная конфигурация охватывает Google OAuth, Stripe, PostHog и удалённый R2. Репозиторий документирует широкий набор скриптов для разработки, проверок качества, тестирования, миграций базы данных и развёртывания. Развёртывание ориентировано на Cloudflare Workers с кнопкой развёртывания в один клик, которая клонирует репозиторий, подготавливает ресурсы, объявленные в wrangler.jsonc, и настраивает CI. Cloudflare Workers Builds автоматически развёртывает при пушах в main, а pull-запросы получают превью-развёртывания через GitHub Actions с выделенными базами данных D1. Проект лицензирован по MIT и приветствует вклад, направляя новичков к меткам good first issue и руководству CONTRIBUTING.