ASYLUM · Easy A → Алгоритм

Обратный инжиниринг: Easy A (2010) + сценарий → воспроизводимый пайплайн «сценарий → рендер» через Qwen 3.8 VLM на api.cxl.ru.

1. Материалы

готово Easy_A.pdf — 119 стр., полный сценарий (2009, B. V. Royal / W. Gluck).

готово Отличница...avi (1.5 ГБ, 88 мин, 25 fps) + Original_eng.ac3 (оригинальная англ. дорожка).

готово Субтитры: eng (1484) — основной, rus (1598).

2. Стек api.cxl.ru

готово qwen-3.8 — VLM (текст+картинка+видео), «мозг» анализа. 300 ₽/1M токенов.

готово flux-schnell — картинки (assets / first frames).

готово ltx / minimax-h3 — клипы 1–15 с со звуком.

готово tts-cosy / tts-espeech (voice movie) — киношный TTS.

3. Прогресс этапов

  1. ✅ Структура: asylum/, venv, nginx, деплой asylum.cxl.ru (HTTP 200).
  2. ✅ PDF → текст → 130 сцен, 3417 реплик, 15 персонажей.
  3. ✅ Субтитры: 1484 eng / 1598 rus, таймлайн ~88 мин.
  4. ✅ Извлечение 132 936 кадров (каждый кадр, 25 fps) → 1.9 ГБ.
  5. ✅ Синхронизация сценария ↔ субтитры → scene_map_en.json.
  6. ✅ Сгенерированы недостающие документы: assets / shot_list / sound_design / voiceover / storyboard.
  7. ✅ Финальный алгоритм: docs/ALGORITHM.md + forward-пайплайн forward_render.py.
  8. Кадр-по-кадр VLM-анализ (132 936 кадров через qwen-3.8, параллельно, с кэшем) — идёт, чекпоинты каждые 500.
  9. ○ Прямой рендер + сравнение с оригиналом (dVQA) — после полного VLM-прогона.

4. Сопоставление сцен (пример, eng-субтитры)

#СценаПерсонажиВремя
2INT. HIGH SCHOOL HALL - DAYOLIVE~62s
5EXT. SCHOOL - CONTINUOUSRHIANNON, GRIFFIN, OLIVE~120s
6INT. OLIVE'S BEDROOMOLIVE~1215s

Полная карта: data/structures/scene_map_en.json · VLM: frame_analysis_all.json.

5. Алгоритм (реверс-инжиниринг + прямой путь)

ОБРАТНЫЙ (фильм → граф):
  1. ffmpeg: каждый кадр (25fps) + субтитры eng → таймлайн
  2. Каждый кадр → qwen-3.8 VLM → {action, characters, location, camera, mood}
  3. Сценарий → 130 сцен (INT/EXT + реплики + V.O.)
  4. Матчинг сцен ↔ субтитры (по первой реплике + qwen-валидация)
  5. Генерация отсутствующих: shot_list, storyboard, assets, sound_design, voiceover

ПРЯМОЙ (граф → рендер):
  1. assets → flux-schnell → first frames
  2. shot → ltx / minimax-h3 I2V (1–15 с, со звуком)
  3. Реплики → tts-cosy/espeech (voice=movie)
  4. ffmpeg сборка → финальный ролик
  5. Сравнение с оригиналом: qwen-3.8 VQA