---
name: skill-image-vojtacode
description: >-
  Generuje obrázky přes Gemini (Nano Banana) na uživatelově VLASTNÍM Google účtu —
  žádný API klíč, žádná platba za obrázek. Playwright otevře prohlížeč s trvalým
  přihlášením na gemini.google.com, napíše prompt a stáhne obrázek. Jede na modelu
  Flash (vysoký denní limit); Pro se zapne jen na výslovné přání uživatele. Před generováním vždy vylepší uživatelův nápad na
  pořádný prompt podle PROMPT-MASTER.md (8vrstvá metodika). Použij vždy, když chce
  uživatel vytvořit, vygenerovat, vyrobit nebo nakreslit obrázek, ilustraci, plakát,
  thumbnail, tapetu nebo OG obrázek. Triggery (CZ+EN): "vygeneruj obrázek",
  "udělej obrázek", "vytvoř obrázek", "nakresli", "potřebuju obrázek", "thumbnail",
  "generate image", "create image", "make an image", "draw a picture".
  NENÍ na úpravu existující fotky na místě, video ani čistě programátorské úkoly.
metadata:
  version: 1.0.0
  author: VojtaCode
platforms:
  - windows
  - macos
---

# skill-image-vojtacode

Obrázky přes **Gemini / Nano Banana Pro** na účtu uživatele. Bez API klíče, bez kreditů.
Funguje i na bezplatném Google účtu — tam platí denní limit generování, který dává Google.

## Kdy jsem aktivní

| Situace | Stav |
|---|---|
| „vygeneruj obrázek", „udělej obrázek", „nakresli", „potřebuju thumbnail" | AKTIVNÍ |
| Ilustrace, plakát, tapeta, OG obrázek, obrázek do článku | AKTIVNÍ |
| Uživatel chce upravit existující fotku na místě | DORMANTNÍ |
| Video, hudba, kód | DORMANTNÍ |

## Než začneš — je to nastavené?

```bash
node scripts/stav.mjs
```

- `PRIPRAVENO` → rovnou generuj.
- `CHYBI_PLAYWRIGHT` nebo `CHYBI_PRIHLASENI` → jdi na [INSTALACE.md](INSTALACE.md)
  a proveď prvotní nastavení. Je to jednou, má pět kroků.

Rychlá varianta bez spouštění: existuje složka `~/.vojtacode-image/profil-prohlizece`?
Když ne, nastavení ještě neproběhlo.

## Postup

### Krok 1 — vyrob pořádný prompt (NEPŘESKAKUJ)

Přečti [PROMPT-MASTER.md](PROMPT-MASTER.md) a poskládej FINAL PROMPT podle 8vrstvé
metodiky: subjekt/identita → oblečení → prostředí → kompozice → světlo → kamera/optika →
styl → kvalita. Plus NEGATIVE a PARAMS. Prompt piš **anglicky** — modely na něj reagují líp.

Hotový prompt **ukaž uživateli** a nech ho schválit, teprve pak generuj.

> Výjimka: když uživatel dá hotový prompt a řekne „přesně tohle, nevylepšuj", krok přeskoč.

### Krok 2 — vyber parametry

- `--pomer` — `1:1` `16:9` `9:16` `4:3` `3:4` `2:3` `3:2`. Výchozí `1:1`.
  Thumbnail na YouTube → `16:9`. Story/Reels → `9:16`.
- `--rozliseni` — `1K` | `2K` | `4K`. Výchozí `2K`. Je to přání, ne rozkaz — webová
  aplikace často strop stejně sníží.
- `--kam` — složka. Výchozí `~/Pictures/VojtaCode-obrazky`.
- `--ref` — referenční obrázek pro image-to-image. Jde uvést vícekrát.
- `--prohlizec` — `chrome` `edge` `chromium` `firefox`. Normálně vynechat — použije se
  volba uložená při instalaci.

> **Má být objekt CELÝ v obraze?** Pak kompozici zadej čísly a povinnými prázdnými
> okraji podle PROMPT-MASTER.md §4b. Slova jako „nothing cropped" nefungují, ověřeno.

