Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Generowanie i edycja obrazów

Kompletny przewodnik po wbudowanych narzędziach LibreChat do generowania i edycji obrazów

LibreChat jest dostarczany z wbudowanymi narzędziami do obsługi obrazów, które można dodać do Agenta. Każde narzędzie posiada własny model, cennik oraz konfigurację, zazwyczaj ograniczającą się do klucza API lub adresu URL. Nie ma osobnej strony dla obrazów: generujesz lub edytujesz obrazy, rozmawiając z Agentem, który ma włączone narzędzie do obsługi obrazów.

Jak działa generowanie obrazów

Prześlij obraz, gdy chcesz dokonać edycji, lub wyślij zwykły tekstowy prompt, gdy chcesz uzyskać nowy obraz. Wygenerowane obrazy podlegają skonfigurowanej fileStrategy, a wynik działania narzędzia jest przesyłany do LLM jako część kontekstu czatu natychmiast po wygenerowaniu.

Szybki start

Uruchom generowanie obrazów w kilka minut dzięki OpenAI Image Tools.

Utwórz agenta. Wybierz Agents z menu endpoint, otwórz Agent Builder z panelu bocznego i utwórz nowego agenta. Nadaj mu nazwę, np. "Image Creator".

Dodaj OpenAI Image Tools. Otwórz listę Tools agenta, wybierz OpenAI Image Tools i zapisz agenta. Dodaje to zarówno funkcje generowania, jak i edycji obrazów.

Ustaw swój klucz API. Dodaj poniższy wpis do swojego pliku .env:

IMAGE_GEN_OAI_API_KEY=sk-your-openai-api-key
# Optional; defaults to gpt-image-1
IMAGE_GEN_OAI_MODEL=gpt-image-1

Zrestartuj i przetestuj. Zrestartuj LibreChat, a następnie wyślij do swojego agenta wiadomość typu „Generate an image of a sunset over mountains”.

WdrożeniePolecenie
Dockerdocker compose down && docker compose up -d
LokalneZatrzymaj (Ctrl+C), a następnie npm run backend

Warto wiedzieć

  • Klucze API można pominąć, aby pozwolić użytkownikom na wprowadzenie własnego klucza z poziomu interfejsu użytkownika.
  • Dane wyjściowe obrazów są wysyłane do LLM tylko bezpośrednio po wygenerowaniu, a nie przy każdej wiadomości. W przeciwnym razie LLM otrzymuje kontekst wizualny tylko z obrazów dołączonych do wiadomości użytkownika. Zobacz Image Storage and Handling.
  • Narzędzia serwera MCP mogą również generować obrazy, chociaż nie zawsze używają poprawnego formatu. Zobacz sekcję MCP.

Narzędzia graficzne OpenAI

"OpenAI Image Tools" to zestaw narzędzi agenta składający się z dwóch oddzielnych narzędzi:

  • Generowanie obrazów tworzy zupełnie nowe obrazy na podstawie promptów tekstowych (nie wymaga przesyłania plików).
  • Edycja obrazów pozwala edytować lub remiksować przesłane obrazy: zmieniać kolory, dodawać obiekty, rozszerzać płótno i wiele więcej.

Oba domyślnie korzystają z GPT-Image-1 w zakresie wykonywania instrukcji, renderowania tekstu, szczegółowej edycji oraz wiedzy o świecie rzeczywistym. Użyj IMAGE_GEN_OAI_MODEL, aby wybrać inny model generowania obrazów OpenAI, jeśli Twoje wdrożenie na to pozwala. Więcej szczegółów znajdziesz w dokumentacji generowania obrazów OpenAI.

Generowanie a edycja

Przypadek użyciaWywołuje
"Start from scratch"Image Generation
"Use existing image(s)"Image Editing

