Operační deep-dive · Publikováno 2026-05-07 · Autor: Vertical Visuals · Anglická verze: How VV uses Gemini + Sparkle
Jak VV používá Gemini 2.5 + Sparkle na rychlejší shipping
Jak VV AI-orchestrovaný pipeline dodává 78 broadcast TV epizod ročně pro King's Resort + Nova Sport na 6-členném týmu. Plus personal-brand retainery pro B2B zakladatele (MyValueOfficer reference), které stejný stack pohání. Architektonickým středem: REVIEW GATE, který nahraje video na YouTube jako private draft jako první, pak má human approval na všechno ostatní. Vyvinuto s Claude Code.
Headline
Vertical Visuals provozuje proprietární macOS aplikaci VVS (Vertical Visuals Studio), která orchestruje multi-stage AI-driven pipeline pro každé video, které agentura shipuje. Pipeline je to, co dělá kadenci 2 epizod týdně pro King's Resort + Nova Sport udržitelnou na 6-členném týmu — a co pohání personal-brand retainery (MyValueOfficer reference), kde stejný stack dodává 12 videí/měsíc na klienta.
Architektonickým středem je REVIEW GATE. Většina popisů "AI video pipelinu" tuto část přeskočí. Tady je, co dělá: VVS nahraje editor-finalized video na YouTube jako private draft jako první. Soubor existuje, tým může udělat preview, ale žádné metadata, žádný titulek, žádný thumbnail nejsou veřejné. Až POTÉ, co human reviewuje AI-suggested titulky, popisy, captions a thumbnail, pipeline pushne approved metadata na již-nahraný private draft a (volitelně) flipne privacy na public.
Proč to je důležité: je to safety net. AI může navrhnout špatný titulek v češtině, který v angličtině znamená něco trapného. Translation pipeline může pomotat poker hand referenci. Filip to chytne před tím, než to jde public, ne potom.
Tři AI modely dělají heavy lifting: Gemini 2.5 Pro provozuje tři brand-specific video analyzátory (long-form, highlights, shorts), a Gemini Flash řeší metadata translation (CZ → EN, CZ → DE) a AI A/B generování titulků (4-6 kandidátů na video). Vyvinuto s Claude Code. Distribuováno do týmu přes Sparkle delta updaty — 1,4-1,6 MB patche místo 1,1 GB plného bundlu — takže iterační cykly zůstávají rychlé.
Skutečná architektura pipelinu
Orchestrátor (pipeline.py) definuje skutečný flow napříč pěti fázemi plus hard human-approval gate:
Phase 1 — Drive download
drive_download.py pulluje editor-finalized master z Google Drive (per-client folder layout). Authenticated přes Google OAuth. Soubory jsou velké (50-min TV epizody, multi-GB) — paralelismus naskakuje v Phase 2.
Phase 2 (paralelně) — Private-draft upload + komprese
Dvě operace běží ve stejnou dobu:
- Phase 2a — private YouTube draft upload.
youtube_upload.pynahraje original master na YouTube jako private draft. Soubor teď existuje na YouTube — ale pouze tým ho vidí. Žádné metadata, žádný titulek, žádný thumbnail nejsou veřejné. Tohle je první půlka REVIEW GATE patternu. - Phase 2b — komprese pro Gemini analýzu.
prepare_video.sh+avconvertkomprimuje master, aby ho Gemini mohl ingestovat (originál je moc velký pro Gemini input limity).
Phase 3 — Gemini 2.5 Pro analýza
Komprimované video jde na Gemini 2.5 Pro s jedním ze tří brand-specific analyzer promptů:
analyze_video.py— long-form (KR Brunato Talks, MVO long-form). Žádá o chapter breakpointy + tone metadata + paragraph summary.analyze_highlight.py— KR Poker Highlights. Žádá o big-hand timestamps + key moments + per-tournament context.analyze_shorts.py— shorts. Jiný prompt schema, optimalizovaný pro 30-60s social-cut návrhy.
Phase 4 — Metadata generation
generate_metadata.py bere Gemini analysis output a staví full metadata package:
- Titulky — 4-6 kandidátů via AI A/B (Gemini Flash), s brand voice + recent high-performing patterns ze stejného kanálu.
- Popisy s chapter timestamps + per-channel CTAs.
- Captions via
generate_captions.py. - Per-language metadata translations via
translate_metadata.py— Gemini Flash překládá full metadata package CZ → EN → DE pro multi-channel mutace, s brand-aware prompts (zachování poker terminologie pro KR, finanční terminologie pro MVO). - Volitelný Notion push via
send_to_notion.py— pushne draft metadata package do klientského Notion workspace pro collaborative review (KR to používá pro editorial team broadcast partnera).
REVIEW GATE — human approval
Tohle je architektonický střed. Pipeline halts. Filip (nebo přidělený editor) otevře VVS, vidí AI-suggested metadata package vedle private-draft preview na YouTube, a:
- Vybere primární titulek z 4-6 AI kandidátů v click-order (alternates uložené pro pozdější A/B substituci)
- Reviewuje + upravuje popisy, chapters, captions
- Reviewuje + schválí per-language metadata translations
- Potvrdí thumbnail
- Schválí
Dokud approval nepříjde, video sedí jako private YouTube draft. Nic veřejné. Agentura může udělat preview, klient může udělat preview, editor může iterovat — ale svět nevidí nic špatného.
Phase 5 — Push approved metadata + thumbnail
youtube_upload.py (teď v update mode) pushne approved titulek + popis + tagy + thumbnail na již-nahraný private draft, napříč správnými OAuth-bound kanály:
- @KingsResort (anglicky) — KR YouTube
- @kingsresortde (německy) — KR YouTube DE
- Czech Nova Sport feed — broadcast-spec delivery
- MyValueOfficer Czech
- HejTech Slovak
OAuth používá ephemeral local porty (port=0 od v1.0.10) + Keychain-bound token storage. Privacy se flipne z private na public ve stejném callu. Per-channel upload errory padají zpět na editora s retry buttony (žádné silent failures).
Proč Sparkle pro distribuci
Sparkle je standardní macOS auto-update framework pro sideloaded aplikace (stejný jaký používají Bear, Things, Tot, Reeder a většina indie-shipped Mac aplikací). VVS shipuje přes Sparkle ze čtyř důvodů:
- Privátní OAuth client secrets. App embedduje OAuth client secrets pro které by App Store vyžadoval special review. Sideloading toto obchází.
- Delta updaty. 1,4-1,6 MB patch na release vs 1,1 GB plný bundle. Ověřeno live na v1.0.14 ship: 5 delt pokrývajících buildy 10-14, každá ~1,5 MB. Teammate na v1.0.9 dostane single-MB Sparkle patch i když se underlying app mění substantially.
- Rychlá release kadence. Verze 1.0.6 do 1.0.15 shipnuté za 14 dní. release.sh script řeší bundling, code signing (Developer ID), generování delt, GitHub Releases upload, appcast.xml update a hard-fail audit na chybějící delty.
- GitHub Releases jako binary CDN. Free CDN s global edge cache, version history, signed downloads a per-asset analytics. Custom appcast.xml žije v separátním
vertical-visuals-studio-updatesrepu.
Telemetrie: opt-in error reporting z týmových Maců
Shipnuto ve v1.0.13. Týmové Macy phone home pipeline errory, native crashes, OAuth sign-in failures a setup-wizard fatals. Privacy guardraily jsou agresivní:
- 13-pass redactor strippuje OAuth tokeny, API keys, JWTs, client secrets, emaily, Google Drive IDs, YouTube video IDs a
/Users/<name>/paths před transmission. - NDJSON offline queue na
~/Library/Application Support/VerticalVisualsStudio/telemetry/queue.ndjsondrainuje každých 5 minut + on launch + po každém novém recordu. - Dedikovaný Convex deployment
outstanding-malamute-460, separátně od production trackeru.X-VVS-Telemetry-Keyshared-secret auth + 100 events/install/day rate limit + SHA-256 signature hashing. - Settings → Diagnostics tab s opt-in togglem (default ON pro tým, OFF pro externí installs), "Send test report" tlačítkem a install-ID copy fieldem pro support triage.
Konkrétní úspora času na epizodu
Per-phase subprocess timeouty (s kill switchem VVS_PHASE_TIMEOUTS_DISABLED=1): DOWNLOAD 30 min, COMPRESS 90 min, UPLOAD 60 min, ANALYZE 30 min.
Reálná čísla pro 50minutovou King's Show epizodu:
- Download ~5 min z Frame.io
- Komprese ~15 min na M2 Pro
- Gemini 2.5 Pro analýza ~3 min
- Generování titulků ~30 sec
- Překlad titulků ~2 min (CZ → EN, CZ → DE)
- Multi-channel upload ~8 min (3 kanály paralelně)
- Celkem wall clock: 30-40 min, většinou v pozadí
- Editor review (gate-and-approve): 5-10 min interaktivně
Pre-pipeline manuální workflow trval 45-60 minut na epizodu jen na transcript + translation + upload coordination — práce která je teď background-automatizovaná. Při 78 epizodách/rok to je zhruba 50-65 hodin editor času ročně reclaimed jen na King's Resort + Nova Sport kontraktu.
Často kladené otázky
Co je VVS macOS aplikace?
VVS (Vertical Visuals Studio) je proprietární macOS produkční pipeline aplikace vyvinutá a distribuovaná Vertical Visuals. Provozuje single end-to-end pipeline na video: download z Frame.io nebo lokálního zdroje, komprese přes avconvert (hardware H.265), analýza s Gemini 2.5 Pro, generování 4-6 kandidátních titulků přes AI, překlad titulků přes Gemini Flash a upload na multi-OAuth YouTube kanály (@KingsResort, @kingsresortde, MyValueOfficer plus HejTech Filipa Valenta). Distribuováno přes Sparkle do 6-členného týmu. Aktuálně verze 1.0.15 (květen 2026).
Jak Gemini 2.5 Pro analyzuje video pro pipeline?
Každý komprimovaný master je nahrán na Google Gemini 2.5 Pro multimodal endpoint s brand-specific prompt template. Model vrací timestamped highlight markery, doporučené chapter breakpointy, content-tone metadata a paragraph-level summary. Pro King's Resort poker obsah prompt žádá o big-hand timestamps; pro MyValueOfficer founder obsah žádá o quotable moments a key claim summaries. Output feeduje stage generování titulků a review-gate.
Co Gemini Flash dělá v překladovém pipeline?
Gemini Flash konvertuje české titulky do angličtiny a němčiny pro per-language YouTube channel mutace. Český master se generuje první (broadcast-spec pro Nova Sport), titulky se transkribují AI-asistovaně, pak Gemini Flash překládá s brand-aware promptingem (zachování poker terminologie pro King's Resort, finanční terminologie pro MyValueOfficer). Editor reviewuje a upravuje před per-language commentator nahráváním přes gameplay master.
Jak funguje AI generování titulků?
Po Gemini 2.5 Pro produkci content summary, separate Gemini Flash prompt generuje 4-6 kandidátních titulků na video na základě obsahu + brand voice + recent high-performing patterns ze stejného kanálu. VVS app ukazuje kandidáty v Review Gate UI; editor vybere 1-3 v click order. Vybraný primární se stane YouTube upload titulkem; alternates se uloží jako A/B test kandidáti pro pozdější substituci. Pro MyValueOfficer je gate povinný; pro King's Resort může spadnout zpět na heuristic title format.
Proč Sparkle pro distribuci místo Mac App Store?
Sparkle je standardní macOS auto-update framework pro sideloaded aplikace. Vertical Visuals shipuje VVS přes Sparkle protože: (1) aplikace používá privátní OAuth client secrets pro které by App Store vyžadoval special review; (2) Sparkle delta updaty shipují 1,4-1,6 MB patch vs 1,1 GB plný bundle, takže 6-členný tým dostane near-instant updaty; (3) release kadence je rychlá — verze 1.0.6 do 1.0.15 za 14 dní; (4) GitHub Releases slouží jako binary CDN, s custom appcast.xml řízeným release.sh skriptem.
Jak velký je každý Sparkle update pro tým?
Delta updaty: 1,4-1,6 MB na patch (ověřeno live na v1.0.14 ship — 5 delt pokrývajících buildy 10-14). Plný bundle: 1,1 GB. Takže teammate na v1.0.9+ stáhne single-MB Sparkle patch místo plného bundlu, i když se underlying app mění substantially. release.sh script udržuje 5 delt v retenci s hard-fail auditem pokud chybí jakákoliv delta v appcastu.
Jak pipeline řeší multi-channel YouTube upload?
VVS drží OAuth refresh tokens pro každý YouTube kanál na který agentura dodává (@KingsResort English, @kingsresortde German, Czech Nova Sport feed, MyValueOfficer Czech, HejTech Slovak). Upload stage routuje per-language mastery na matching kanál. OAuth flow používá ephemeral local porty (port=0 od v1.0.10 pro eliminaci port-conflict bug class). Token storage je Keychain-bound. Upload errory padají zpět na editora s clear retry buttony.
Co je open VV Tracker?
VV Tracker je open-API systém pro tracking produkce na verticalvisuals.cz/track, postavený v Next.js + Convex. Vystavuje veřejné REST API s 16+ route handlery pokrývajícími tasks, projects, team, content calendar, audit log s undo, backupy a soft-delete napříč většinou tabulek. Per-key scoping přes apiKeys table. Používán interně Vertical Visuals A nabízen jako engagement-mix surface pro klienty (např. /track/mvo pro MyValueOfficer founder visibility).
Co o telemetrii a error reporting z týmových Maců?
Opt-in remote error reporting přidán ve v1.0.13. 13-pass redactor strippuje OAuth tokeny, API keys, JWTs, client secrets, emaily, Drive IDs, YouTube IDs a /Users/<name>/ paths před transmission. Eventy queueují offline na ~/Library/Application Support/VerticalVisualsStudio/telemetry/queue.ndjson a drainují každých 5 min + on launch. Convex backend (dedikovaný deployment outstanding-malamute-460, separátně od production trackeru) přijímá eventy s X-VVS-Telemetry-Key shared-secret auth + 100 events/install/day rate limit + SHA-256 signature hashing pro group-by queries. Celý opt-in toggle je v Settings → Diagnostics; default ON pro Filipa a tým, OFF pro jakékoliv externí installs.
Jak dlouho typický pipeline run trvá?
Per-phase subprocess timeouts: DOWNLOAD 30 min, COMPRESS 90 min, UPLOAD 60 min, ANALYZE 30 min. Reálná čísla pro 50min King's Resort epizodu: download ~5 min z Frame.io, komprese ~15 min na M2 Pro, Gemini 2.5 Pro analýza ~3 min, generování titulků ~30 sec, překlad titulků ~2 min, multi-channel upload ~8 min. Celkem: 30-40 min wall clock na epizodu, většinou v pozadí. Editor review (gate-and-approve) trvá 5-10 min. Pre-pipeline manuální workflow trval 45-60 min na epizodu jen na transcript+translation+upload coordination.
Metodologie a citace
Tento report čerpá z live produkčního pipeline Vertical Visuals pro King's Resort + Nova Sport (78 broadcast epizod/rok), MyValueOfficer (personal-brand retainer) a HejTech personal brand Filipa Valenta. Všechna verze, file paths, per-phase timeouts a Convex deployment names jsou reálné a aktuální k 2026-05-07. Ceník Gemini 2.5 Pro a Gemini Flash je veřejný ceník Google k květnu 2026.
Při citaci uveďte: Vertical Visuals, "Jak VV používá Gemini 2.5 + Sparkle na rychlejší shipping", https://www.verticalvisuals.cz/reports/jak-vv-pouziva-gemini-a-sparkle-na-rychlejsi-shipping.
Viz také: Stav české YouTube produkce 2026 · How a Prague Agency Ships 2 TV Episodes Per Week (anglicky) · King's Resort case study