← Lab

OUT OF MEMORY

Materiał wygenerowany z użyciem AI muzyka: MiniMax-Music3 obraz: Qwen-Image 2.1 int8wideo: MiniMax H3 ref2va, turbo 8-stepgłos: VoxCPM2upscale: AetherScale ×2montaż: HyperFrames

OUT OF MEMORY to lyric video w formie pokazu mody. Kolekcja nazywa się GPU POOR 16 GB, a każdy look to jedna z technik, dzięki którym duży model AI mieści się na domowej karcie graficznej. Look 02 to int8, czyli kwantyzacja: wagi modelu zapisane w 8 bitach zajmują o połowę mniej pamięci niż w 16 bitach. Look 03 to LoRA, mała nakładka wytrenowana na kilkudziesięciu zdjęciach, żeby model umiał odtworzyć konkretną twarz albo styl. W Looku 04 bohaterka zrzuca kurtkę, tak jak offload przerzuca część modelu z pamięci karty do zwykłego RAM-u.

W rogu kadru przez cały film rośnie licznik zajętej pamięci karty. W refrenach dobija do czerwieni, a w bridge’u pamięć się kończy i ekran zalewa błąd „CUDA out of memory”. Po komunikacie „Offloading to system memory” pokaz rusza dalej. Ostatni look nosi nazwę FULL PRECISION, a tablica odlotów przestawia się na TASTE · FP32 · FITS: skwantyzować da się wszystko oprócz gustu.

Jak powstał

Rano wyszedłem do biura, a agentowi Claude Code zostawiłem inne lyric video jako inspirację, wolną rękę i dostęp do mojego ComfyUI, programu, w którym uruchamiam modele AI na własnym komputerze. Z tamtego filmu agent przejął formę pokazu mody. Temat, utwór i bohaterka są nowe. Od tej chwili pracował sam. Wszystkie modele obrazu, dźwięku i wideo działały lokalnie, na jednej karcie RTX 5080 z 16 GB pamięci. W chmurze działał tylko sam agent.

  • Agent napisał tekst po angielsku i wygenerował w MiniMax Music 3 kilka wersji piosenki. Nie słyszy, więc wybrał wersję na podstawie pomiarów: równego tempa, zrozumiałości słów i kompletności części utworu.
  • W Qwen-Image zrobił casting bohaterki i przygotował kadry scenografii.
  • Ujęcia ruchome to 21 klipów z MiniMax H3. W ujęciach ze śpiewem model dostawał wycinek wokalu z gotowego utworu i do niego generował ruch ust.
  • Agent odczytał z utworu rytm i moment, w którym pada każde słowo. Na tej podstawie zbudował montaż i animacje w HyperFrames, gdzie grafikę pisze się w HTML i renderuje do wideo.
  • Ostatnią linijkę mówi sklonowany głos wygenerowanej wokalistki, bo utwór z Music 3 kończył się na refrenie.

Film trwa 2:43. Pierwsza wersja końcowa powstała około 11 godzin po pierwszej wiadomości. Większość tego czasu zajęły dwie przerwy, kiedy agentowi skończył się limit w Claude. Karta w tym czasie kończyła zadania z kolejki. Sam agent pracował około dwóch godzin. Za generowanie nie zapłaciłem nic poza prądem.

Po powrocie obejrzałem film i zgłosiłem kilka uwag: napisy miejscami rozjeżdżały się z wokalem, czarny tekst ginął na czarnej kurtce, a do podnoszenia rozdzielczości wskazałem inne narzędzie. Poprawki też wprowadził agent. Film powyżej to wersja po poprawkach.

Co z tego wynika

  • Klipy przypięte do utworu. Każdy klip powstaje do konkretnego fragmentu piosenki i ma w niej stałe miejsce, więc montaż może ciąć między ujęciami w dowolnym momencie. Synchronizację ust trzeba oceniać okiem, bo automatyczny pomiar okazał się niemiarodajny. Tą samą metodą da się zrobić teledysk albo spot ze śpiewającą postacią.
  • Poprawki zajmują minuty. Wszystkie grafiki są wyliczane z rytmu i momentów, w których padają słowa. Przesunięcie słowa albo nowy klip to przebudowa w sekundę i render całego filmu w kilka minut. Moje uwagi trafiły do filmu jeszcze tego samego wieczoru.
  • Wystarczyła jedna karta. Wszystkie modele użyte w filmie zmieściły się na tej samej karcie z 16 GB: od muzyki, przez obraz i wideo, po podnoszenie rozdzielczości i klon głosu. Najdłużej trwa generowanie wideo, około 5,5 minuty na 10 sekund materiału. Nowa wersja ujęcia kosztuje czas pracy karty i prąd, bez opłat za każdą kolejną próbę.

Kto co zrobił

Pomysł, tekst utworu, reżyseria
Claude Code (Opus 5.5), autonomicznie
Prompty, montaż, motion design
Claude Code (Opus 5.5), autonomicznie
Inspiracja i pipeline
Marcin: inspiracja, wolna ręka i lokalny setup ComfyUI

Narzędzia

  • ComfyUI 0.37 (lokalnie, RTX 5080 16 GB)
  • MiniMax Music 3 (utwór)
  • whisper.cpp large-v3-turbo (zrozumiałość słów przy wyborze wersji utworu)
  • Qwen-Image 2.1 int8 (bohaterka i kadry)
  • MiniMax H3 ref2va, turbo 8-step (ujęcia ruchome)
  • MelBandRoFormer (stem wokalu)
  • MMS_FA i wav2vec2 LV60K w torchaudio (czasy słów, wymuszone dopasowanie tekstu)
  • librosa (siatka rytmu)
  • SAM3.1 (śledzenie postaci)
  • BiRefNet (wycięcia pod paralaksę)
  • VoxCPM2 (głos w outro)
  • AetherScale: Restoration, Neural Rendering i VSR ×2 (podnoszenie rozdzielczości)
  • HyperFrames 0.8.90, HTML i GSAP (motion design i montaż)