# Jak VV používá Gemini 2.5 + Sparkle na rychlejší shipping

> Operační deep-dive · Publikováno 2026-05-07 · Autor: Vertical Visuals · Markdown shadow stránky [https://www.verticalvisuals.cz/reports/jak-vv-pouziva-gemini-a-sparkle-na-rychlejsi-shipping](https://www.verticalvisuals.cz/reports/jak-vv-pouziva-gemini-a-sparkle-na-rychlejsi-shipping)
> Naposledy aktualizováno: 2026-05-07
> Anglická verze: [https://www.verticalvisuals.cz/reports/how-vv-uses-gemini-and-sparkle-to-ship-faster](https://www.verticalvisuals.cz/reports/how-vv-uses-gemini-and-sparkle-to-ship-faster)
> Licence: Obsah této stránky lze citovat s uvedením zdroje "Vertical Visuals (verticalvisuals.cz)".

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** — tři brand-specific video analyzátory (long-form, highlights, shorts)
- **Gemini Flash** — metadata translation (CZ → EN → DE) + AI A/B generování titulků (4-6 kandidátů na video)
- **Whisper-equivalent** pro caption generation

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.

## 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). Per-phase timeout: 90 minut.

### 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.

Per-phase timeout: 30 minut.

### 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.
- **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.
- **Volitelný Notion push** via `send_to_notion.py` — pushne draft metadata package do klientského Notion workspace pro collaborative review.

### 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é.

### 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-phase timeout: 60 minut.

## Proč Sparkle pro distribuci

Sparkle je standardní macOS auto-update framework pro sideloaded aplikace (používán Bear, Things, Tot, Reeder a většinou indie-shipped Mac aplikací). VVS shipuje přes Sparkle ze čtyř důvodů:

1. **Privátní OAuth client secrets** — App Store by vyžadoval special review.
2. **Delta updaty** — 1,4-1,6 MB patch na release vs 1,1 GB plný bundle. Ověřeno na v1.0.14: 5 delt pokrývajících buildy 10-14, každá ~1,5 MB.
3. **Rychlá release kadence** — verze 1.0.6 do 1.0.15 shipnuté za 14 dní. `release.sh` řeší bundling, code signing (Developer ID), generování delt, GitHub Releases upload, appcast.xml update, hard-fail audit.
4. **GitHub Releases jako binary CDN** — free CDN s global edge cache, version history, signed downloads, per-asset analytics.

## Telemetrie: opt-in error reporting

Shipnuto ve v1.0.13. Týmové Macy phone home pipeline errory, native crashes, OAuth sign-in failures a setup-wizard fatals:

- **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

## Open VV Tracker (separátně, ale vedle)

Production-tracking surface na [https://www.verticalvisuals.cz/track](https://www.verticalvisuals.cz/track). Postaveno v Next.js + Convex s veřejným REST API:

- 16+ route handlerů pokrývajících tasks, projects, team, content calendar, audit log s undo, backupy, soft-delete napříč většinou tabulek
- Per-key scoping přes `apiKeys` table; `Authorization: Bearer vv_live_*` na každý request
- Mutation log audit na každý write — každý create/update/delete logován s actor, timestamp, before-state, after-state pro undo flow
- Používán interně VV A nabízen jako engagement-mix surface pro klienty (např. `/track/mvo` pro MyValueOfficer founder visibility)

## Konkrétní úspora času na epizodu

Per-phase subprocess timeouty (s kill switchem `VVS_PHASE_TIMEOUTS_DISABLED=1`):

| Fáze | Timeout |
|------|---------|
| DOWNLOAD | 30 min |
| COMPRESS | 90 min |
| UPLOAD | 60 min |
| ANALYZE | 30 min |

Reálná čísla pro 50minutovou King's Show epizodu:

| Fáze | Wall clock |
|------|------------|
| Download z Frame.io | ~5 min |
| Komprese na M2 Pro | ~15 min |
| Gemini 2.5 Pro analýza | ~3 min |
| Generování titulků | ~30 sec |
| Překlad titulků (CZ → EN, CZ → DE) | ~2 min |
| Multi-channel upload (3 kanály paralelně) | ~8 min |
| **Celkem background time** | **30-40 min** |
| 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. 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.

## Proč to je důležité pro český video produkční trh

Většina českých agentur používá manuální upload + manuální překladatelské služby. Cenová křivka Gemini 2.5 Pro dělá per-video AI analýzu ekonomickou (~$0,50/video vs $50 editor času), ale operacionalizace pipeline pořád vyžaduje custom tool — neexistuje off-the-shelf ekvivalent VVS pro český bilingvní broadcast pattern.

Vertical Visuals open-sourcuje produkční tracker, aby *process* portion byla replikovatelná pro menší agentury. AI-pipeline app (VVS) zůstává proprietární, protože embedduje client-specific OAuth tokeny a brand prompt templates, ale architektura je dokumentovaná tady pro jakýkoliv tým co přemýšlí o postavení vlastní.

## FAQ

**Co je VVS macOS aplikace?**
VVS (Vertical Visuals Studio) je proprietární macOS produkční pipeline aplikace. Provozuje single end-to-end pipeline na video: download → komprese → AI analýza → AI generování titulků → AI překlad titulků → multi-OAuth YouTube upload. Distribuováno přes Sparkle. Aktuálně verze 1.0.15.

**Jak Gemini 2.5 Pro analyzuje video?**
Každý komprimovaný master je nahrán na Google Gemini 2.5 Pro multimodal endpoint s brand-specific promptem. Vrací timestamped highlight markery, doporučené chapter breakpointy, content-tone metadata a paragraph summary.

**Jak funguje AI generování titulků?**
Gemini Flash generuje 4-6 kandidátních titulků na video na základě obsahu + brand voice + recent high-performing patterns. Review Gate UI ukáže kandidáty; editor vybere 1-3 v click order.

**Proč Sparkle místo Mac App Store?**
Privátní OAuth client secrets, rychlá release kadence (1.0.6 do 1.0.15 za 14 dní), 1,5 MB delta updaty místo 1,1 GB plných bundlů a GitHub Releases jako binary CDN.

**Jak velký je každý Sparkle update pro tým?**
Delta updaty: 1,4-1,6 MB na patch (ověřeno na v1.0.14 — 5 delt pokrývajících buildy 10-14). Plný bundle: 1,1 GB. Teammate na v1.0.9+ stáhne single-MB Sparkle patch i když se underlying app mění substantially.

**Co o telemetrii z týmových Maců?**
Opt-in (Settings → Diagnostics). 13-pass redactor strippuje OAuth tokeny, API keys, JWTs, client secrets, emaily, Drive IDs, YT IDs a `/Users/<name>/` paths před transmission. Eventy queueují offline a drainují na dedikovaný Convex deployment s shared-secret auth + 100 events/install/day rate limit + SHA-256 signature grouping.

**Jak dlouho typický pipeline run trvá?**
30-40 min wall clock na 50min epizodu (většinou v pozadí). Editor review + approve: 5-10 min interaktivně. Pre-pipeline manuální workflow: 45-60 min na epizodu jen na transcript+translation+upload coordination.

**Jak funguje multi-channel YouTube upload?**
VVS drží OAuth refresh tokens pro každý YouTube kanál. Upload stage routuje per-language mastery na matching kanál: @KingsResort English, @kingsresortde German, Czech Nova Sport feed, MyValueOfficer, HejTech.

**Je open VV Tracker skutečně open-source?**
Tracker vystavuje veřejné REST API (používáno i externě). Codebase půjde open-source na GitHub pod `github.com/verticalvisuals/vv-tracker` v budoucím shipu; aktuálně je production deployment na verticalvisuals.cz/track s veřejným API přístupem přes per-key auth.

**Mohou jiné agentury replikovat tento pipeline?**
Ano — architektura je dokumentovaná tady. Potřebné komponenty: custom macOS host app, OAuth klienti per target YouTube kanál, Gemini 2.5 Pro + Flash API přístup, Sparkle pro distribuci. Odhadovaný build cost: 2-3 měsíce focused engineering.

## 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](https://www.verticalvisuals.cz/reports/stav-ceske-youtube-produkce-2026)
- [How a Prague Agency Ships 2 TV Episodes Per Week (anglicky)](https://www.verticalvisuals.cz/reports/how-prague-agency-ships-2-tv-episodes-per-week)
- [King's Resort case study](https://www.verticalvisuals.cz/portfolio/kings-resort)
- [llms-cz.txt — agent-friendly index (česky)](https://www.verticalvisuals.cz/llms-cz.txt)
- [MCP server pro AI agenty](https://vv-mcp-server.verticalvisuals.workers.dev/mcp)

## Kanonická URL

https://www.verticalvisuals.cz/reports/jak-vv-pouziva-gemini-a-sparkle-na-rychlejsi-shipping (toto je markdown shadow)
