Public
Remixed
AI видео-апскейлер на Replicate real-esrgan-video
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

Video AI Upscaler

Апскейл видео нейросетью Real-ESRGAN. Тёмный интерфейс, drag & drop, прогресс, история, админка с очередью и статистикой.

Сайт: https://video-ai-upscaler-nh.val.run Админка: https://video-ai-upscaler-nh.val.run/admin

Что нужно сделать перед запуском

  1. Отзови старый ключ Replicate. Тот, что был прислан в чате, скомпрометирован: https://replicate.com/account/api-tokens
  2. Создай новый и добавь его как REPLICATE_API_TOKEN — до этого обработка не запустится.
  3. Поменяй ADMIN_PASSWORD (сейчас стоит заглушка change-me-now-8f3kd9).

Ключи задаются только через переменные окружения вала, в коде их нет.

Структура

ФайлНазначение
main.tsxHTTP-сервер: статика, API, вебхук, админ-роуты
lib/db.tsSQLite: задачи, история, статистика, рейт-лимит
lib/replicate.tsReplicate API: версия модели, схема входов, предсказания
index.html / app.jsГлавная страница
admin.html / admin.jsАдминка
style.cssТёмная тема, стекло, градиенты, адаптив

Как идёт обработка

Rendering mermaid diagram...

Отличия от изначального ТЗ

Deno KV заменён на SQLite Val Town. Deno KV на платформе недоступен. Задачи, история и статистика лежат в std/sqlite, загруженные файлы — в std/blob. Оба хранилища бесплатны.

Загрузка файлов ограничена 8 МБ. Replicate забирает видео по публичной ссылке, а гонять большие файлы через serverless-запрос нельзя. Мелкие клипы идут через blob, для остального есть поле с прямой ссылкой.

Прогресс-бар оценочный. Replicate не отдаёт процент выполнения, поэтому полоса ползёт до 90% по времени, а до 100% доходит по факту готовности.

Добавлена защита от расходов. Без пароля админа — 2 задачи в час на браузер (FREE_PER_HOUR в main.tsx). С паролем лимита нет. Рендер видео на Replicate платный и медленный, а сайт открыт всему интернету — без этого посторонние тратили бы твои деньги.

Проверка полей модели

lucataco/real-esrgan-video менял имена входных полей между версиями, поэтому lib/replicate.ts читает схему последней версии и отправляет только те поля, которые модель реально принимает. Посмотреть живую схему: кнопка «Показать схему модели» в админке.

Стоимость

Val Town — бесплатный тир. Платишь только Replicate за секунды GPU. 4x дороже и дольше 2x; 30-секундный клип может рендериться несколько минут. Готовые файлы живут на серверах Replicate около часа — скачивай сразу.