Oba narzędzia są zawsze dostępne, a agent wybiera odpowiednie z nich na podstawie żądania:

  • Generowanie obrazów tworzy nowe obrazy wyłącznie na podstawie opisów tekstowych.
  • Edycja obrazów modyfikuje lub remiksuje istniejące obrazy przy użyciu ich identyfikatorów (image IDs). Mogą to być obrazy z bieżącej wiadomości lub wcześniej wygenerowane i przywołane obrazy. LLM śledzi identyfikatory obrazów, dopóki pozostają one w oknie kontekstowym i uwzględnia je w danych wyjściowych narzędzia.

Edycja obrazów opiera się na identyfikatorach obrazów (image IDs)

  • Identyfikatory obrazów są zachowywane w historii czatu. Gdy pliki są przesyłane do bieżącego żądania, ich identyfikatory są dodawane do kontekstu LLM przed wygenerowaniem jakichkolwiek tokenów.
  • Wcześniej przywołane lub wygenerowane identyfikatory obrazów mogą być używane do edycji, o ile pozostają w oknie kontekstowym. LLM uwzględnia wszelkie istotne identyfikatory w tablicy image_ids podczas wywoływania narzędzia do edycji.
  • Możesz dołączać wcześniej przesłane obrazy z panelu bocznego bez konieczności ponownego ich przesyłania. Daje to również modelowi wizyjnemu kontekst obrazu, co może pomóc w sformułowaniu prompt dla narzędzia edycji.

Parametry

Generowanie obrazów

  • prompt: opis tekstowy (wymagane)
  • size: auto (domyślnie), 1024x1024 (kwadrat), 1536x1024 (pozioma) lub 1024x1536 (pionowa)
  • quality: auto (domyślnie), high, medium lub low
  • background: auto (domyślne), transparent lub opaque (wartość transparent wymaga formatu PNG lub WebP)

Edycja obrazów

  • image_ids: tablica identyfikatorów obrazów do wykorzystania jako odniesienie przy edycji (wymagane)
  • prompt: opis tekstowy zmian (wymagane)
  • size: auto (domyślnie), 1024x1024, 1536x1024, 1024x1536, 256x256 lub 512x512
  • quality: auto (domyślnie), high, medium lub low

Konfiguracja

Utwórz lub użyj ponownie klucza OpenAI i dodaj go do .env, a następnie dodaj "OpenAI Image Tools" do listy Tools swojego agenta:

IMAGE_GEN_OAI_API_KEY=sk-...
# optional extras
IMAGE_GEN_OAI_MODEL=gpt-image-1
IMAGE_GEN_OAI_BASEURL=https://...

W przypadku wdrożeń Azure OpenAI, najpierw poproś o dostęp pod adresem https://aka.ms/oai/gptimage1access, a następnie dodaj swoje dane uwierzytelniające do .env:

IMAGE_GEN_OAI_API_KEY=your-api-key
# optional extras
IMAGE_GEN_OAI_MODEL=gpt-image-1
IMAGE_GEN_OAI_BASEURL=https://deploymentname.openai.azure.com/openai/deployments/gpt-image-1/
IMAGE_GEN_OAI_AZURE_API_VERSION=2025-04-01-preview

Zaawansowana konfiguracja

Dostosuj opisy narzędzi i wskazówki dotyczące promptów za pomocą tych zmiennych środowiskowych:

# Image Model
IMAGE_GEN_OAI_MODEL=gpt-image-1

# Image Generation Tool Descriptions
IMAGE_GEN_OAI_DESCRIPTION=...
IMAGE_GEN_OAI_PROMPT_DESCRIPTION=...

# Image Editing Tool Descriptions
IMAGE_EDIT_OAI_DESCRIPTION=...
IMAGE_EDIT_OAI_PROMPT_DESCRIPTION=...

Cennik

Zobacz stronę z cennikiem GPT-Image-1 oraz dokumentację generowania obrazów, aby poznać koszty generowania obrazów.

Narzędzia obrazu Gemini

