Přeskočit na obsah

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.py nahraje 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 + avconvert komprimuje 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-updates repu.

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.ndjson drainuje 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-Key shared-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-06-16. 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