[GH-ISSUE #20864] issue: IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE is ignored when clicking the IMAGE button on LLM response. The prompt is sent directly to ComfyUI without translation/enhancement. #90057

Closed
opened 2026-05-15 15:07:56 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @karoldydo on GitHub (Jan 22, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/20864

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.7.2

Ollama Version (if applicable)

0.14.3

Operating System

Ubuntu 24.04.3 LTS

Browser (if applicable)

Chrome 144.0.7559.97

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

Prompt should be processed through IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE and translated to English before being sent to ComfyUI.

Actual Behavior

Prompt is sent to ComfyUI in original language (Polish), causing poor image generation results.

Steps to Reproduce

  1. Enable ComfyUI image generation with ENABLE_IMAGE_PROMPT_GENERATION=true
  2. Set custom IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE with translation instructions
  3. Start a chat and write a message in non-English language (e.g. Polish)
  4. Click the IMAGE button on the LLM response
  5. Check logs - prompt is NOT translated to English

Logs & Screenshots

open-webui logs:

webui  | [nltk_data] Downloading package punkt_tab to /root/nltk_data...
webui  | [nltk_data]   Unzipping tokenizers/punkt_tab.zip.
webui  | INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
webui  | INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
webui  | WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.
webui  |
webui  |  ██████╗ ██████╗ ███████╗███╗   ██╗    ██╗    ██╗███████╗██████╗ ██╗   ██╗██╗
webui  | ██╔═══██╗██╔══██╗██╔════╝████╗  ██║    ██║    ██║██╔════╝██╔══██╗██║   ██║██║
webui  | ██║   ██║██████╔╝█████╗  ██╔██╗ ██║    ██║ █╗ ██║█████╗  ██████╔╝██║   ██║██║
webui  | ██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║    ██║███╗██║██╔══╝  ██╔══██╗██║   ██║██║
webui  | ╚██████╔╝██║     ███████╗██║ ╚████║    ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
webui  |  ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝     ╚══╝╚══╝ ╚══════╝╚═════╝  ╚═════╝ ╚═╝
webui  |
webui  |
webui  | v0.7.2 - building the best AI user interface.
webui  |
webui  | https://github.com/open-webui/open-webui
webui  |
Fetching 30 files: 100%|██████████| 30/30 [00:00<00:00, 82241.25it/s]
webui  | INFO:     Started server process [1]
webui  | INFO:     Waiting for application startup.
webui  | 2026-01-21 23:14:46.549 | INFO     | open_webui.utils.logger:start_logger:166 - GLOBAL_LOG_LEVEL: INFO
webui  | 2026-01-21 23:14:46.550 | INFO     | open_webui.main:lifespan:604 - Installing external dependencies of functions and tools...
webui  | 2026-01-21 23:14:46.555 | INFO     | open_webui.utils.plugin:install_frontmatter_requirements:286 - No requirements found in frontmatter.
webui  | 2026-01-21 23:15:09.177 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/version HTTP/1.1" 200
webui  | 2026-01-21 23:15:11.653 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200
webui  | 2026-01-21 23:16:11.657 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200
webui  | 2026-01-21 23:18:11.716 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200
webui  | 2026-01-21 23:18:35.857 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200
webui  | 2026-01-21 23:18:36.138 | INFO     | open_webui.routers.openai:get_all_models:477 - get_all_models()
webui  | 2026-01-21 23:18:36.138 | INFO     | open_webui.routers.ollama:get_all_models:331 - get_all_models()
webui  | 2026-01-21 23:18:37.778 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/44c7345f-5978-4178-9e6a-89d5a12f7edc HTTP/1.1" 200
webui  | 2026-01-21 23:18:38.127 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/models HTTP/1.1" 200
webui  | 2026-01-21 23:18:38.427 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/44c7345f-5978-4178-9e6a-89d5a12f7edc HTTP/1.1" 200
webui  | 2026-01-21 23:18:38.573 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/44c7345f-5978-4178-9e6a-89d5a12f7edc/tags HTTP/1.1" 200
webui  | 2026-01-21 23:18:38.728 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/tasks/chat/44c7345f-5978-4178-9e6a-89d5a12f7edc HTTP/1.1" 200
webui  | 2026-01-21 23:18:38.924 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200
webui  | 2026-01-21 23:18:41.787 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200
webui  | 2026-01-21 23:19:11.645 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200
webui  | 2026-01-21 23:19:53.654 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/v1/chats/new HTTP/1.1" 200
webui  | 2026-01-21 23:19:53.671 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200
webui  | 2026-01-21 23:19:53.812 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
webui  | 2026-01-21 23:19:53.972 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/v1/chats/2954cc07-fd25-4777-af04-3785a1c82935 HTTP/1.1" 200
webui  | 2026-01-21 23:19:54.123 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
webui  | 2026-01-21 23:19:54.289 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/chat/completions HTTP/1.1" 200
webui  | 2026-01-21 23:19:54.440 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
webui  | 2026-01-21 23:20:11.640 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200
webui  | 2026-01-21 23:20:22.236 | INFO     | open_webui.utils.images.comfyui:comfyui_create_image:198 - WebSocket connection established.
webui  | 2026-01-21 23:20:22.236 | INFO     | open_webui.utils.images.comfyui:comfyui_create_image:204 - Sending workflow to WebSocket server.
webui  | 2026-01-21 23:20:22.236 | INFO     | open_webui.utils.images.comfyui:comfyui_create_image:205 - Workflow: {'3': {'inputs': {'seed': 19806639082744, 'steps': 50, 'cfg': 1, 'sampler_name': 'euler', 'scheduler': 'simple', 'denoise': 1, 'model': ['4', 0], 'positive': ['6', 0], 'negative': ['7', 0], 'latent_image': ['5', 0]}, 'class_type': 'KSampler'}, '4': {'inputs': {'ckpt_name': 'flux1-dev-fp8.safetensors'}, 'class_type': 'CheckpointLoaderSimple'}, '5': {'inputs': {'width': 512, 'height': 512, 'batch_size': 1}, 'class_type': 'EmptyLatentImage'}, '6': {'inputs': {'text': 'wygeneruj minionka (żółta postać z bajki) w stroju narciarskim zjeżdzającego na nartach', 'clip': ['11', 0]}, 'class_type': 'CLIPTextEncode'}, '7': {'inputs': {'text': '', 'clip': ['11', 0]}, 'class_type': 'CLIPTextEncode'}, '8': {'inputs': {'samples': ['3', 0], 'vae': ['12', 0]}, 'class_type': 'VAEDecode'}, '9': {'inputs': {'filename_prefix': 'flux_fp8', 'images': ['8', 0]}, 'class_type': 'SaveImage'}, '11': {'inputs': {'clip_name1': 't5-v1_1-xxl-encoder-Q4_K_M.gguf', 'clip_name2': 'clip_l.safetensors', 'type': 'flux'}, 'class_type': 'DualCLIPLoaderGGUF'}, '12': {'inputs': {'vae_name': 'ae.safetensors'}, 'class_type': 'VAELoader'}}
webui  | 2026-01-21 23:20:22.237 | INFO     | open_webui.utils.images.comfyui:queue_prompt:20 - queue_prompt
webui  | 2026-01-21 23:21:11.685 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200
webui  | 2026-01-21 23:21:46.944 | INFO     | open_webui.utils.images.comfyui:get_history:57 - get_history
webui  | 2026-01-21 23:21:46.965 | INFO     | open_webui.utils.images.comfyui:get_image_url:50 - get_image
webui  | 2026-01-21 23:21:47.003 | INFO     | open_webui.routers.files:upload_file_handler:225 - file.content_type: image/png False
webui  | 2026-01-21 23:21:47.340 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/files/80e14159-73ad-4412-9840-99e3c433e8a4/content HTTP/1.1" 200
webui  | 2026-01-21 23:21:53.748 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/chat/completed HTTP/1.1" 200
webui  | 2026-01-21 23:21:53.931 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/v1/chats/2954cc07-fd25-4777-af04-3785a1c82935 HTTP/1.1" 200
webui  | 2026-01-21 23:21:54.080 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
webui  | 2026-01-21 23:21:55.301 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
webui  | 2026-01-21 23:22:11.649 | INFO     | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 20

ollama logs:

ollama  | time=2026-01-21T22:14:39.889Z level=INFO source=routes.go:1614 msg="server config" env="map[CUDA_VISIBLE_DEVICES: GGML_VK_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_CONTEXT_LENGTH:4096 OLLAMA_DEBUG:INFO OLLAMA_FLASH_ATTENTION:true OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://0.0.0.0:11434 OLLAMA_KEEP_ALIVE:2562047h47m16.854775807s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/root/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NEW_ENGINE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:1 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://* vscode-file://*] OLLAMA_REMOTES:[ollama.com] OLLAMA_SCHED_SPREAD:false OLLAMA_VULKAN:false ROCR_VISIBLE_DEVICES: http_proxy: https_proxy: no_proxy:]"
ollama  | time=2026-01-21T22:14:39.891Z level=INFO source=images.go:499 msg="total blobs: 29"
ollama  | time=2026-01-21T22:14:39.891Z level=INFO source=images.go:506 msg="total unused blobs removed: 0"
ollama  | time=2026-01-21T22:14:39.891Z level=INFO source=routes.go:1667 msg="Listening on [::]:11434 (version 0.14.2)"
ollama  | time=2026-01-21T22:14:39.892Z level=INFO source=runner.go:67 msg="discovering available GPUs..."
ollama  | time=2026-01-21T22:14:39.892Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --port 44247"
ollama  | time=2026-01-21T22:14:40.641Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --port 33241"
ollama  | time=2026-01-21T22:14:41.315Z level=INFO source=types.go:42 msg="inference compute" id=0 filter_id=0 library=ROCm compute=gfx1151 name=ROCm0 description="AMD Radeon Graphics" libdirs=ollama,rocm driver=60342.13 pci_id=0000:c5:00.0 type=iGPU total="111.5 GiB" available="111.3 GiB"
ollama  | [GIN] 2026/01/21 - 22:14:41 | 200 |     744.292µs |     172.18.0.15 | GET      "/api/tags"
ollama  | [GIN] 2026/01/21 - 22:18:36 | 200 |    1.134738ms |     172.18.0.14 | GET      "/api/tags"
ollama  | [GIN] 2026/01/21 - 22:18:36 | 200 |      68.487µs |     172.18.0.14 | GET      "/api/ps"
ollama  | time=2026-01-21T22:19:54.370Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --port 37893"
ollama  | time=2026-01-21T22:19:54.958Z level=WARN source=cpu_linux.go:130 msg="failed to parse CPU allowed micro secs" error="strconv.ParseInt: parsing \"max\": invalid syntax"
ollama  | time=2026-01-21T22:19:55.011Z level=INFO source=server.go:245 msg="enabling flash attention"
ollama  | time=2026-01-21T22:19:55.011Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --model /root/.ollama/models/blobs/sha256-3ea32f882c990baebcfe6ab5cda2e3167d54ab16d7937c0b9aa3db11aba01574 --port 33177"
ollama  | time=2026-01-21T22:19:55.012Z level=INFO source=sched.go:452 msg="system memory" total="31.0 GiB" free="30.6 GiB" free_swap="15.9 GiB"
ollama  | time=2026-01-21T22:19:55.012Z level=INFO source=sched.go:459 msg="gpu memory" id=0 library=ROCm available="110.9 GiB" free="111.3 GiB" minimum="457.0 MiB" overhead="0 B"
ollama  | time=2026-01-21T22:19:55.012Z level=INFO source=server.go:755 msg="loading model" "model layers"=35 requested=-1
ollama  | time=2026-01-21T22:19:55.020Z level=INFO source=runner.go:1405 msg="starting ollama engine"
ollama  | time=2026-01-21T22:19:55.020Z level=INFO source=runner.go:1440 msg="Server listening on 127.0.0.1:33177"
ollama  | time=2026-01-21T22:19:55.023Z level=INFO source=runner.go:1278 msg=load request="{Operation:fit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:Enabled KvSize:12288 KvCacheType: NumThreads:16 GPULayers:35[ID:0 Layers:35(0..34)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}"
ollama  | time=2026-01-21T22:19:55.045Z level=INFO source=ggml.go:136 msg="" architecture=mistral3 file_type=Q4_K_M name="" description="" num_tensors=531 num_key_values=51
ollama  | load_backend: loaded CPU backend from /usr/lib/ollama/libggml-cpu-icelake.so
ollama  | /opt/amdgpu/share/libdrm/amdgpu.ids: No such file or directory
ollama  | ggml_cuda_init: GGML_CUDA_FORCE_MMQ:    no
ollama  | ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no
ollama  | ggml_cuda_init: found 1 ROCm devices:
ollama  |   Device 0: AMD Radeon Graphics, gfx1151 (0x1151), VMM: no, Wave Size: 32, ID: 0
ollama  | load_backend: loaded ROCm backend from /usr/lib/ollama/rocm/libggml-hip.so
ollama  | time=2026-01-21T22:19:55.639Z level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.AVX512=1 CPU.0.AVX512_VBMI=1 CPU.0.AVX512_VNNI=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 ROCm.0.NO_VMM=1 ROCm.0.PEER_MAX_BATCH_SIZE=128 compiler=cgo(gcc)
ollama  | time=2026-01-21T22:19:56.084Z level=INFO source=runner.go:1278 msg=load request="{Operation:alloc LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:Enabled KvSize:12288 KvCacheType: NumThreads:16 GPULayers:35[ID:0 Layers:35(0..34)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=runner.go:1278 msg=load request="{Operation:commit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:Enabled KvSize:12288 KvCacheType: NumThreads:16 GPULayers:35[ID:0 Layers:35(0..34)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=ggml.go:482 msg="offloading 34 repeating layers to GPU"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=ggml.go:489 msg="offloading output layer to GPU"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=ggml.go:494 msg="offloaded 35/35 layers to GPU"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:240 msg="model weights" device=ROCm0 size="5.3 GiB"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:245 msg="model weights" device=CPU size="288.0 MiB"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:251 msg="kv cache" device=ROCm0 size="1.6 GiB"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:262 msg="compute graph" device=ROCm0 size="888.2 MiB"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:267 msg="compute graph" device=CPU size="8.0 MiB"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:272 msg="total memory" size="8.1 GiB"
ollama  | time=2026-01-21T22:19:56.324Z level=INFO source=sched.go:526 msg="loaded runners" count=1
ollama  | time=2026-01-21T22:19:56.325Z level=INFO source=server.go:1347 msg="waiting for llama runner to start responding"
ollama  | time=2026-01-21T22:19:56.325Z level=INFO source=server.go:1381 msg="waiting for server to become available" status="llm server loading model"
ollama  | time=2026-01-21T22:19:57.579Z level=INFO source=server.go:1385 msg="llama runner started in 2.57 seconds"
ollama  | [GIN] 2026/01/21 - 22:20:22 | 200 | 27.938118344s |     172.18.0.14 | POST     "/api/chat"
ollama  | [GIN] 2026/01/21 - 22:21:53 | 200 |  6.380620578s |     172.18.0.14 | POST     "/api/chat"
ollama  | [GIN] 2026/01/21 - 22:21:55 | 200 |  1.539762341s |     172.18.0.14 | POST     "/api/chat"

comfyui logs:

comfyui  | Adding extra search path unet /app/models/unet
comfyui  | Adding extra search path diffusion_models /app/models/unet
comfyui  | Adding extra search path clip /app/models/clip
comfyui  | Adding extra search path vae /app/models/vae
comfyui  | Adding extra search path checkpoints /app/models/checkpoints
comfyui  | Adding extra search path loras /app/models/loras
comfyui  | Adding extra search path embeddings /app/models/embeddings
comfyui  | Adding extra search path controlnet /app/models/controlnet
comfyui  | Adding extra search path upscale_models /app/models/upscale_models
comfyui  | [START] Security scan
comfyui  | [DONE] Security scan
comfyui  | ## ComfyUI-Manager: installing dependencies. (GitPython)
comfyui  | ## ComfyUI-Manager: installing dependencies done.
comfyui  | ** ComfyUI startup time: 2026-01-21 23:14:41.510
comfyui  | ** Platform: Linux
comfyui  | ** Python version: 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0]
comfyui  | ** Python executable: /opt/venv/bin/python3
comfyui  | ** ComfyUI Path: /app
comfyui  | ** ComfyUI Base Folder Path: /app
comfyui  | ** User directory: /app/user
comfyui  | ** ComfyUI-Manager config path: /app/user/__manager/config.ini
comfyui  | ** Log path: /app/user/comfyui.log
comfyui  |
comfyui  | Prestartup times for custom nodes:
comfyui  |    6.9 seconds: /app/custom_nodes/ComfyUI-Manager
comfyui  |
comfyui  | Checkpoint files will always be loaded safely.
comfyui  | Total VRAM 98304 MB, total RAM 31729 MB
comfyui  | pytorch version: 2.9.1+rocm7.1.0.git351ff442
comfyui  | Set: torch.backends.cudnn.enabled = False for better AMD performance.
comfyui  | AMD arch: gfx1100
comfyui  | ROCm version: (7, 1)
comfyui  | Enabled fp16 accumulation.
comfyui  | Set vram state to: LOW_VRAM
comfyui  | Device: cuda:0 AMD Radeon 8060S : native
comfyui  | Using async weight offloading with 2 streams
comfyui  | Enabled pinned memory 30142.0
comfyui  | Found comfy_kitchen backend triton: {'available': True, 'disabled': True, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8']}
comfyui  | Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'scaled_mm_nvfp4']}
comfyui  | Found comfy_kitchen backend cuda: {'available': True, 'disabled': True, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8']}
comfyui  | Using pytorch attention
comfyui  | Python version: 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0]
comfyui  | ComfyUI version: 0.9.2
comfyui  | ComfyUI frontend version: 1.36.14
comfyui  | [Prompt Server] web root: /opt/venv/lib/python3.12/site-packages/comfyui_frontend_package/static
comfyui  | ### Loading: ComfyUI-Manager (V3.39.2)
comfyui  | [ComfyUI-Manager] network_mode: public
comfyui  | [ComfyUI-Manager] ComfyUI per-queue preview override detected (PR #11261). Manager's preview method feature is disabled. Use ComfyUI's --preview-method CLI option or 'Settings > Execution > Live preview method'.
comfyui  | ### ComfyUI Version: v0.9.2 | Released on '2026-01-15'
comfyui  | ComfyUI-GGUF: Allowing full torch compile
comfyui  |
comfyui  | Import times for custom nodes:
comfyui  |    0.0 seconds: /app/custom_nodes/websocket_image_save.py
comfyui  |    0.0 seconds: /app/custom_nodes/ComfyUI-GGUF
comfyui  |    0.1 seconds: /app/custom_nodes/ComfyUI-Manager
comfyui  |
comfyui  | Context impl SQLiteImpl.
comfyui  | Will assume non-transactional DDL.
comfyui  | Context impl SQLiteImpl.
comfyui  | Will assume non-transactional DDL.
comfyui  | Running upgrade  -> 0001_assets, Initial assets schema
comfyui  | Revision ID: 0001_assets
comfyui  | Revises: None
comfyui  | Create Date: 2025-12-10 00:00:00
comfyui  | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json
comfyui  | Database upgraded from None to 0001_assets
comfyui  | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json
comfyui  | Assets scan(roots=['models']) completed in 0.026s (created=15, skipped_existing=0, total_seen=15)
comfyui  | Starting server
comfyui  |
comfyui  | To see the GUI go to: http://0.0.0.0:8188
comfyui  | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json
comfyui  | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json
comfyui  | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
comfyui  | FETCH ComfyRegistry Data: 5/120
comfyui  | FETCH ComfyRegistry Data: 10/120
comfyui  | FETCH ComfyRegistry Data: 15/120
comfyui  | FETCH ComfyRegistry Data: 20/120
comfyui  | FETCH ComfyRegistry Data: 25/120
comfyui  | FETCH ComfyRegistry Data: 30/120
comfyui  | FETCH ComfyRegistry Data: 35/120
comfyui  | FETCH ComfyRegistry Data: 40/120
comfyui  | FETCH ComfyRegistry Data: 45/120
comfyui  | FETCH ComfyRegistry Data: 50/120
comfyui  | FETCH ComfyRegistry Data: 55/120
comfyui  | FETCH ComfyRegistry Data: 60/120
comfyui  | FETCH ComfyRegistry Data: 65/120
comfyui  | FETCH ComfyRegistry Data: 70/120
comfyui  | FETCH ComfyRegistry Data: 75/120
comfyui  | FETCH ComfyRegistry Data: 80/120
comfyui  | FETCH ComfyRegistry Data: 85/120
comfyui  | FETCH ComfyRegistry Data: 90/120
comfyui  | FETCH ComfyRegistry Data: 95/120
comfyui  | FETCH ComfyRegistry Data: 100/120
comfyui  | FETCH ComfyRegistry Data: 105/120
comfyui  | FETCH ComfyRegistry Data: 110/120
comfyui  | FETCH ComfyRegistry Data: 115/120
comfyui  | FETCH ComfyRegistry Data: 120/120
comfyui  | FETCH ComfyRegistry Data [DONE]
comfyui  | [ComfyUI-Manager] default cache updated: https://api.comfy.org/nodes
comfyui  | FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json [DONE]
comfyui  | [ComfyUI-Manager] All startup tasks have been completed.
comfyui  | got prompt
comfyui  | Using split attention in VAE
comfyui  | Using split attention in VAE
comfyui  | VAE load device: cuda:0, offload device: cpu, dtype: torch.bfloat16
comfyui  | gguf qtypes: Q4_K (144), F32 (50), Q6_K (25)
comfyui  | clip missing: ['text_projection.weight']
comfyui  | Requested to load FluxClipModel_
comfyui  | loaded completely;  3248.56 MB loaded, full load: True
comfyui  | CLIP/text encoder model load device: cpu, offload device: cpu, current: cpu, dtype: torch.float16
comfyui  | Requested to load FluxClipModel_
comfyui  | Warning, This is not a checkpoint file, trying to load it as a diffusion model only.
comfyui  | model weight dtype torch.float16, manual cast: None
comfyui  | model_type FLUX
comfyui  | WARNING: No VAE weights detected, VAE not initalized.
comfyui  | Requested to load Flux
comfyui  | loaded completely; 88584.80 MB usable, 22700.13 MB loaded, full load: True
100%|██████████| 50/50 [00:47<00:00,  1.06it/s]
comfyui  | Requested to load AutoencodingEngine
comfyui  | loaded completely; 63474.82 MB usable, 159.87 MB loaded, full load: True
comfyui  | Prompt executed in 83.35 seconds

flux_fp8_simple:

{
  "3": {
    "inputs": {
      "seed": 0,
      "steps": 20,
      "cfg": 1,
      "sampler_name": "euler",
      "scheduler": "simple",
      "denoise": 1,
      "model": ["4", 0],
      "positive": ["6", 0],
      "negative": ["7", 0],
      "latent_image": ["5", 0]
    },
    "class_type": "KSampler"
  },
  "4": {
    "inputs": {
      "ckpt_name": "flux1-dev-fp8.safetensors"
    },
    "class_type": "CheckpointLoaderSimple"
  },
  "5": {
    "inputs": {
      "width": 512,
      "height": 512,
      "batch_size": 1
    },
    "class_type": "EmptyLatentImage"
  },
  "6": {
    "inputs": {
      "text": "beautiful landscape",
      "clip": ["4", 1]
    },
    "class_type": "CLIPTextEncode"
  },
  "7": {
    "inputs": {
      "text": "",
      "clip": ["4", 1]
    },
    "class_type": "CLIPTextEncode"
  },
  "8": {
    "inputs": {
      "samples": ["3", 0],
      "vae": ["4", 2]
    },
    "class_type": "VAEDecode"
  },
  "9": {
    "inputs": {
      "filename_prefix": "flux_fp8",
      "images": ["8", 0]
    },
    "class_type": "SaveImage"
  }
}

COMFYUI_WORKFLOW_NODES:

[
        {
            "type": "prompt",
            "key": "text",
            "node_ids": [
                "6"
            ]
        },
        {
            "type": "model",
            "key": "ckpt_name",
            "node_ids": [
                "4"
            ]
        },
        {
            "type": "width",
            "key": "width",
            "node_ids": [
                "5"
            ]
        },
        {
            "type": "height",
            "key": "height",
            "node_ids": [
                "5"
            ]
        },
        {
            "type": "steps",
            "key": "steps",
            "node_ids": [
                "3"
            ]
        },
        {
            "type": "seed",
            "key": "seed",
            "node_ids": [
                "3"
            ]
        }
    ]

Two screenshots:
Image
Image

  1. First was written in Polish and has been directly send to ComfyUI
  2. Second, was written in english (pass through manually via template) and send to ComfyUI

The main problem is that the FLUX 1 understand only the english any other langauge is problematic, that's why it is important that prompt should go first via LLM than to ComfyUI

In both generation the original prompt (translated to english was):

generate a minion (yellow cartoon character) in a ski outfit skiing downhill

Additional Information

Link to code that is probably problematic: 2b26355002/backend/open_webui/utils/images/comfyui.py (L156)

Link to similar discussion: https://github.com/open-webui/open-webui/discussions/16830

TASK_MODEL:

ministral-3:8b

IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE:

### Task:
Generate a detailed prompt for an image generation task. **IMPORTANT: The output prompt MUST be in English**, regardless of the input language. Translate the user's request to English while preserving all details, colors, shapes, and important elements.

### Guidelines:
- **ALWAYS output the prompt in English**, even if the user's request is in another language
- Be descriptive and detailed, focusing on the most important aspects of the image
- Preserve all specific details from the user's request (colors, objects, actions, settings, etc.)
- Translate accurately while maintaining the original meaning and context
- Include relevant details, colors, shapes, and any other important elements
- Avoid making assumptions or adding information not present in the user's request
- If the request is too complex, focus on the most prominent elements

### Output:
Strictly return in JSON format:
{
    "prompt": "Your detailed English description here."
}

### Chat History:
<chat_history>
{{MESSAGES:END:6}}
</chat_history>
Originally created by @karoldydo on GitHub (Jan 22, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/20864 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.7.2 ### Ollama Version (if applicable) 0.14.3 ### Operating System Ubuntu 24.04.3 LTS ### Browser (if applicable) Chrome 144.0.7559.97 ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior Prompt should be processed through IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE and translated to English before being sent to ComfyUI. ### Actual Behavior Prompt is sent to ComfyUI in original language (Polish), causing poor image generation results. ### Steps to Reproduce 1. Enable ComfyUI image generation with `ENABLE_IMAGE_PROMPT_GENERATION=true` 2. Set custom `IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE` with translation instructions 3. Start a chat and write a message in non-English language (e.g. Polish) 4. Click the IMAGE button on the LLM response 5. Check logs - prompt is NOT translated to English ### Logs & Screenshots open-webui logs: ``` webui | [nltk_data] Downloading package punkt_tab to /root/nltk_data... webui | [nltk_data] Unzipping tokenizers/punkt_tab.zip. webui | INFO [alembic.runtime.migration] Context impl SQLiteImpl. webui | INFO [alembic.runtime.migration] Will assume non-transactional DDL. webui | WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests. webui | webui | ██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗ webui | ██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║ webui | ██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║ webui | ██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║ webui | ╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║ webui | ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝ webui | webui | webui | v0.7.2 - building the best AI user interface. webui | webui | https://github.com/open-webui/open-webui webui | Fetching 30 files: 100%|██████████| 30/30 [00:00<00:00, 82241.25it/s] webui | INFO: Started server process [1] webui | INFO: Waiting for application startup. webui | 2026-01-21 23:14:46.549 | INFO | open_webui.utils.logger:start_logger:166 - GLOBAL_LOG_LEVEL: INFO webui | 2026-01-21 23:14:46.550 | INFO | open_webui.main:lifespan:604 - Installing external dependencies of functions and tools... webui | 2026-01-21 23:14:46.555 | INFO | open_webui.utils.plugin:install_frontmatter_requirements:286 - No requirements found in frontmatter. webui | 2026-01-21 23:15:09.177 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/version HTTP/1.1" 200 webui | 2026-01-21 23:15:11.653 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200 webui | 2026-01-21 23:16:11.657 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200 webui | 2026-01-21 23:18:11.716 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200 webui | 2026-01-21 23:18:35.857 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200 webui | 2026-01-21 23:18:36.138 | INFO | open_webui.routers.openai:get_all_models:477 - get_all_models() webui | 2026-01-21 23:18:36.138 | INFO | open_webui.routers.ollama:get_all_models:331 - get_all_models() webui | 2026-01-21 23:18:37.778 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/44c7345f-5978-4178-9e6a-89d5a12f7edc HTTP/1.1" 200 webui | 2026-01-21 23:18:38.127 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/models HTTP/1.1" 200 webui | 2026-01-21 23:18:38.427 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/44c7345f-5978-4178-9e6a-89d5a12f7edc HTTP/1.1" 200 webui | 2026-01-21 23:18:38.573 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/44c7345f-5978-4178-9e6a-89d5a12f7edc/tags HTTP/1.1" 200 webui | 2026-01-21 23:18:38.728 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/tasks/chat/44c7345f-5978-4178-9e6a-89d5a12f7edc HTTP/1.1" 200 webui | 2026-01-21 23:18:38.924 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200 webui | 2026-01-21 23:18:41.787 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200 webui | 2026-01-21 23:19:11.645 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200 webui | 2026-01-21 23:19:53.654 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/v1/chats/new HTTP/1.1" 200 webui | 2026-01-21 23:19:53.671 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/tools/ HTTP/1.1" 200 webui | 2026-01-21 23:19:53.812 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 webui | 2026-01-21 23:19:53.972 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/v1/chats/2954cc07-fd25-4777-af04-3785a1c82935 HTTP/1.1" 200 webui | 2026-01-21 23:19:54.123 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 webui | 2026-01-21 23:19:54.289 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/chat/completions HTTP/1.1" 200 webui | 2026-01-21 23:19:54.440 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 webui | 2026-01-21 23:20:11.640 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200 webui | 2026-01-21 23:20:22.236 | INFO | open_webui.utils.images.comfyui:comfyui_create_image:198 - WebSocket connection established. webui | 2026-01-21 23:20:22.236 | INFO | open_webui.utils.images.comfyui:comfyui_create_image:204 - Sending workflow to WebSocket server. webui | 2026-01-21 23:20:22.236 | INFO | open_webui.utils.images.comfyui:comfyui_create_image:205 - Workflow: {'3': {'inputs': {'seed': 19806639082744, 'steps': 50, 'cfg': 1, 'sampler_name': 'euler', 'scheduler': 'simple', 'denoise': 1, 'model': ['4', 0], 'positive': ['6', 0], 'negative': ['7', 0], 'latent_image': ['5', 0]}, 'class_type': 'KSampler'}, '4': {'inputs': {'ckpt_name': 'flux1-dev-fp8.safetensors'}, 'class_type': 'CheckpointLoaderSimple'}, '5': {'inputs': {'width': 512, 'height': 512, 'batch_size': 1}, 'class_type': 'EmptyLatentImage'}, '6': {'inputs': {'text': 'wygeneruj minionka (żółta postać z bajki) w stroju narciarskim zjeżdzającego na nartach', 'clip': ['11', 0]}, 'class_type': 'CLIPTextEncode'}, '7': {'inputs': {'text': '', 'clip': ['11', 0]}, 'class_type': 'CLIPTextEncode'}, '8': {'inputs': {'samples': ['3', 0], 'vae': ['12', 0]}, 'class_type': 'VAEDecode'}, '9': {'inputs': {'filename_prefix': 'flux_fp8', 'images': ['8', 0]}, 'class_type': 'SaveImage'}, '11': {'inputs': {'clip_name1': 't5-v1_1-xxl-encoder-Q4_K_M.gguf', 'clip_name2': 'clip_l.safetensors', 'type': 'flux'}, 'class_type': 'DualCLIPLoaderGGUF'}, '12': {'inputs': {'vae_name': 'ae.safetensors'}, 'class_type': 'VAELoader'}} webui | 2026-01-21 23:20:22.237 | INFO | open_webui.utils.images.comfyui:queue_prompt:20 - queue_prompt webui | 2026-01-21 23:21:11.685 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 200 webui | 2026-01-21 23:21:46.944 | INFO | open_webui.utils.images.comfyui:get_history:57 - get_history webui | 2026-01-21 23:21:46.965 | INFO | open_webui.utils.images.comfyui:get_image_url:50 - get_image webui | 2026-01-21 23:21:47.003 | INFO | open_webui.routers.files:upload_file_handler:225 - file.content_type: image/png False webui | 2026-01-21 23:21:47.340 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/files/80e14159-73ad-4412-9840-99e3c433e8a4/content HTTP/1.1" 200 webui | 2026-01-21 23:21:53.748 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/chat/completed HTTP/1.1" 200 webui | 2026-01-21 23:21:53.931 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "POST /api/v1/chats/2954cc07-fd25-4777-af04-3785a1c82935 HTTP/1.1" 200 webui | 2026-01-21 23:21:54.080 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 webui | 2026-01-21 23:21:55.301 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 webui | 2026-01-21 23:22:11.649 | INFO | uvicorn.protocols.http.httptools_impl:send:483 - 10.0.0.1:0 - "GET /_app/version.json HTTP/1.1" 20 ``` ollama logs: ``` ollama | time=2026-01-21T22:14:39.889Z level=INFO source=routes.go:1614 msg="server config" env="map[CUDA_VISIBLE_DEVICES: GGML_VK_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_CONTEXT_LENGTH:4096 OLLAMA_DEBUG:INFO OLLAMA_FLASH_ATTENTION:true OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://0.0.0.0:11434 OLLAMA_KEEP_ALIVE:2562047h47m16.854775807s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/root/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NEW_ENGINE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:1 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://* vscode-file://*] OLLAMA_REMOTES:[ollama.com] OLLAMA_SCHED_SPREAD:false OLLAMA_VULKAN:false ROCR_VISIBLE_DEVICES: http_proxy: https_proxy: no_proxy:]" ollama | time=2026-01-21T22:14:39.891Z level=INFO source=images.go:499 msg="total blobs: 29" ollama | time=2026-01-21T22:14:39.891Z level=INFO source=images.go:506 msg="total unused blobs removed: 0" ollama | time=2026-01-21T22:14:39.891Z level=INFO source=routes.go:1667 msg="Listening on [::]:11434 (version 0.14.2)" ollama | time=2026-01-21T22:14:39.892Z level=INFO source=runner.go:67 msg="discovering available GPUs..." ollama | time=2026-01-21T22:14:39.892Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --port 44247" ollama | time=2026-01-21T22:14:40.641Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --port 33241" ollama | time=2026-01-21T22:14:41.315Z level=INFO source=types.go:42 msg="inference compute" id=0 filter_id=0 library=ROCm compute=gfx1151 name=ROCm0 description="AMD Radeon Graphics" libdirs=ollama,rocm driver=60342.13 pci_id=0000:c5:00.0 type=iGPU total="111.5 GiB" available="111.3 GiB" ollama | [GIN] 2026/01/21 - 22:14:41 | 200 | 744.292µs | 172.18.0.15 | GET "/api/tags" ollama | [GIN] 2026/01/21 - 22:18:36 | 200 | 1.134738ms | 172.18.0.14 | GET "/api/tags" ollama | [GIN] 2026/01/21 - 22:18:36 | 200 | 68.487µs | 172.18.0.14 | GET "/api/ps" ollama | time=2026-01-21T22:19:54.370Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --port 37893" ollama | time=2026-01-21T22:19:54.958Z level=WARN source=cpu_linux.go:130 msg="failed to parse CPU allowed micro secs" error="strconv.ParseInt: parsing \"max\": invalid syntax" ollama | time=2026-01-21T22:19:55.011Z level=INFO source=server.go:245 msg="enabling flash attention" ollama | time=2026-01-21T22:19:55.011Z level=INFO source=server.go:429 msg="starting runner" cmd="/usr/bin/ollama runner --ollama-engine --model /root/.ollama/models/blobs/sha256-3ea32f882c990baebcfe6ab5cda2e3167d54ab16d7937c0b9aa3db11aba01574 --port 33177" ollama | time=2026-01-21T22:19:55.012Z level=INFO source=sched.go:452 msg="system memory" total="31.0 GiB" free="30.6 GiB" free_swap="15.9 GiB" ollama | time=2026-01-21T22:19:55.012Z level=INFO source=sched.go:459 msg="gpu memory" id=0 library=ROCm available="110.9 GiB" free="111.3 GiB" minimum="457.0 MiB" overhead="0 B" ollama | time=2026-01-21T22:19:55.012Z level=INFO source=server.go:755 msg="loading model" "model layers"=35 requested=-1 ollama | time=2026-01-21T22:19:55.020Z level=INFO source=runner.go:1405 msg="starting ollama engine" ollama | time=2026-01-21T22:19:55.020Z level=INFO source=runner.go:1440 msg="Server listening on 127.0.0.1:33177" ollama | time=2026-01-21T22:19:55.023Z level=INFO source=runner.go:1278 msg=load request="{Operation:fit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:Enabled KvSize:12288 KvCacheType: NumThreads:16 GPULayers:35[ID:0 Layers:35(0..34)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}" ollama | time=2026-01-21T22:19:55.045Z level=INFO source=ggml.go:136 msg="" architecture=mistral3 file_type=Q4_K_M name="" description="" num_tensors=531 num_key_values=51 ollama | load_backend: loaded CPU backend from /usr/lib/ollama/libggml-cpu-icelake.so ollama | /opt/amdgpu/share/libdrm/amdgpu.ids: No such file or directory ollama | ggml_cuda_init: GGML_CUDA_FORCE_MMQ: no ollama | ggml_cuda_init: GGML_CUDA_FORCE_CUBLAS: no ollama | ggml_cuda_init: found 1 ROCm devices: ollama | Device 0: AMD Radeon Graphics, gfx1151 (0x1151), VMM: no, Wave Size: 32, ID: 0 ollama | load_backend: loaded ROCm backend from /usr/lib/ollama/rocm/libggml-hip.so ollama | time=2026-01-21T22:19:55.639Z level=INFO source=ggml.go:104 msg=system CPU.0.SSE3=1 CPU.0.SSSE3=1 CPU.0.AVX=1 CPU.0.AVX2=1 CPU.0.F16C=1 CPU.0.FMA=1 CPU.0.BMI2=1 CPU.0.AVX512=1 CPU.0.AVX512_VBMI=1 CPU.0.AVX512_VNNI=1 CPU.0.LLAMAFILE=1 CPU.1.LLAMAFILE=1 ROCm.0.NO_VMM=1 ROCm.0.PEER_MAX_BATCH_SIZE=128 compiler=cgo(gcc) ollama | time=2026-01-21T22:19:56.084Z level=INFO source=runner.go:1278 msg=load request="{Operation:alloc LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:Enabled KvSize:12288 KvCacheType: NumThreads:16 GPULayers:35[ID:0 Layers:35(0..34)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=runner.go:1278 msg=load request="{Operation:commit LoraPath:[] Parallel:1 BatchSize:512 FlashAttention:Enabled KvSize:12288 KvCacheType: NumThreads:16 GPULayers:35[ID:0 Layers:35(0..34)] MultiUserCache:false ProjectorPath: MainGPU:0 UseMmap:false}" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=ggml.go:482 msg="offloading 34 repeating layers to GPU" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=ggml.go:489 msg="offloading output layer to GPU" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=ggml.go:494 msg="offloaded 35/35 layers to GPU" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:240 msg="model weights" device=ROCm0 size="5.3 GiB" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:245 msg="model weights" device=CPU size="288.0 MiB" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:251 msg="kv cache" device=ROCm0 size="1.6 GiB" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:262 msg="compute graph" device=ROCm0 size="888.2 MiB" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:267 msg="compute graph" device=CPU size="8.0 MiB" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=device.go:272 msg="total memory" size="8.1 GiB" ollama | time=2026-01-21T22:19:56.324Z level=INFO source=sched.go:526 msg="loaded runners" count=1 ollama | time=2026-01-21T22:19:56.325Z level=INFO source=server.go:1347 msg="waiting for llama runner to start responding" ollama | time=2026-01-21T22:19:56.325Z level=INFO source=server.go:1381 msg="waiting for server to become available" status="llm server loading model" ollama | time=2026-01-21T22:19:57.579Z level=INFO source=server.go:1385 msg="llama runner started in 2.57 seconds" ollama | [GIN] 2026/01/21 - 22:20:22 | 200 | 27.938118344s | 172.18.0.14 | POST "/api/chat" ollama | [GIN] 2026/01/21 - 22:21:53 | 200 | 6.380620578s | 172.18.0.14 | POST "/api/chat" ollama | [GIN] 2026/01/21 - 22:21:55 | 200 | 1.539762341s | 172.18.0.14 | POST "/api/chat" ``` comfyui logs: ``` comfyui | Adding extra search path unet /app/models/unet comfyui | Adding extra search path diffusion_models /app/models/unet comfyui | Adding extra search path clip /app/models/clip comfyui | Adding extra search path vae /app/models/vae comfyui | Adding extra search path checkpoints /app/models/checkpoints comfyui | Adding extra search path loras /app/models/loras comfyui | Adding extra search path embeddings /app/models/embeddings comfyui | Adding extra search path controlnet /app/models/controlnet comfyui | Adding extra search path upscale_models /app/models/upscale_models comfyui | [START] Security scan comfyui | [DONE] Security scan comfyui | ## ComfyUI-Manager: installing dependencies. (GitPython) comfyui | ## ComfyUI-Manager: installing dependencies done. comfyui | ** ComfyUI startup time: 2026-01-21 23:14:41.510 comfyui | ** Platform: Linux comfyui | ** Python version: 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0] comfyui | ** Python executable: /opt/venv/bin/python3 comfyui | ** ComfyUI Path: /app comfyui | ** ComfyUI Base Folder Path: /app comfyui | ** User directory: /app/user comfyui | ** ComfyUI-Manager config path: /app/user/__manager/config.ini comfyui | ** Log path: /app/user/comfyui.log comfyui | comfyui | Prestartup times for custom nodes: comfyui | 6.9 seconds: /app/custom_nodes/ComfyUI-Manager comfyui | comfyui | Checkpoint files will always be loaded safely. comfyui | Total VRAM 98304 MB, total RAM 31729 MB comfyui | pytorch version: 2.9.1+rocm7.1.0.git351ff442 comfyui | Set: torch.backends.cudnn.enabled = False for better AMD performance. comfyui | AMD arch: gfx1100 comfyui | ROCm version: (7, 1) comfyui | Enabled fp16 accumulation. comfyui | Set vram state to: LOW_VRAM comfyui | Device: cuda:0 AMD Radeon 8060S : native comfyui | Using async weight offloading with 2 streams comfyui | Enabled pinned memory 30142.0 comfyui | Found comfy_kitchen backend triton: {'available': True, 'disabled': True, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8']} comfyui | Found comfy_kitchen backend eager: {'available': True, 'disabled': False, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8', 'scaled_mm_nvfp4']} comfyui | Found comfy_kitchen backend cuda: {'available': True, 'disabled': True, 'unavailable_reason': None, 'capabilities': ['apply_rope', 'apply_rope1', 'dequantize_nvfp4', 'dequantize_per_tensor_fp8', 'quantize_nvfp4', 'quantize_per_tensor_fp8']} comfyui | Using pytorch attention comfyui | Python version: 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0] comfyui | ComfyUI version: 0.9.2 comfyui | ComfyUI frontend version: 1.36.14 comfyui | [Prompt Server] web root: /opt/venv/lib/python3.12/site-packages/comfyui_frontend_package/static comfyui | ### Loading: ComfyUI-Manager (V3.39.2) comfyui | [ComfyUI-Manager] network_mode: public comfyui | [ComfyUI-Manager] ComfyUI per-queue preview override detected (PR #11261). Manager's preview method feature is disabled. Use ComfyUI's --preview-method CLI option or 'Settings > Execution > Live preview method'. comfyui | ### ComfyUI Version: v0.9.2 | Released on '2026-01-15' comfyui | ComfyUI-GGUF: Allowing full torch compile comfyui | comfyui | Import times for custom nodes: comfyui | 0.0 seconds: /app/custom_nodes/websocket_image_save.py comfyui | 0.0 seconds: /app/custom_nodes/ComfyUI-GGUF comfyui | 0.1 seconds: /app/custom_nodes/ComfyUI-Manager comfyui | comfyui | Context impl SQLiteImpl. comfyui | Will assume non-transactional DDL. comfyui | Context impl SQLiteImpl. comfyui | Will assume non-transactional DDL. comfyui | Running upgrade -> 0001_assets, Initial assets schema comfyui | Revision ID: 0001_assets comfyui | Revises: None comfyui | Create Date: 2025-12-10 00:00:00 comfyui | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json comfyui | Database upgraded from None to 0001_assets comfyui | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json comfyui | Assets scan(roots=['models']) completed in 0.026s (created=15, skipped_existing=0, total_seen=15) comfyui | Starting server comfyui | comfyui | To see the GUI go to: http://0.0.0.0:8188 comfyui | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json comfyui | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json comfyui | [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json comfyui | FETCH ComfyRegistry Data: 5/120 comfyui | FETCH ComfyRegistry Data: 10/120 comfyui | FETCH ComfyRegistry Data: 15/120 comfyui | FETCH ComfyRegistry Data: 20/120 comfyui | FETCH ComfyRegistry Data: 25/120 comfyui | FETCH ComfyRegistry Data: 30/120 comfyui | FETCH ComfyRegistry Data: 35/120 comfyui | FETCH ComfyRegistry Data: 40/120 comfyui | FETCH ComfyRegistry Data: 45/120 comfyui | FETCH ComfyRegistry Data: 50/120 comfyui | FETCH ComfyRegistry Data: 55/120 comfyui | FETCH ComfyRegistry Data: 60/120 comfyui | FETCH ComfyRegistry Data: 65/120 comfyui | FETCH ComfyRegistry Data: 70/120 comfyui | FETCH ComfyRegistry Data: 75/120 comfyui | FETCH ComfyRegistry Data: 80/120 comfyui | FETCH ComfyRegistry Data: 85/120 comfyui | FETCH ComfyRegistry Data: 90/120 comfyui | FETCH ComfyRegistry Data: 95/120 comfyui | FETCH ComfyRegistry Data: 100/120 comfyui | FETCH ComfyRegistry Data: 105/120 comfyui | FETCH ComfyRegistry Data: 110/120 comfyui | FETCH ComfyRegistry Data: 115/120 comfyui | FETCH ComfyRegistry Data: 120/120 comfyui | FETCH ComfyRegistry Data [DONE] comfyui | [ComfyUI-Manager] default cache updated: https://api.comfy.org/nodes comfyui | FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json [DONE] comfyui | [ComfyUI-Manager] All startup tasks have been completed. comfyui | got prompt comfyui | Using split attention in VAE comfyui | Using split attention in VAE comfyui | VAE load device: cuda:0, offload device: cpu, dtype: torch.bfloat16 comfyui | gguf qtypes: Q4_K (144), F32 (50), Q6_K (25) comfyui | clip missing: ['text_projection.weight'] comfyui | Requested to load FluxClipModel_ comfyui | loaded completely; 3248.56 MB loaded, full load: True comfyui | CLIP/text encoder model load device: cpu, offload device: cpu, current: cpu, dtype: torch.float16 comfyui | Requested to load FluxClipModel_ comfyui | Warning, This is not a checkpoint file, trying to load it as a diffusion model only. comfyui | model weight dtype torch.float16, manual cast: None comfyui | model_type FLUX comfyui | WARNING: No VAE weights detected, VAE not initalized. comfyui | Requested to load Flux comfyui | loaded completely; 88584.80 MB usable, 22700.13 MB loaded, full load: True 100%|██████████| 50/50 [00:47<00:00, 1.06it/s] comfyui | Requested to load AutoencodingEngine comfyui | loaded completely; 63474.82 MB usable, 159.87 MB loaded, full load: True comfyui | Prompt executed in 83.35 seconds ``` flux_fp8_simple: ``` { "3": { "inputs": { "seed": 0, "steps": 20, "cfg": 1, "sampler_name": "euler", "scheduler": "simple", "denoise": 1, "model": ["4", 0], "positive": ["6", 0], "negative": ["7", 0], "latent_image": ["5", 0] }, "class_type": "KSampler" }, "4": { "inputs": { "ckpt_name": "flux1-dev-fp8.safetensors" }, "class_type": "CheckpointLoaderSimple" }, "5": { "inputs": { "width": 512, "height": 512, "batch_size": 1 }, "class_type": "EmptyLatentImage" }, "6": { "inputs": { "text": "beautiful landscape", "clip": ["4", 1] }, "class_type": "CLIPTextEncode" }, "7": { "inputs": { "text": "", "clip": ["4", 1] }, "class_type": "CLIPTextEncode" }, "8": { "inputs": { "samples": ["3", 0], "vae": ["4", 2] }, "class_type": "VAEDecode" }, "9": { "inputs": { "filename_prefix": "flux_fp8", "images": ["8", 0] }, "class_type": "SaveImage" } } ``` COMFYUI_WORKFLOW_NODES: ``` [ { "type": "prompt", "key": "text", "node_ids": [ "6" ] }, { "type": "model", "key": "ckpt_name", "node_ids": [ "4" ] }, { "type": "width", "key": "width", "node_ids": [ "5" ] }, { "type": "height", "key": "height", "node_ids": [ "5" ] }, { "type": "steps", "key": "steps", "node_ids": [ "3" ] }, { "type": "seed", "key": "seed", "node_ids": [ "3" ] } ] ``` Two screenshots: <img width="1260" height="721" alt="Image" src="https://github.com/user-attachments/assets/ac510658-709d-49ef-8373-744718320dde" /> <img width="2637" height="5709" alt="Image" src="https://github.com/user-attachments/assets/3fc82968-15f9-4390-b10f-3ee3da9400f7" /> 1. First was written in Polish and has been directly send to ComfyUI 2. Second, was written in english (pass through manually via template) and send to ComfyUI The main problem is that the FLUX 1 understand only the english any other langauge is problematic, that's why it is important that prompt should go first via LLM than to ComfyUI In both generation the original prompt (translated to english was): ``` generate a minion (yellow cartoon character) in a ski outfit skiing downhill ``` ### Additional Information Link to code that is probably problematic: https://github.com/open-webui/open-webui/blob/2b26355002064228e9b671339f8f3fb9d1fafa73/backend/open_webui/utils/images/comfyui.py#L156 Link to similar discussion: https://github.com/open-webui/open-webui/discussions/16830 TASK_MODEL: ``` ministral-3:8b ``` IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE: ``` ### Task: Generate a detailed prompt for an image generation task. **IMPORTANT: The output prompt MUST be in English**, regardless of the input language. Translate the user's request to English while preserving all details, colors, shapes, and important elements. ### Guidelines: - **ALWAYS output the prompt in English**, even if the user's request is in another language - Be descriptive and detailed, focusing on the most important aspects of the image - Preserve all specific details from the user's request (colors, objects, actions, settings, etc.) - Translate accurately while maintaining the original meaning and context - Include relevant details, colors, shapes, and any other important elements - Avoid making assumptions or adding information not present in the user's request - If the request is too complex, focus on the most prominent elements ### Output: Strictly return in JSON format: { "prompt": "Your detailed English description here." } ### Chat History: <chat_history> {{MESSAGES:END:6}} </chat_history> ```
GiteaMirror added the bug label 2026-05-15 15:07:56 -05:00
Author
Owner

@owui-terminator[bot] commented on GitHub (Jan 22, 2026):

🔍 Similar Issues Found

I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:

  1. #20738 issue: Unable to generate images with ComfyUI in OWUI version 0.7.2
    by batcheej • Jan 16, 2026 • bug

💡 Tips:

  • If this is a duplicate, please consider closing this issue and adding any additional details to the existing one
  • If you found a solution in any of these issues, please share it here to help others

This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.

<!-- gh-comment-id:3783576083 --> @owui-terminator[bot] commented on GitHub (Jan 22, 2026): 🔍 **Similar Issues Found** I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions: 1. [#20738](https://github.com/open-webui/open-webui/issues/20738) **issue: Unable to generate images with ComfyUI in OWUI version 0.7.2** *by batcheej • Jan 16, 2026 • `bug`* --- 💡 **Tips:** - If this is a duplicate, please consider closing this issue and adding any additional details to the existing one - If you found a solution in any of these issues, please share it here to help others *This comment was generated automatically by a bot.* Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
Author
Owner

@tjbck commented on GitHub (Jan 22, 2026):

@silentoplayz @micahdbak able to reproduce?

<!-- gh-comment-id:3784030615 --> @tjbck commented on GitHub (Jan 22, 2026): @silentoplayz @micahdbak able to reproduce?
Author
Owner

@silentoplayz commented on GitHub (Jan 22, 2026):

Here's my evaluation (forgive me if it's not worth while, but it's likely just an easy fix too):

No matter what I tried during my attempts to reproduce this issue, my prompts sent to the model within a chat would get handed over to the task model (Current Model) and translated directly into English before sending that prompt over to ComfyUI to generate the image and return it back to me with a response in the chat.

Image

Because I use Portainer for managing my containers / Docker stacks, I have set the following environment variable for my Open WebUI instance:

IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE="### Task:\nGenerate a detailed prompt for an image generation task. **IMPORTANT: The output prompt MUST be in Chinese**, regardless of the input language. Translate the user's request to Chinese while preserving all details, colors, shapes, and important elements.\n\n### Guidelines:\n- **ALWAYS output the prompt in Chinese**, even if the user's request is in another language\n- Be descriptive and detailed, focusing on the most important aspects of the image\n- Preserve all specific details from the user's request (colors, objects, actions, settings, etc.)\n- Translate accurately while maintaining the original meaning and context\n- Include relevant details, colors, shapes, and any other important elements\n- Avoid making assumptions or adding information not present in the user's request\n- If the request is too complex, focus on the most prominent elements\n\n### Output:\nStrictly return in JSON format:\n{\n    \"prompt\": \"Your detailed Chinese description here.\"\n}\n\n### Chat History:\n<chat_history>\n{{MESSAGES:END:6}}\n</chat_history>"

I opted to prompt for Chinese here, as I am used to seeing the English language as an American. If the environment variable worked, the prompt sent to ComfyUI should theoretically be entirely in the Chinese language. The prompt I used is indeed a valid prompt template and follows the convention / structure of the DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE found in Open WebUI's codebase.

For more background info, I run my Open WebUI instance with ENABLE_PERSISTENT_CONFIG="true", so to test this issue, I added the new environment variables that I was missing, which include the following:

ENABLE_IMAGE_PROMPT_GENERATION="true"

IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE="### Task:\nGenerate a detailed prompt for an image generation task. **IMPORTANT: The output prompt MUST be in Chinese**, regardless of the input language. Translate the user's request to Chinese while preserving all details, colors, shapes, and important elements.\n\n### Guidelines:\n- **ALWAYS output the prompt in Chinese**, even if the user's request is in another language\n- Be descriptive and detailed, focusing on the most important aspects of the image\n- Preserve all specific details from the user's request (colors, objects, actions, settings, etc.)\n- Translate accurately while maintaining the original meaning and context\n- Include relevant details, colors, shapes, and any other important elements\n- Avoid making assumptions or adding information not present in the user's request\n- If the request is too complex, focus on the most prominent elements\n\n### Output:\nStrictly return in JSON format:\n{\n    \"prompt\": \"Your detailed Chinese description here.\"\n}\n\n### Chat History:\n<chat_history>\n{{MESSAGES:END:6}}\n</chat_history>"

I also set to ENABLE_PERSISTENT_CONFIG to false before starting up the stack. When the stack fully started and I didn't see any movement in the logs for Open WebUI, I stopped the stack again before setting ENABLE_PERSISTENT_CONFIG back to true again and starting the stack once more. This gives me peace of mind, knowing that the DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE environment variable SHOULD be set now if it wasn't before.

The model always translates to English on my end.

Image

All this to say, the env var is ignored once a database value exists. I may have had it set at some point and then blanked it out. This could be a contributing factor if someone set a value via env var expecting it to work, but the database has a different value.


Update - The UI setting itself works

If I go into the Interface settings via the admin panel and adjust the Image Prompt Generation Prompt setting to the following and generate an image in a chat, the image is generated in the language I want it to.

### Task:\n生成一个用于图像生成任务的详细提示词。**重要:无论用户输入使用何种语言,最终输出的提示词必须使用中文。** 请将用户的请求准确翻译为中文,并完整保留所有细节,包括颜色、形状、对象、动作、场景以及任何重要元素。\n\n### Guidelines:\n- **始终使用中文输出提示词**,即使用户的请求是其他语言\n- 描述应具体、清晰且详细,重点突出图像中最重要的元素\n- 完整保留用户请求中的所有具体细节(颜色、物体、动作、环境、构图等)\n- 翻译需准确,保持原始含义和上下文,不得曲解\n- 包含所有相关的视觉细节,例如颜色、形状、材质、光照、风格等\n- 不要做出用户请求中未提及的假设,也不要添加额外信息\n- 如果请求过于复杂,请优先描述最显著和最关键的视觉元素\n\n### Output:\nStrictly return in JSON format:\n{\n    \"prompt\": \"在这里输出完整、详细的中文图像描述提示词。\"\n}\n\n### Chat History:\n<chat_history>\n{{MESSAGES:END:6}}\n</chat_history>
Image Image Image

Blanking the Image Prompt Generation Prompt setting back to empty (Default) does as expected.

<!-- gh-comment-id:3784302881 --> @silentoplayz commented on GitHub (Jan 22, 2026): Here's my evaluation (forgive me if it's not worth while, but it's likely just an easy fix too): No matter what I tried during my attempts to reproduce this issue, my prompts sent to the model within a chat would get handed over to the task model (Current Model) and translated directly into English before sending that prompt over to ComfyUI to generate the image and return it back to me with a response in the chat. <img width="2314" height="1282" alt="Image" src="https://github.com/user-attachments/assets/268245ad-2383-45b0-96a3-b38cb6015091" /> Because I use Portainer for managing my containers / Docker stacks, I have set the following environment variable for my Open WebUI instance: ``` IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE="### Task:\nGenerate a detailed prompt for an image generation task. **IMPORTANT: The output prompt MUST be in Chinese**, regardless of the input language. Translate the user's request to Chinese while preserving all details, colors, shapes, and important elements.\n\n### Guidelines:\n- **ALWAYS output the prompt in Chinese**, even if the user's request is in another language\n- Be descriptive and detailed, focusing on the most important aspects of the image\n- Preserve all specific details from the user's request (colors, objects, actions, settings, etc.)\n- Translate accurately while maintaining the original meaning and context\n- Include relevant details, colors, shapes, and any other important elements\n- Avoid making assumptions or adding information not present in the user's request\n- If the request is too complex, focus on the most prominent elements\n\n### Output:\nStrictly return in JSON format:\n{\n \"prompt\": \"Your detailed Chinese description here.\"\n}\n\n### Chat History:\n<chat_history>\n{{MESSAGES:END:6}}\n</chat_history>" ``` I opted to prompt for Chinese here, as I am used to seeing the English language as an American. If the environment variable worked, the prompt sent to ComfyUI should theoretically be entirely in the Chinese language. The prompt I used is indeed a valid prompt template and follows the convention / structure of the [DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE](https://github.com/open-webui/open-webui/blob/main/backend/open_webui/config.py#L1804) found in Open WebUI's codebase. For more background info, I run my Open WebUI instance with `ENABLE_PERSISTENT_CONFIG="true"`, so to test this issue, I added the new environment variables that I was missing, which include the following: ``` ENABLE_IMAGE_PROMPT_GENERATION="true" IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE="### Task:\nGenerate a detailed prompt for an image generation task. **IMPORTANT: The output prompt MUST be in Chinese**, regardless of the input language. Translate the user's request to Chinese while preserving all details, colors, shapes, and important elements.\n\n### Guidelines:\n- **ALWAYS output the prompt in Chinese**, even if the user's request is in another language\n- Be descriptive and detailed, focusing on the most important aspects of the image\n- Preserve all specific details from the user's request (colors, objects, actions, settings, etc.)\n- Translate accurately while maintaining the original meaning and context\n- Include relevant details, colors, shapes, and any other important elements\n- Avoid making assumptions or adding information not present in the user's request\n- If the request is too complex, focus on the most prominent elements\n\n### Output:\nStrictly return in JSON format:\n{\n \"prompt\": \"Your detailed Chinese description here.\"\n}\n\n### Chat History:\n<chat_history>\n{{MESSAGES:END:6}}\n</chat_history>" ``` I also set to `ENABLE_PERSISTENT_CONFIG` to `false` before starting up the stack. When the stack fully started and I didn't see any movement in the logs for Open WebUI, I stopped the stack again before setting `ENABLE_PERSISTENT_CONFIG` back to `true` again and starting the stack once more. This gives me peace of mind, knowing that the `DEFAULT_IMAGE_PROMPT_GENERATION_PROMPT_TEMPLATE` environment variable ***SHOULD*** be set now if it wasn't before. The model always translates to English on my end. <img width="2560" height="1221" alt="Image" src="https://github.com/user-attachments/assets/ca4712d0-ffbc-4e1a-8310-4c159d6acd7f" /> All this to say, the env var is ignored once a database value exists. I may have had it set at some point and then blanked it out. This could be a contributing factor if someone set a value via env var expecting it to work, but the database has a different value. ___ ### Update - The UI setting itself works If I go into the `Interface` settings via the admin panel and adjust the `Image Prompt Generation Prompt` setting to the following and generate an image in a chat, the image is generated in the language I want it to. ``` ### Task:\n生成一个用于图像生成任务的详细提示词。**重要:无论用户输入使用何种语言,最终输出的提示词必须使用中文。** 请将用户的请求准确翻译为中文,并完整保留所有细节,包括颜色、形状、对象、动作、场景以及任何重要元素。\n\n### Guidelines:\n- **始终使用中文输出提示词**,即使用户的请求是其他语言\n- 描述应具体、清晰且详细,重点突出图像中最重要的元素\n- 完整保留用户请求中的所有具体细节(颜色、物体、动作、环境、构图等)\n- 翻译需准确,保持原始含义和上下文,不得曲解\n- 包含所有相关的视觉细节,例如颜色、形状、材质、光照、风格等\n- 不要做出用户请求中未提及的假设,也不要添加额外信息\n- 如果请求过于复杂,请优先描述最显著和最关键的视觉元素\n\n### Output:\nStrictly return in JSON format:\n{\n \"prompt\": \"在这里输出完整、详细的中文图像描述提示词。\"\n}\n\n### Chat History:\n<chat_history>\n{{MESSAGES:END:6}}\n</chat_history> ``` <img width="2307" height="1276" alt="Image" src="https://github.com/user-attachments/assets/34eed9c3-ca6c-455a-a889-56da2a98bd07" /> <img width="2318" height="1276" alt="Image" src="https://github.com/user-attachments/assets/ec610060-68bd-4baf-9969-4be552e86199" /> <img width="2553" height="1276" alt="Image" src="https://github.com/user-attachments/assets/9aea63b4-3546-4cc7-a41a-ccbfd3563fda" /> Blanking the `Image Prompt Generation Prompt` setting back to empty (Default) does as expected.
Author
Owner

@silentoplayz commented on GitHub (Jan 22, 2026):

The main problem is that the FLUX 1 understand only the english any other langauge is problematic

OP, FLUX absolutely understands languages other than English. Drop any of the non-English prompts from this thread straight into ComfyUI and you’ll get visually identical results to the English versions. They converge to roughly the same image, proving the model's multi-language understanding capability.

<!-- gh-comment-id:3784467204 --> @silentoplayz commented on GitHub (Jan 22, 2026): > The main problem is that the FLUX 1 understand only the english any other langauge is problematic OP, FLUX absolutely understands languages other than English. Drop any of the non-English prompts from [this thread](https://www.reddit.com/r/FluxAI/comments/1ewrk7f/flux_understands_my_language_i_had_no_idea_first/) straight into ComfyUI and you’ll get visually identical results to the English versions. They converge to roughly the same image, proving the model's multi-language understanding capability.
Author
Owner

@karoldydo commented on GitHub (Jan 22, 2026):

Little update from my side - I've double check my configuration and everything seems to be alright, but:

  • I've change TASK_MODEL to empty, so this means that it will take a CURRENT/DEFAULT MODEL
  • Open a new chat and change from ministral-3:8b to another model

and the translations and improving prompt start working...

I've no idea why ministral-3:8b is just passing throught the prompt.

If I will discover something will keep you up to infomring, for now the workaround is to change a model.

<!-- gh-comment-id:3786439046 --> @karoldydo commented on GitHub (Jan 22, 2026): Little update from my side - I've double check my configuration and everything seems to be alright, but: - I've change TASK_MODEL to empty, so this means that it will take a CURRENT/DEFAULT MODEL - Open a new chat and change from ministral-3:8b to another model and the translations and improving prompt start working... I've no idea why ministral-3:8b is just passing throught the prompt. If I will discover something will keep you up to infomring, for now the workaround is to change a model.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#90057