Narzędzia Gemini Image integrują najnowsze modele generowania obrazów od Google, wspierając zarówno generowanie obrazów z tekstu, jak i edycję obrazów z uwzględnieniem kontekstu.

  • Generowanie obrazu z tekstu: twórz wysokiej jakości obrazy na podstawie szczegółowych opisów tekstowych.
  • Obsługa kontekstu obrazów: używaj istniejących obrazów jako kontekstu lub inspiracji dla nowych generacji.
  • Edycja obrazów: generowanie nowych obrazów na podstawie modyfikacji istniejących (uwzględnij ID oryginalnego obrazu).
  • Wiele modeli: wybierz gemini-2.5-flash-image (domyślny) lub gemini-3-pro-image-preview.
  • Podwójna obsługa API: działa zarówno z prostymi kluczami Gemini API, jak i Google Cloud Vertex AI.

Parametry

  • prompt: szczegółowy opis tekstowy pożądanego obrazu (wymagany, do 32 000 znaków)
  • image_ids: opcjonalna tablica identyfikatorów obrazów, które mają zostać użyte jako kontekst wizualny dla generowania

Konfiguracja

Dla API Gemini, pobierz klucz z Google AI Studio:

GEMINI_API_KEY=your_api_key_here

Dla Vertex AI (użytkownicy Google Cloud z dostępem do Vertex AI):

GOOGLE_SERVICE_KEY_FILE=/path/to/service-account.json
GOOGLE_CLOUD_LOCATION=us-central1  # optional, default: global

Wybór modelu

# Default model (fast and efficient)
GEMINI_IMAGE_MODEL=gemini-2.5-flash-image

# Higher quality model
GEMINI_IMAGE_MODEL=gemini-3-pro-image-preview

Zaawansowana konfiguracja

Dostosuj opisy narzędzi za pomocą zmiennych środowiskowych:

GEMINI_IMAGE_GEN_DESCRIPTION=...
GEMINI_IMAGE_GEN_PROMPT_DESCRIPTION=...
GEMINI_IMAGE_IDS_DESCRIPTION=...

Więcej szczegółów znajduje się w dedykowanym przewodniku Gemini Image Gen.

DALL·E (starsze)

DALL·E zapewnia starszą generację obrazów przy użyciu modelu obrazu dall-e-3 od OpenAI.

Parametry

  • prompt: opis tekstowy żądanego obrazu (wymagany, do 4000 znaków)
  • style: vivid (hiperrealistyczny, dramatyczny, domyślny) lub natural (mniej hiperrealistyczny)
  • quality: standard (domyślne) lub hd
  • size: 1024x1024 (domyślny, kwadratowy), 1792x1024 (szeroki) lub 1024x1792 (wysoki)

Konfiguracja

# Required
DALLE_API_KEY=sk-...  # or DALLE3_API_KEY=sk-...

# Optional
DALLE_REVERSE_PROXY=https://...  # Alternative endpoint
DALLE3_BASEURL=https://...  # For Azure or custom endpoints
DALLE3_AZURE_API_VERSION=2023-12-01-preview  # For Azure deployments
DALLE3_SYSTEM_PROMPT=...  # Custom system prompt for DALL·E

Włącz narzędzie DALL·E dla agenta i zacznij tworzyć prompty.

Zaawansowana konfiguracja

W przypadku wdrożeń Azure OpenAI, skonfiguruj adres URL bazy (base URL) oraz wersję API:

DALLE3_BASEURL=https://your-resource-name.openai.azure.com/openai/deployments/your-deployment-name
DALLE3_AZURE_API_VERSION=2023-12-01-preview
DALLE3_API_KEY=your-azure-api-key

Cennik

Zobacz stronę z cennikiem DALL-E oraz dokumentację generowania obrazów, aby poznać koszty generowania obrazów.

Stable Diffusion (lokalnie)

Uruchamiaj obrazy całkowicie na własnym komputerze lub serwerze. Skieruj LibreChat na dowolny endpoint Automatic1111 (lub kompatybilny) i gotowe.

