Napsal jsem jednoduché zadání: „zlatý retrívr skáče do rybníka v podvečerním slunci, zpomalený záběr”. O necelou minutu později jsem měl na obrazovce přesně to. Voda stříkala, srst se leskla, slunce padalo pod tím správným úhlem. Jenže na čtvrté vteřině psovi na okamžik zmizela zadní noha a hned zase naskočila zpátky.
Ten drobný detail mi řekl o generování videa víc, než kdyby pes doskočil bez chybičky. Model neví, co je pes. Ví jen, jak pes obvykle vypadá na milionech fotek a videí, ze kterých se to naučil, a nohu si k tělu domýšlí „od oka”.
Flipbook, který kreslí sám sebe
Nejjednodušší způsob, jak si text-to-video představit, je stará dětská hra: flipbook, tedy sešit, kde na roh každé stránky nakreslíte panáčka o milimetr jinak a pak stránkami rychle prolistujete palcem. Panáček se rozběhne.
AI dělá podobnou věc, jen sešit nekreslí ručně podle scénáře. Model dostane textové zadání a vygeneruje sled snímků (anglicky frames), které na sebe navazují natolik plynule, že mozek mezi nimi doplní pohyb.
Jak se to liší od klasické počítačové animace? Animátor nebo herní engine pracuje s modelem světa: ví, kde je gravitace, kde jsou kosti kostry postavy, kam přesně dopadne tlapka. Text-to-video žádný takový model světa nemá. Nesimuluje fyziku, jen odhaduje, co by na fotce či videu se stejným popisem statisticky nejspíš bylo vidět.
Jak model vidí čas
Uvnitř generátoru běží difuzní model (diffusion model), stejný princip jako u generátorů obrázků typu Midjourney nebo DALL-E, jen rozšířený o čas. Jak difuzní model krok za krokem přetváří šum na obrázek, jsem podrobně popsal v kompletním přehledu generátorů videa, tady se rovnou zaměřím na to, čím je text-to-video specifické.
Vaše textové zadání se totiž nejdřív převede na čísla, kterým model rozumí (na takzvané embeddingy), a tahle čísla pak celý proces řídí jako neviditelná ruka na kormidle: usměrňují, kterým směrem se má obrazový šum měnit. Proto slovo „zlatý retrívr” povede k jinému výsledku než obyčejné „pes”. Model každé slovo mapuje na mírně jiná čísla, a čím přesnější slova mu dáte, tím přesněji ví, kam má šum směrovat.
U videa se k tomu přidává jeden rozměr navíc, čas. OpenAI ve svém technickém popisu Sory z roku 2024 vysvětlila, že model nepracuje s celými snímky najednou, ale rozseká video na malé kousky obrazu a času dohromady, takzvané „spacetime patches”. Představte si video jako kostku místo plochého obrázku. Model tu kostku rozseká na drobné kostičky a učí se, jak spolu sousední kostičky souvisí, jak v prostoru (co je vlevo, co vpravo), tak v čase (co bylo o zlomek vteřiny dřív a co bude o zlomek vteřiny pak).
Díky tomu model odhadne pohyb: kam se posune ruka, jak se zvlní hladina, jak dopadne tlapka. Nezaručí ale, že ten odhad zůstane stejný od první do poslední vteřiny. Je to spíš série chytrých dohadů poskládaných za sebou než simulace fyzického světa.
Proč deset vteřin bolí víc než tři
Délka klipu není jen marketingové omezení tarifů. Má technický důvod.
Čím déle video trvá, tím víc kostiček musí model spočítat a tím víc kombinací mezi nimi musí uhlídat najednou. Výpočetní nároky nerostou úměrně délce, rostou prudčeji, protože model porovnává každý kousek obrazu s každým dalším kouskem v čase i prostoru. Zdvojnásobit délku klipu neznamená dvojnásobnou práci. Paradoxně to znamená, že krátký a jednoduchý záběr bývá spolehlivější než dlouhý a komplikovaný.
V praxi to poznáte na čekací době i na ceně. Pár vteřin videa se vyrenderuje řádově za desítky vteřin až pár minut. Natáhnout klip na půl minuty souvislého záběru znamená čekat řádově déle a zaplatit řádově víc kreditů, pokud to daný nástroj vůbec bez triků nabízí.
Firmy to řeší různě. Sora v základní verzi zvládala jednotky vteřin. Kling od čínské firmy Kuaishou se profiluje právě delšími klipy už v levnějších tarifech. Který přístup je lepší, záleží na tom, co s videem chcete dělat, ne na tom, čí číslo na webu je vyšší.
Většina nástrojů si s limitem poradí trikem: vezmou poslední snímek hotového klipu a použijí ho jako výchozí obrázek pro další generování, tentokrát metodou image-to-video. Vznikne dojem jednoho dlouhého záběru, i když ve skutečnosti jde o několik kratších generování slepených za sebou. Ostatně, tohle je přesně ten moment, kdy se text-to-video a image-to-video potkávají, i když je nabídky firem prezentují jako oddělené funkce.
Háček je v tom, že každé slepení je nová příležitost k chybě. Model znovu neví nic víc, než co vidí na tom jednom posledním snímku. Barva světla se může nepatrně posunout, pohyb kamery zaškube. U tříspojeného videa to divák čtyřikrát tolerantněji přehlédne. U desetispojeného videa se drobné odchylky sčítají a je to vidět.
Když pes ve druhém záběru vypadá jinak
Slepování jednoho dlouhého videa je jedna bolest. Série samostatných klipů, které mají spolu navazovat, třeba reklama se stejným produktem ve třech různých scénách, je bolest jiná, a s předchozí se nedá vyřešit stejným trikem.
Model si nepamatuje, co vygeneroval minule, pokud mu to znovu nedáte jako vstup. Psí obojek může být v prvním klipu červený a ve druhém oranžový. Rysy tváře postavy se mezi klipy nepatrně změní, barva trávy se posune o odstín, logo na tričku se rozmaže jinak.
Je to jako byste zadali stejný slovní popis obrazu deseti různým malířům a čekali, že všech deset pláten bude vypadat jako jedno dílo. Každý malíř si stejná slova představí trochu jinak, přestože vychází ze stejného zadání.
Vývojáři to řeší přidáváním referenčních obrázků nebo takzvaně zamčeného popisu postavy, který se vkládá do každého dalšího promptu (zadání). E-shop, který chce vygenerovat krátká videa pěti produktů ve stejné obálce, tak musí ke každému zadání znovu přidat fotku obalu, jinak mu barva nebo logo mezi klipy uplavou. Pomáhá to. Konzistenci to ale nezaručí stoprocentně ani u nejnovějších verzí.
Na co si dát pozor
Protože se model neřídí fyzikou, ale pravděpodobností, video samo o sobě nic nedokazuje. Vygenerovaný záběr může vypadat jako důkaz, že se něco stalo, i když jde jen o statisticky pravděpodobný obrázek pohybu.
Pro krátký atmosférický klip nebo reklamní vizuál to nevadí. Pro cokoliv, kde záleží na přesnosti, dokumentaci nebo identitě konkrétního člověka, je lepší brát generované video jako ilustraci, ne jako záznam skutečnosti.
Stejná opatrnost platí u délky. Neplánujte scénář na pětiminutové vyprávění v jednom nepřerušovaném záběru. Dnešní generátory jsou spolehlivější tam, kde stačí pár vteřin jasně popsané scény, ne tam, kde má kamera „sledovat” postavu dlouho a bez střihu.
Shrnutí
Text-to-video není kamera, která zaznamenává realitu. Je to šikovný kreslíř flipbooků, co nikdy neviděl skutečného psa, ale prošel si miliony jeho fotek a teď kreslí po paměti, políčko po políčku.
Většinu času se strefí. Občas mu na čtvrté stránce zmizí noha. Vědět, proč se to děje, je lepší výbava než čekat, že se to samo nestane.