## Подготовка моделей

Сначала прочитай models/fetch.py и сверь адреса в models/sources.json с официальными источниками: storage.googleapis.com и media.githubusercontent.com. Там же записаны контрольные суммы SHA256.

После установки зависимостей разреши доступ к этим адресам через настройки сети sandbox и запусти явную загрузку. Скрипт скачает две модели общим размером 482126 байт без ключей, сверит SHA256 до сохранения и не перезапишет существующий файл с несовпадающей суммой.

```bash
.venv/bin/python models/fetch.py --download
```

Затем выключи сеть и выполни doctor/smoke. Для обработки видео интернет не нужен. Повторно скачивать модели не требуется; проверить сохранённые файлы можно офлайн.

```bash
.venv/bin/python models/fetch.py --verify
```

Статус твоего запуска: не выполнено.

Этот файл содержит команды для твоей проверки, а не подтверждение успешного запуска. Локальный технический отчёт добавится отдельно после фактического прогона.

Сначала прочитай код и SECURITY.md. Используй одноразовую изолированную среду только с папкой scratch. Обычный venv недостаточен. Если такую среду создать нельзя, ограничься статическим изучением.

Внутри безопасной среды, из папки clip-effects:

python3.12 -m venv .venv
.venv/bin/python scripts/dependencies.py --install

После установки отключи сеть:

.venv/bin/python scripts/doctor.py
.venv/bin/python scripts/render.py --list
.venv/bin/python scripts/smoke.py

doctor.py проверяет версии, модели, FFmpeg и импорты без сети. Список должен содержать семь эффектов. smoke.py создаёт семь PNG размером 320x568 и анимацию демо сниженной размерности, проверяя отличие от исходника. Ошибка любой проверки означает остановку.

Для визуальной пробы:

.venv/bin/python scripts/demo.py demo-input.mp4
.venv/bin/python scripts/render.py --plan config/plan.json demo-input.mp4 result.png --still 1.0 --width 540

Запиши фактические результаты и ошибки в отдельный локальный отчёт. Выполнение команд не заменяет просмотр кадра человеком. Перед обработкой своего клипа отдельно проверь и одобри кадр именно из него.