Parametry

  • prompt: szczegółowe słowa kluczowe opisujące pożądane elementy na obrazie (wymagane)
  • negative_prompt: słowa kluczowe opisujące elementy do wykluczenia z obrazu (wymagane)

Implementacja Stable Diffusion wykorzystuje te stałe parametry domyślne, które zapewniają dobre rezultaty w większości przypadków użycia:

  • cfg_scale: 4.5
  • kroki: 22
  • width: 1024
  • height: 1024

Konfiguracja

Nie jest wymagany żaden klucz API, wystarczy dostępny adres URL Twojego Automatic1111 WebUI:

SD_WEBUI_URL=http://127.0.0.1:7860  # URL to your Automatic1111 WebUI

Więcej szczegółów na temat konfiguracji Automatic1111 znajduje się w dedykowanym przewodniku po Stable Diffusion.

Flux

Generator chmury z naciskiem na szybkość i opcjonalne, dostrojone modele.

  • Szybkie generowanie obrazów w chmurze
  • Obsługa dostrojonych modeli
  • Wiele poziomów jakości i proporcji obrazu
  • Tryb surowy (raw) dla mniej przetworzonych, bardziej naturalnie wyglądających obrazów

Parametry

Narzędzie Flux obsługuje trzy główne akcje:

  1. generate: utwórz nowy obraz na podstawie promptu tekstowego
  2. generate_finetuned: utwórz obraz przy użyciu dostrojonego modelu
  3. list_finetunes: wyświetl listę dostępnych modeli niestandardowych dla użytkownika

Więcej szczegółów znajduje się w dedykowanym przewodniku Flux.

Konfiguracja

Wybierz narzędzie Flux wewnątrz agenta. Prompty są zwykłym tekstem, a jedno wywołanie generuje jeden obraz.

FLUX_API_KEY=flux_live_...
FLUX_API_BASE_URL=https://api.us1.bfl.ai   # default is fine for most users

Cennik

Zobacz stronę z cennikiem Flux, aby poznać koszty generowania obrazów.

Model Context Protocol (MCP)

Dane wyjściowe w postaci obrazów są obsługiwane przez serwery MCP. Na przykład Puppeteer MCP Server może generować zrzuty ekranu stron internetowych, które wyprowadzają obraz w oczekiwanym formacie i są traktowane tak samo, jak wbudowane narzędzia do obsługi obrazów w LibreChat.

Obsługa obrazów MCP wciąż się rozwija

  • Poniższe przykłady zakładają, że LibreChat działa poza Docker, bezpośrednio przy użyciu Node.js. Model Context Protocol to stosunkowo nowy framework i wielu programistów wciąż uczy się, jak obsługiwać swoje systemy za pomocą uv/node w celu skalowalnej dystrybucji.
  • Istnieje niewiele serwerów generujących obrazy, a wiele z nich jeszcze nie wdrożyło poprawnego formatu odpowiedzi dla obrazów.
  • Podczas gdy wiele serwerów MCP działa poprawnie w ramach Docker, poniższe przykłady nie działają lub wymagają bardziej zaawansowanych konfiguracji, co pokazuje pewne obecne niespójności między serwerami MCP.
mcpServers:
  puppeteer:
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-puppeteer'

Poniżej znajduje się przykład serwera generowania obrazów, który generuje obrazy przy użyciu API Replicate, ale zwraca adresy URL obrazów, co nie jest zgodne ze standardem odpowiedzi obrazowych MCP.

Wymagana instalacja globalna

Dla tego konkretnego serwera zainstaluj pakiet @gongrzhe/image-gen-server globalnie za pomocą npm install -g @gongrzhe/image-gen-server, a następnie wskaż skompilowane pliki pakietu, jak pokazano poniżej.

