Po týdnu na Kefalonii jsem měl ve složce 64 videí a 401 fotek, tedy klasické „někdy to sestříhám“. Místo večerů v editoru jsem do Claude Code napsal jednu větu. Popisuju, co udělal sám, kde jsem musel zasáhnout já a kde se to pokazilo.
Výchozí stav: složka, kterou nikdo nechce otevřít
Znáte to. Telefon z dovolené vysypete do počítače a tam to zůstane. U mě to bylo 465 souborů: video z letadla při východu slunce, trajekt do Argostoli, aquapark, výlet na Myrtos, jeskyně Melissani, vypouštění želviček. A mezi tím desítky fotek švédských stolů, screenshoty aplikace se sledováním letu, jídelní lístky a suvenýry v obchodě.
Do Claude Code (desktopová aplikace, model Claude Opus 5.5) jsem napsal doslova tohle:
vytvoř mi video z této dovolené, obohacené hudebním pozadím
Nic víc. Žádný seznam záběrů ani popis, kde jsme byli.
Skill místo dlouhého promptu
Claude si sám sáhl po mém skillu strih-videa. To je balík instrukcí a Python skriptů nad ffmpeg: inventura záběrů, náhledy, generování hudby, střih, kontrola. Díky tomu jsem nemusel vysvětlovat, jak se dělá dobrý sestřih. Postup (nejdřív hudba a pocit, pak obraz; celek → detail → tvář; jídlo maximálně jednou za kapitolu) už ve skillu je.
Než začal, ověřil závislosti. Chyběly mu Python knihovny scipy a Pillow, tak si udělal vlastní virtuální prostředí a doinstaloval je.
Čtyři otázky a dost
Pak se zeptal na čtyři věci:
- Hudba: vlastní, vygenerovaná, nebo jen zvuk z místa? Zvolil jsem vygenerovanou, protože nemá licence ani Content ID.
- Úvodní titulek: tady mě poprvé překvapil. Napsal: „Podle GPS jste byli 24.–31. 8. 2026 na Kefalonii (Argostoli, Sami, Assos, Lixouri…)“. Kde jsme byli, jsem mu neřekl, vyčetl to z metadat.
- Formát: film 16:9 pro rodinu.
- Nálada: pohodové léto u moře.

