ITBlog

IT Blog w tematach różnych...

  • O blogu…
  • Edukacja
    • Moodle – stare
    • Moodle2
    • Testy
    • Wykłady IT
  • Firma

Generator obrazów AI za pomocą API

Napisane przez Igor Brzeżek on 16 czerwca 2026
Napisane w: Programowanie.

Contents
  1. genimages – generowanie obrazów za pomocą Google Gemini przy użyciu API
  2. Do czego służy genimages?
  3. Jak to działa – mechanizm wewnętrzny
  4. Wymagania
  5. Instalacja
  6. Wymagane biblioteki
  7. Konfiguracja klucza API
  8. Użycie
  9. Podstawowe użycie
  10. Formaty plików wejściowych
  11. Opcje wiersza poleceń – szczegółowy opis
  12. Rozdzielczość – opcja –res
  13. Listowanie dostępnych modeli
  14. Szacowanie kosztów
  15. Przykłady użycia
  16. 1. Domyślne uruchomienie
  17. 2. Generowanie z pliku tekstowego do własnego katalogu
  18. 3. Własny wzór nazewnictwa i opóźnienie
  19. 4. Rozdzielczość 2K z wymuszonym nadpisywaniem
  20. 5. Wybór modelu
  21. 6. Tryb wsadowy
  22. 7. Szacowanie kosztów
  23. Podsumowanie

genimages – generowanie obrazów za pomocą Google Gemini przy użyciu API

genimages to skrypt w Pythonie, który automatyzuje generowanie obrazów za pomocą modeli AI Google Gemini. Wystarczy przygotować plik z opisami (promptami), a program sam wysyła zapytania do API Google i zapisuje gotowe obrazy na dysku.

GitHub: github.com/IgorBrzezek/genimages

Do czego służy genimages?

Genimages rozwiązuje problem ręcznego generowania większej liczby obrazów za pomocą AI. Zamiast każdorazowo wchodzić na stronę Gemini i wpisywać opisy, przygotowujesz plik z promptami, a skrypt robi resztę. Przydaje się w wielu scenariuszach:

  • Tworzenie treści – szybkie generowanie grafik do artykułów, prezentacji lub mediów społecznościowych.
  • Prototypowanie – tworzenie różnych koncepcji wizualnych dla projektów graficznych.
  • Badania i rozwój – eksperymentowanie z różnymi promptami i modelami, aby poznać możliwości generowania obrazów przez AI.
  • Przetwarzanie wsadowe – generowanie dużej liczby obrazów bez ręcznej interwencji.

Jak to działa – mechanizm wewnętrzny

Skrypt wczytuje plik wejściowy w formacie TXT lub JSON, wyodrębnia z niego opisy (prompty) i dla każdego z nich wywołuje API Google Gemini. Obrazy są pobierane z odpowiedzi API i zapisywane na dysku we wskazanym formacie (PNG lub JPG) oraz w wybranej rozdzielczości. Program obsługuje:

  • mechanizm ponawiania nieudanych generacji (domyślnie 3 próby),
  • opóźnienie między zadaniami, aby uniknąć limitów API,
  • tryb wsadowy (cichy) z wymuszonym nadpisywaniem plików,
  • szczegółowe podsumowanie na końcu działania (liczba sukcesów, błędów, czas, średni rozmiar pliku).

Wymagania

  • Python 3.8 lub nowszy
  • Projekt w Google Cloud z włączonym API Gemini
  • Klucz API do Google Gemini

Instalacja

Wymagane biblioteki

Skrypt wymaga bibliotek google-genai, python-dotenv oraz Pillow.

Instalacja na Linux/macOS:

pip install google-genai python-dotenv Pillow

Instalacja na Windows:

pip install google-genai python-dotenv Pillow

Konfiguracja klucza API

Skrypt wymaga klucza API do uwierzytelnienia w usługach Google AI. Można go skonfigurować na dwa sposoby:

1. Zmienna środowiskowa (zalecane):

Linux/macOS:

export GEMINI_API_KEY="TWOJ_KLUCZ_API"

Windows (Command Prompt):

set GEMINI_API_KEY="TWOJ_KLUCZ_API"

2. Własna nazwa zmiennej środowiskowej:

export MOJA_NAZWA="TWOJ_KLUCZ_API"
python genimages.py -i prompty.txt --keyenv MOJA_NAZWA

Użycie

python genimages.py [OPCJE]

Podstawowe użycie

Należy podać plik wejściowy z promptami:

python genimages.py -i prompty.json

To polecenie wczyta prompty z pliku prompty.json, wygeneruje obrazy przy użyciu domyślnego modelu (gemini-3-pro-image-preview) i zapisze je w nowym katalogu prompty/ w formacie JPG.

Formaty plików wejściowych

Użyj opcji -t lub --type, aby określić format pliku. Domyślnie jest to json.

Plik tekstowy (.txt) – każdy prompt w osobnej linii. Puste linie są pomijane. Nazwa pliku może być wyodrębniona z frazy Nazwa pliku: XXX. Jeśli fraza nie występuje, używane są domyślne nazwy image_001, image_002 itd.

Przykład prompty.txt:

Lew o wschodzie słońca na sawannie. Luźna akwarela. Nazwa pliku: lew_sawanna
Astronauta na koniu na Marsie. Nazwa pliku: mars_horse
Futurystyczne miasto nocne z latającymi samochodami. Nazwa pliku: future_city

Plik JSON (.json) – słownik, w którym klucze to nazwy plików (bez rozszerzenia), a wartości to prompty.

Przykład prompty.json:

{
"lew_sawanna": "Lew o wschodzie słońca na sawannie. Luźna akwarela.",
"mars_horse": "Astronauta na koniu na Marsie.",
"future_city": "Futurystyczne miasto nocne z latającymi samochodami."
}

Opcje wiersza poleceń – szczegółowy opis

Opcja Opis Domyślnie
-i / --input Ścieżka do pliku wejściowego z promptami –
-t / --type Format pliku wejściowego: txt lub json json
-o / --output-dir Katalog docelowy dla wygenerowanych obrazów Nazwa pliku wejściowego bez rozszerzenia
--imgpat Wzór nazwy pliku z numeracją sekwencyjną (np. obraz_001.jpg) Nazwa oryginalna
--fmt Format pliku wyjściowego: png lub jpg jpg
--delay Opóźnienie (w sekundach) między kolejnymi generacjami 1
--model Model AI używany do generowania obrazów gemini-3-pro-image-preview
--list Wyświetla dostępne modele do generowania obrazów –
--keyenv Nazwa zmiennej środowiskowej z kluczem API GEMINI_API_KEY
--color Kolorowe wyjście (czerwony – błędy, zielony – sukces, żółty – ostrzeżenia) wyłączone
--overwrite Wymusza nadpisywanie istniejących plików bez pytania pyta
--stat Podsumowanie na końcu działania; opcjonalnie --stat err wyświetla listę nieudanych wyłączone
--ret Liczba prób ponowienia nieudanych generacji 3
--res Rozdzielczość: preset 1k/2k/4k lub WYSOKOŚĆ SZEROKOŚĆ 1408 768
--genkeyenv Ustawia zmienną środowiskową GEMINI_API_KEY z podaną wartością –
-b / --batch Tryb wsadowy – cichy, z wymuszonym nadpisywaniem wyłączone
--testprice Szacuje koszt generowania obrazów bez faktycznego uruchamiania wyłączone
--debug Szczegółowe informacje debugowania wyłączone

Rozdzielczość – opcja –res

Opcja --res pozwala wybrać rozdzielczość generowanych obrazów:

Wartość Rozdzielczość
1k 1024 x 1024
2k 2048 x 2048
4k 4096 x 4096
SZEROKOŚĆ WYSOKOŚĆ Dowolna, np. 1920 1080

Listowanie dostępnych modeli

