Етап 0 · доказ якості ролика

Три фото квартири —
ролик на 15 секунд

Квартира лишається фотографіями. З кожного знімка збирається груба коробка кімнати — і камера літає всередині неї, а не возить пласку картинку. Маскот стоїть на тій самій підлозі й кидає на неї справжню тінь. Той самий рушій уміє й плаский 2D-варіант — нижче обидва поруч.

  • 15,0 с3 фото, 3 репліки
  • 1920×1080H.264, 30 к/с
  • ~55 срендер на CPU, без GPU
  • 5 × 2маскотів у двох стилях
Ролики

2D і 3D поруч

Основний результат — 3D-варіант праворуч. Ліворуч той самий сценарій у пласкій графіці, для порівняння. Натисніть «Синхронний показ» — обидва стартують з нуля одночасно.

2D

Плоский 2D-маскот «Соня» альтернатива

Моушн-графіка: вектор, чисті заливки, приглушене фото під персонажем. Читається на телефоні навіть у стрічці без звуку.

  • Плюс: рендер удвічі швидший, легко змінити колір під бренд
  • Плюс: персонаж не «свариться» з фото — його навмисно виведено на окремий шар
  • Мінус: менше відчуття присутності в приміщенні
15,0 с1920×1080 MP4 Завантажити
3D

3D-маскот у кімнаті основний варіант

Готова анімована GLB-модель у фірмових кольорах усередині кімнати, зібраної з фото: іде до вікна, показує на кухню, сідає на диван. Голос — ElevenLabs українською, липсинк.

  • Плюс: паралакс і зміна ракурсу — працює ефект «екскурсовод у квартирі»
  • Плюс: справжня тінь на підлозі «приклеює» персонажа до кімнати
  • Мінус: коробка груба: камера ходить обмежено, меблі не перекривають героя
15,0 с1920×1080 MP4 Завантажити
Озвучка

Чотири голоси, один текст

У ролику — ElevenLabs українською. Нижче можна порівняти чотирьох кандидатів і те, з чого починали: локальну нейромережу й системний синтез.

«Вітаю! Світла двокімнатна на Печерську. Панорамне вікно, кухня-їдальня поруч. Шістдесят вісім квадратів…»

Virusebe у ролику
ElevenLabs · multilingual v2 · українська

Нативний український голос, найживіший темп і широкий діапазон тону. Обраний після порівняння чотирьох.

Sarah · Matilda · Alice
ElevenLabs · кандидати

Ті самі фрази іншими голосами — для порівняння.

tetianaрезерв
Piper · локально, без інтернету

Безкоштовний офлайн-варіант на CPU. Лишається одним перемикачем у коді.

Lesyaбуло спочатку
системний синтез macOS

Те, з чого починали. Лишено для порівняння.

Провайдер озвучки — одна змінна середовища (tools/tts_providers.py): ElevenLabs, Azure, Google або локальний Piper. Ціни й порівняння сервісів — у розділі «Стек і бюджет».

Персонажі

П'ять маскотів, два стилі

Кожен персонаж експортовано окремими PNG із прозорим фоном — три пози, готові до вставки в презентацію, банер чи сторіс.

Клік по фігурі — великий перегляд на шаховому тлі, щоб було видно прозорість. Усі файли лежать у assets/mascots/.

Під капотом

Що саме доведено

1

Кімната будується з однієї фотографії

Розмічаємо на знімку прямокутник задньої стіни — і кімната розкладається на п'ять граней: стіна, підлога, стеля, два боки. Фото натягується на них, далі всередину запускається 3D-камера. Маскот живе в тій самій сцені, тож перспектива й тінь виходять самі. Деталі й межі методу — у презентації.

2

Українська озвучка — нейромережа на CPU

ElevenLabs eleven_multilingual_v2, українська, стабільність 0,35 / стиль 0,3. Шість фраз синтезуються окремо, паузи між ними задає сценарій, далі де-есер, компресія й −16 LUFS. Офлайн-резерв — Piper на CPU, перемикається однією змінною.

3

Рендер без хмари й без відеокарти

Headless Chrome малює 450 кадрів за 44 с, ffmpeg збирає H.264 ще за 10 с — усе на CPU. Це ≈900 роликів на добу з однієї машини з поправкою на реальне завантаження. Команда: render_video.py --style 3d --mascot kiy.

4

Чесні межі цього етапу

Це Етап 0: доводимо, що один ролик виходить якісним. Тут немає бекенду, БД і адмінки — і поки не треба. Лінію горизонту оцінює евристика, а не depth-модель; типи приміщень поки не розпізнаються. Розбір, що робити далі й чим це загрожує — у розділі «Стек і бюджет».

Демо-проект · дані вигадані