mcpServers:
  image-gen:
    command: 'node'
    # First, install the package globally using npm:
    # `npm install -g @gongrzhe/image-gen-server`
    # Then, point to the location of the installed package,
    # which you can find by running `npm root -g`
    args:
      - '{REPLACE_WITH_NODE_MODULES_LOCATION}/@gongrzhe/image-gen-server/build/index.js'
      # Example with output from `npm root -g`:
      # - "/home/danny/.nvm/versions/node/v24.16.0/lib/node_modules/@gongrzhe/image-gen-server/build/index.js"
    env:
      # Do not hardcode the API token here, use the environment variable instead
      # The following will pick up the token from your .env file or environment
      REPLICATE_API_TOKEN: '${REPLICATE_API_TOKEN}'
      MODEL: 'google/imagen-3'

Przechowywanie i obsługa obrazów

Wszystkie wygenerowane obrazy są:

  1. Zapisywane zgodnie ze skonfigurowaną fileStrategy
  2. Wyświetlane bezpośrednio w interfejsie czatu
  3. Wysyłane do LLM jako część bezpośredniego kontekstu czatu po wygenerowaniu odpowiedzi

Do ostatniego punktu odnosi się kilka zastrzeżeń:

  • Może to powodować problemy z LLM, który nie obsługuje danych wejściowych w postaci obrazów. Planowana jest opcja wyłączenia tego zachowania dla poszczególnych agentów.
  • Dane wyjściowe są wysyłane do LLM tylko w momencie generowania, a nie przy każdej wiadomości.
  • Aby dołączyć obraz w późniejszych turach, załącz go do wiadomości z panelu bocznego.
  • Krótko mówiąc, LLM otrzymuje kontekst wizualny tylko z obrazów dołączonych do wiadomości użytkownika oraz z generacji lub edycji, które miały miejsce bezpośrednio przed chwilą.

Obsługa proxy

Wszystkie narzędzia do generowania obrazów obsługują konfigurację proxy za pomocą zmiennej środowiskowej PROXY:

PROXY=http://proxy-url:port

Gdy PROXY nie jest ustawione, wspierane klienty po stronie serwera honorują HTTP_PROXY, HTTPS_PROXY oraz NO_PROXY/no_proxy.

Obsługa błędów

Jeśli narzędzie napotka błąd, zwraca komunikat wyjaśniający, co poszło nie tak. Typowe problemy obejmują:

  • Nieprawidłowy klucz API
  • Niedostępność API
  • Naruszenia zasad dotyczących treści
  • Problemy z proxy/siecią
  • Nieprawidłowe parametry
  • Nieobsługiwany ładunek obrazu (patrz Image Storage and Handling powyżej)

Prompting

Możesz dostosować prompty dla OpenAI Image Tools oraz DALL·E, jednak poniższe wskazówki informują o domyślnych promptach dostarczanych przez te narzędzia, co warto wiedzieć na potrzeby własnego pisania:

  1. Zacznij od tematu i stylu (zdjęcie, obraz olejny itp.).
  2. Dodaj kompozycję i kamerę/medium („ujęcie szerokokątne…”, „akwarela…”).
  3. Wspomnij o oświetleniu i nastroju („złota godzina”, „dramatyczne cienie”).
  4. Zakończ za pomocą słów kluczowych dotyczących szczegółów (tekstury, kolory, wyrazy twarzy).
  5. Utrzymuj negatywy w formie pozytywnej: opisuj, co powinno zostać uwzględnione, a nie to, czego należy unikać.

Przykład:

Kinowe zdjęcie antycznej biblioteki skąpanej w ciepłym popołudniowym świetle słonecznym. Wysokie drewniane półki uginają się od książek w skórzanych oprawach, a drobinki kurzu mienią się w świetle. Pojedyncza lampa bankierska z zielonym kloszem oświetla otwarty atlas na wypolerowanym mahoniowym biurku na pierwszym planie. Obiektyw 85 mm, płytka głębia ostrości, bogate bursztynowe odcienie, ultra-wysoka szczegółowość.

Jaka jest ta instrukcja?