Aby wyświetlić listę modeli obsługujących generowanie obrazów:

python genimages.py --list

Szacowanie kosztów

Przed faktycznym uruchomieniem można oszacować koszt generowania:

python genimages.py -i prompty.json --testprice

Przykłady użycia

1. Domyślne uruchomienie

python genimages.py -i prompty.json

Generuje obrazy w formacie JPG, domyślna rozdzielczość 1408×768, w katalogu prompty/.

2. Generowanie z pliku tekstowego do własnego katalogu

python genimages.py -i moje_prompty.txt -t txt -o moje_obrazy --fmt png --stat

Wczytuje prompty z pliku tekstowego, zapisuje jako PNG w katalogu moje_obrazy/, na końcu wyświetla podsumowanie.

3. Własny wzór nazewnictwa i opóźnienie

python genimages.py -i prompty.json --imgpat "projekt" --delay 3 --color

Generuje pliki projekt_001.jpg, projekt_002.jpg itd. z 3-sekundowym opóźnieniem i kolorowym wyjściem.

4. Rozdzielczość 2K z wymuszonym nadpisywaniem

python genimages.py -i prompty.json --res 2k --overwrite

5. Wybór modelu

python genimages.py --list
python genimages.py -i pojedynczy_prompt.txt -t txt --model gemini-1.5-flash-latest

6. Tryb wsadowy

python genimages.py --genkeyenv TWOJ_KLUCZ -i prompty.json --batch

7. Szacowanie kosztów

python genimages.py -i prompty.json --testprice --model gemini-1.5-pro-latest

Podsumowanie

Genimages to praktyczne narzędzie dla każdego, kto regularnie korzysta z AI do generowania obrazów i chce zautomatyzować ten proces. Dzięki obsłudze dwóch formatów plików wejściowych (TXT i JSON), elastycznym opcjom nazewnictwa, regulacji rozdzielczości, mechanizmowi ponawiania oraz szczegółowemu podsumowaniu, skrypt sprawdzi się zarówno w codziennej pracy, jak i w zautomatyzowanych pipeline’ach.

Wbudowana obsługa klucza API przez zmienną środowiskową oraz opcjonalny tryb wsadowy czynią go łatwym do zintegrowania z istniejącymi procesami. Funkcja szacowania kosztów pozwala kontrolować wydatki przed faktycznym uruchomieniem generacji.

Źródła: github.com/IgorBrzezek/genimages

Nawigacja

← Generator modulacji AM i FM
Style Mover czyli przenoszenie stylów HTML →
  • Szukaj

  • Kategorie

    • IT ogólnie (158)
      • AI (1)
      • Bezpieczeństwo (20)
        • Model AAA (7)
        • Szyfrowanie (1)
      • CCTV (3)
      • Hardware (2)
      • Podstawy informatyki (1)
      • Sieci (47)
        • Cisco (4)
          • Obsługa haseł (2)
        • MikroTik (8)
        • Monitorowanie sieci (3)
        • Pomiary w sieciach LAN (6)
          • iptraf-ng (3)
        • Protokół ARP (5)
        • Symulator sieci GNS3 (5)
        • Tunelowanie ruchu (6)
          • Tunele GRE (2)
          • Tunele SSH (4)
        • WLAN / WiFi (7)
      • Software (78)
        • Bazy danych (13)
        • Programowanie (21)
        • Systemy operacyjne (21)
          • Linux Debian (18)
        • Windows (8)
      • Wirtualizacja (26)
  • Ostatnie wpisy

    • Opencode – darmowe kredyty
    • Tunel SSH – zwrotny (remote forwading)
    • GNS3 – Interfejsy sieciowe
    • GNS3 – Konfiguracja urządzenia IOU (L2/L3)
    • Tunel GRE + EoIP na Cisco
  • Strona odwiedzona

    od 11.01.2013

  • Doskonała platforma e-learningowa Uzyskaj certyfikat IT

Proudly powered by WordPress Theme: Parament by Automattic.
7ads6x98y

Powered by
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by