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-1Zrestartuj i przetestuj. Zrestartuj LibreChat, a następnie wyślij do swojego agenta wiadomość typu „Generate an image of a sunset over mountains”.
| Wdrożenie | Polecenie |
|---|---|
| Docker | docker compose down && docker compose up -d |
| Lokalne | Zatrzymaj (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życia | Wywoł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_idspodczas 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
promptdla narzędzia edycji.
Parametry
Generowanie obrazów
- prompt: opis tekstowy (wymagane)
- size:
auto(domyślnie),1024x1024(kwadrat),1536x1024(pozioma) lub1024x1536(pionowa) - quality:
auto(domyślnie),high,mediumlublow - background:
auto(domyślne),transparentlubopaque(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,256x256lub512x512 - quality:
auto(domyślnie),high,mediumlublow
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-previewZaawansowana 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) lubgemini-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_hereDla 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: globalWybó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-previewZaawansowana 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) lubnatural(mniej hiperrealistyczny) - quality:
standard(domyślne) lubhd - size:
1024x1024(domyślny, kwadratowy),1792x1024(szeroki) lub1024x1792(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·EWłą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-keyCennik
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 WebUIWię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:
- generate: utwórz nowy obraz na podstawie promptu tekstowego
- generate_finetuned: utwórz obraz przy użyciu dostrojonego modelu
- 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 usersCennik
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ą:
- Zapisywane zgodnie ze skonfigurowaną
fileStrategy - Wyświetlane bezpośrednio w interfejsie czatu
- 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:portGdy 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:
- Zacznij od tematu i stylu (zdjęcie, obraz olejny itp.).
- Dodaj kompozycję i kamerę/medium („ujęcie szerokokątne…”, „akwarela…”).
- Wspomnij o oświetleniu i nastroju („złota godzina”, „dramatyczne cienie”).
- Zakończ za pomocą słów kluczowych dotyczących szczegółów (tekstury, kolory, wyrazy twarzy).
- 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ść.
Powiązane strony
Jaka jest ta instrukcja?
OCR dla dokumentów
Dowiedz się, jak skonfigurować optyczne rozpoznawanie znaków (OCR), aby usprawnić ekstrakcję tekstu w funkcjach przesyłania plików w LibreChat.
Wznawialne strumienie
Odzyskuj trwające odpowiedzi AI po zerwaniu połączenia, synchronizuj ten sam czat między kartami i urządzeniami oraz utrzymuj strumienie aktywne w skalowanych instancjach.