Jak AI „kouká“ na video
Claude video nesleduje jako člověk. Skill to řeší přes náhledové listy: z každého klipu vytáhne osm snímků do mřížky a k nim metriky jako pohyb, tma nebo roztřesení. U fotek navíc spočítá ostrost a podobnost a označí je jako ROZMAZANÉ nebo ≈F012 (skoro stejná jako jiná fotka). Claude pak prošel 11 listů s videi a 12 listů s fotkami a sepsal si katalog záběrů.
GPS souřadnice převedl na názvy míst přes OpenStreetMap. Na server se posílají jen zaokrouhlené souřadnice. Z toho vznikly lokační titulky: Argostoli, Pláž Xi, Myrtos, Jeskyně Melissani, Assos.
První zádrhel přišel hned tady, a byla to chyba AI. Virtuální prostředí s Pythonem si Claude založil přímo ve složce s fotkami. Inventura pak vesele započítala testovací WAV soubory z knihovny scipy jako zvukové stopy z dovolené. Všiml si toho sám, prostředí přesunul jinam a inventuru zopakoval.
Druhý detail: letěli jsme s mezipřistáním na Korfu a GPS u záběrů z letadla hlásilo vesnice na Korfu. Kdyby se titulky braly automaticky, v úvodu filmu by naskočilo „Episkopiana“. Claude nechal titulky v přeletové části vypnuté a zbytek pojmenoval ručně.
Hudba, kterou AI neslyší
Skill hudbu negeneruje přes AI model, ale syntetizuje ji v numpy a scipy: struny, pad, basa, bicí. Hlavní trik je, že se skladba skládá podle struktury videa. Claude nejdřív rozdělil film do kapitol a každé přiřadil počet taktů:
| Čas | Sekce hudby | Obraz |
|---|---|---|
| 0:00–0:19 | klid | přílet, východ slunce nad mraky |
| 0:19–0:58 | střed | trajekt, hotel, pláž Xi |
| 0:58–1:17 | vrchol | aquapark, rychlý střih |
| 1:17–1:55 | střed | výlet autem, Myrtos, Melissani, Assos |
| 1:55–2:14 | vrchol | Myrtos při západu slunce, vlny |
| 2:14–2:43 | závěr | vypouštění želviček |
Při 100 BPM má takt přesně 2,4 sekundy, takže přechody mezi kapitolami padají na první dobu taktu. Hudbu (2:48, D dur) vygeneroval zhruba za 9 sekund.
A teď ten moment, který mi utkvěl: Claude svou vlastní hudbu neslyší. Zkontroluje ji jen nepřímo, přes spektrogram (jestli bicí nastupují tam, kde mají) a změřenou hlasitost. Poslech je na člověku. Takže mi WAV poslal a zeptal se, jestli sedí. Bez mého „ano“ by nezačal stříhat.
Jedinou úpravu obsahu jsem udělal právě tady. Ve složce byla i videa z hotelové posilovny a ty jsem ve filmu mít nechtěl. Napsal jsem, ať tam dá jen jednu povedenou fotku a videa vynechá.
Videa na výšku: skript se upravil za běhu
44 ze 64 videí jsem natočil na výšku. Skill je do formátu 16:9 jen ořezával, což u videa na výšku znamená vzít z obrazu jen asi třetinu výšky. Želvičce na písku to nevadí, rodině na lodi ano, usekne hlavy.
Claude si toho všiml při čtení skriptu a do pracovní kopie doplnil nový režim: záběr na výšku je vložený celý doprostřed a po stranách je jeho rozmazaná, ztmavená kopie. U každého klipu pak vybíral, jestli ořezat (krajina, detail), nebo vložit celý (lidé).
Ještě předtím narazil na rotaci fotek. Různé nástroje čtou EXIF orientaci různě, takže si ověřil, jak fotky vidí právě ffmpeg, který bude stříhat.
Kde se to pokazilo podruhé
Plán střihu (81 záběrů, po pozdějším rozdělení jednoho klipu 82) si Claude zapsal jako malý Python generátor, který počítá, kde v čase vyjde každá kapitola. Před renderem nechal z každého klipu vytáhnout začátek, střed a konec vybraného úseku, aby odhalil nohy, švenky a podobné mezistavy. Pár úseků posunul: v jeskyni začínal záběr holou stěnou, postava v autě se na konci otočila zády, do záběru na želvičku vstoupila noha.
Náhled v 540p trval 35 sekund. Když ho Claude kontroloval, našel chybu: funkce, která přichytává střihy na doby, se během filmu posouvala. U každého klipu se konec posune na nejbližší dobu, malé odchylky se sčítají a poslední dvě kapitoly začínaly o 2,5 sekundy dřív než odpovídající část hudby. Vrchol obrazu tak běžel na konci klidné pasáže.
Opravil to tak, že přichycení na doby vypnul a okamžiky střihů spočítal přesně sám v generátoru plánu. V nové časové ose pak kapitoly začínaly přesně na 19,2 / 57,6 / 76,8 / 115,2 / 134,4 sekundy.
Třetí chybu našel až na hotovém finálu. U želvičky na mokrém písku přešla přes objektiv rozostřená postava a potom do záběru vstoupila ruka. Claude vytáhl z klipu detail po půl sekundách, našel dva čisté úseky, rozdělil klip na dva a finál vyrenderoval znovu.
Výsledek
- film 2:46, 1920×1080, 30 fps, 82 záběrů,
- úvodní titulek „Kefalonie · léto 2026“, pět lokačních titulků a závěrečný „Kefalonie · 24.–31. 8. 2026“ přes fotku s nápisem v písku,
- hlasitost srovnaná na −14 LUFS (standard pro YouTube a sociální sítě),
- hudba bez licencí a bez rizika Content ID,
- celé to trvalo zhruba půl hodiny od zadání po hotový film.
Co si z toho beru
Rozdělení práce dává smysl. Claude udělal všechno, co je mravenčí práce: prošel 465 souborů, vyřadil rozmazané fotky a duplicity, našel GPS, napočítal takty. Mně zůstala rozhodnutí, která AI udělat neumí: např. jestli hudba zní dobře.
Kontrola na konci se vyplatila. Dvě ze tří chyb (posun střihů a postava v záběru) by obyčejný „render a hotovo“ propustil. Claude je našel jen proto, že si po každém renderu prohlédl kontrolní list a časovou osu.