### Krok 3 — spusť

```bash
node scripts/generuj.mjs "<FINAL PROMPT>" --pomer 16:9 --rozliseni 2K
```

Cesty se skillem se nikam nezapisují napevno — spouštěj to ze složky skillu, nebo
použij absolutní cestu ke skriptu.

Sleduj značky na výstupu:

| Značka | Co znamená |
|---|---|
| `LOGIN_REQUIRED` | Uživatel se musí přihlásit v otevřeném okně. Řekni mu to. |
| `MODE:<název>` | Který model je v Gemini aktivní. Nepřepínáme ho. |
| `REFS_UPLOADED` | Reference nahrané. |
| `SAVED:<cesta>` | Hotovo. |
| `LIMIT_MODELU` | Vyčerpaný **denní limit modelu**. Není to chyba skillu ani účtu. Poraď počkat, nebo `--model pro`, pokud na Pro limit ještě zbývá. |

> **Výchozí je nejlehčí model (Flash).** Má zdaleka nejvyšší denní strop, takže
> uživateli nedojde uprostřed práce. Pro (Nano Banana Pro) dá o něco lepší obrázek,
> ale jeho denní limit je nízký — a platí i s předplatným AI Pro.
> **Pro zapni JEN na výslovné přání** („použij Pro", „chci nejvyšší kvalitu")
> → `--model pro`. Sám od sebe nikdy.

### Krok 4 — nahlas výsledek

Napiš **absolutní cestu** k souboru. Když je rozhraní schopné obrázek zobrazit, ukaž ho.
**Po úspěchu negeneruj znovu.**

## Vodoznak — nesundáváme ho

Obrázky z Gemini nesou vodoznak, že je vyrobila AI. Tenhle skill ho **neodstraňuje**
a odstraňovat nebude:

- Google to má v podmínkách zakázané.
- Do obrázku se navíc peče **neviditelná značka SynthID**, takže oříznutí rohu stejně nic
  neřeší — jen to vypadá, že se něco skrývá.
- Označit AI obsah jako AI obsah je správně.

Když uživatel potřebuje výstup bez vodoznaku, řešení je licencovaný generátor, ne mazání
značky. Řekni mu to narovinu a nabídni tu cestu.

## Když to nejede

| Příznak | Příčina a řešení |
|---|---|
| `CHYBI_PLAYWRIGHT` | Neproběhlo nastavení → `node scripts/nastaveni.mjs`. |
| `LOGIN_REQUIRED` a nic se neděje | Uživatel se nepřihlásil → `node scripts/prihlaseni.mjs`, pak počkej na jeho „hotovo" a ověř `node scripts/stav.mjs`. |
| „okno prohlížeče se zavřelo" | Uživatel zavřel okno během práce. Řekni mu to bez obviňování a spusť znovu. |
| „Obrázek se neobjevil do 4 minut" | Nejčastěji vyčerpaný denní limit účtu, nebo Gemini v okně na něco čeká. Řekni uživateli, ať se do okna podívá; přidej `--okno`, aby zůstalo otevřené. |
| Uloží se malý obrázek | Skript to sám pozná a hledá dál. Pokud to trvá, je pomalé připojení — zkus znovu. |
| „Nepodařilo se otevřít \<prohlížeč\>" | Chybí ten prohlížeč. Nabídni jiný: `node scripts/prohlizece.mjs --nastav <volba>`. |
| Uživatel chce svůj rozjetý přihlášený prohlížeč | Nejde a není to o Playwrightu — Chrome pustí jeden profil do jednoho procesu. Vysvětli a připomeň, že přihlášení je jednorázové. |

## Co skill NEDĚLÁ

- Nepoužívá API klíč a nikdy o něj nežádej.
- Neposílá obrázky nikam na server — vznikají u uživatele na disku.
- Nevidí ani neukládá heslo k Google účtu; přihlašuje se uživatel sám v okně prohlížeče.
