u/ChickenLegsOG

Open WebUI + ComfyUI Image Editing Issue

Hi, I have Open WebUI setup and working perfectly for image generation but I am having issues with getting image editing to work correctly.

In Open WebUI I have image editing enabled, have uploaded the exported (API) workflow, and mapped both the prompt and image nodes.

The ComfyUI workflow works perfectly fine within ComfyUI and produces edits as asked, but in Open WebUI I get the original image back or ever so slightly modified as the prompt is not being passed correctly.

Below is my docker log from Open WebUI and from this I can see the image is being passed ok, but the prompt is being passed to the CLIPTextEncode node but under the element 'prompt' which does not exist within the actual node in ComfyUI.

I cannot work out why the prompt isn't being passed to the 'text' element.

I have deleted and recreated the CLIPTextEncode, I have tried a multi-line String hooked up to the CLIPTextEncode node but get the same result with the prompt being inserted into a newly created 'prompt' element.

Any help would be greatly appreciated.

Using Open WebUI v0.9.5 and ComfyUI v0.21.1.

(Edited to try and get the log over multiple lines to read easier.)

open_webui.utils.images.comfyui:comfyui_edit_image:247 - Workflow: {'9': {'inputs': {'filename_prefix': 'Flux2-Klein', 'images': ['80', 1]}, 
'class_type': 'SaveImage', '_meta': {'title': 'Save Image'}}, '76': {'inputs': {'image': '76037bd5-5e49-4cf1-8be9-464cb4a91dce.png'}, 'class_type': 
'LoadImage', '_meta': {'title': 'Load Image'}}, '80': {'inputs': {'empty_cache': True, 'gc_collect': True, 'unload_all_models': True, 
'image_pass': ['75:65', 0]}, 'class_type': 'VRAM_Debug', '_meta': {'title': 'VRAM Debug'}}, '81': {'inputs': {'value': ['80', 4]}, 'class_type': 
'UnloadAllModels', '_meta': {'title': 'UnloadAllModels'}}, '82': {'inputs': {'text': '', 'clip': ['75:71', 0], 'prompt': 'can you add a food bowl and some cat toys to this picutre'}, '
class_type': 'CLIPTextEncode', '_meta': {'title': 'CLIP Text Encode (Prompt)'}}, '75:61': {'inputs': {'sampler_name': 'euler'}, 'class_type': 'KSamplerSelect', 
'_meta': {'title': 'KSamplerSelect'}}, '75:73': {'inputs': {'noise_seed': 1054275450481062}, 'class_type': 'RandomNoise', '_meta': {'title': 'RandomNoise'}}, 
'75:70': {'inputs': {'unet_name': 'flux-2-klein-9b-fp8.safetensors', 'weight_dtype': 'default'}, 'class_type': 'UNETLoader', '_meta': {'title': 'Load Diffusion Model'}}, 
'75:71': {'inputs': {'clip_name': 'qwen_3_8b_fp8mixed.safetensors', 'type': 'flux2', 'device': 'default'}, 'class_type': 'CLIPLoader', '_meta': {'title': 'Load CLIP'}}, 
'75:72': {'inputs': {'vae_name': 'full_encoder_small_decoder.safetensors'}, 'class_type': 'VAELoader', '_meta': {'title': 'Load VAE'}}, '75:80': {'inputs': {'upscale_method': 
'nearest-exact', 'megapixels': 1, 'resolution_steps': 1, 'image': ['76', 0]}, 'class_type': 'ImageScaleToTotalPixels', '_meta': {'title': 'ImageScaleToTotalPixels'}}, '75:99': 
{'inputs': {'image': ['75:80', 0]}, 'class_type': 'GetImageSize', '_meta': {'title': 'Get Image Size'}}, '75:124': {'inputs': {'pixels': ['75:80', 0], 'vae': ['75:72', 0]}, 
'class_type': 'VAEEncode', '_meta': {'title': 'VAE Encode'}}, '75:82': {'inputs': {'conditioning': ['82', 0]}, 'class_type': 'ConditioningZeroOut', '_meta': 
{'title': 'ConditioningZeroOut'}}, '75:66': {'inputs': {'width': ['75:99', 0], 'height': ['75:99', 1], 'batch_size': 1}, 'class_type': 'EmptyFlux2LatentImage', 
'_meta': {'title': 'Empty Flux 2 Latent'}}, '75:62': {'inputs': {'steps': 4, 'width': ['75:99', 0], 'height': ['75:99', 1]}, 'class_type': 'Flux2Scheduler', 
'_meta': {'title': 'Flux2Scheduler'}}, '75:125': {'inputs': {'conditioning': ['82', 0], 'latent': ['75:124', 0]}, 'class_type': 'ReferenceLatent', '_meta': 
{'title': 'ReferenceLatent'}}, '75:123': {'inputs': {'conditioning': ['75:82', 0], 'latent': ['75:124', 0]}, 'class_type': 'ReferenceLatent', '_meta': {'title': 'ReferenceLatent'}}, 
'75:63': {'inputs': {'cfg': 1, 'model': ['75:70', 0], 'positive': ['75:125', 0], 'negative': ['75:123', 0]}, 'class_type': 'CFGGuider', '_meta': {'title': 'CFGGuider'}}, 
'75:64': {'inputs': {'noise': ['75:73', 0], 'guider': ['75:63', 0], 'sampler': ['75:61', 0], 'sigmas': ['75:62', 0], 'latent_image': ['75:66', 0]}, 'class_type': 
'SamplerCustomAdvanced', '_meta': {'title': 'SamplerCustomAdvanced'}}, '75:65': {'inputs': {'samples': ['75:64', 0], 'vae': ['75:72', 0]}, 'class_type': 'VAEDecode', 
'_meta': {'title': 'VAE Decode'}}}open_webui.utils.images.comfyui:comfyui_edit_image:247 - Workflow: {'9': {'inputs': {'filename_prefix': 'Flux2-Klein', 'images': ['80', 1]}, 
'class_type': 'SaveImage', '_meta': {'title': 'Save Image'}}, '76': {'inputs': {'image': '76037bd5-5e49-4cf1-8be9-464cb4a91dce.png'}, 'class_type': 
'LoadImage', '_meta': {'title': 'Load Image'}}, '80': {'inputs': {'empty_cache': True, 'gc_collect': True, 'unload_all_models': True, 
'image_pass': ['75:65', 0]}, 'class_type': 'VRAM_Debug', '_meta': {'title': 'VRAM Debug'}}, '81': {'inputs': {'value': ['80', 4]}, 'class_type': 
'UnloadAllModels', '_meta': {'title': 'UnloadAllModels'}}, '82': {'inputs': {'text': '', 'clip': ['75:71', 0], 'prompt': 'can you add a food bowl and some cat toys to this picutre'}, '
class_type': 'CLIPTextEncode', '_meta': {'title': 'CLIP Text Encode (Prompt)'}}, '75:61': {'inputs': {'sampler_name': 'euler'}, 'class_type': 'KSamplerSelect', 
'_meta': {'title': 'KSamplerSelect'}}, '75:73': {'inputs': {'noise_seed': 1054275450481062}, 'class_type': 'RandomNoise', '_meta': {'title': 'RandomNoise'}}, 
'75:70': {'inputs': {'unet_name': 'flux-2-klein-9b-fp8.safetensors', 'weight_dtype': 'default'}, 'class_type': 'UNETLoader', '_meta': {'title': 'Load Diffusion Model'}}, 
'75:71': {'inputs': {'clip_name': 'qwen_3_8b_fp8mixed.safetensors', 'type': 'flux2', 'device': 'default'}, 'class_type': 'CLIPLoader', '_meta': {'title': 'Load CLIP'}}, 
'75:72': {'inputs': {'vae_name': 'full_encoder_small_decoder.safetensors'}, 'class_type': 'VAELoader', '_meta': {'title': 'Load VAE'}}, '75:80': {'inputs': {'upscale_method': 
'nearest-exact', 'megapixels': 1, 'resolution_steps': 1, 'image': ['76', 0]}, 'class_type': 'ImageScaleToTotalPixels', '_meta': {'title': 'ImageScaleToTotalPixels'}}, '75:99': 
{'inputs': {'image': ['75:80', 0]}, 'class_type': 'GetImageSize', '_meta': {'title': 'Get Image Size'}}, '75:124': {'inputs': {'pixels': ['75:80', 0], 'vae': ['75:72', 0]}, 
'class_type': 'VAEEncode', '_meta': {'title': 'VAE Encode'}}, '75:82': {'inputs': {'conditioning': ['82', 0]}, 'class_type': 'ConditioningZeroOut', '_meta': 
{'title': 'ConditioningZeroOut'}}, '75:66': {'inputs': {'width': ['75:99', 0], 'height': ['75:99', 1], 'batch_size': 1}, 'class_type': 'EmptyFlux2LatentImage', 
'_meta': {'title': 'Empty Flux 2 Latent'}}, '75:62': {'inputs': {'steps': 4, 'width': ['75:99', 0], 'height': ['75:99', 1]}, 'class_type': 'Flux2Scheduler', 
'_meta': {'title': 'Flux2Scheduler'}}, '75:125': {'inputs': {'conditioning': ['82', 0], 'latent': ['75:124', 0]}, 'class_type': 'ReferenceLatent', '_meta': 
{'title': 'ReferenceLatent'}}, '75:123': {'inputs': {'conditioning': ['75:82', 0], 'latent': ['75:124', 0]}, 'class_type': 'ReferenceLatent', '_meta': {'title': 'ReferenceLatent'}}, 
'75:63': {'inputs': {'cfg': 1, 'model': ['75:70', 0], 'positive': ['75:125', 0], 'negative': ['75:123', 0]}, 'class_type': 'CFGGuider', '_meta': {'title': 'CFGGuider'}}, 
'75:64': {'inputs': {'noise': ['75:73', 0], 'guider': ['75:63', 0], 'sampler': ['75:61', 0], 'sigmas': ['75:62', 0], 'latent_image': ['75:66', 0]}, 'class_type': 
'SamplerCustomAdvanced', '_meta': {'title': 'SamplerCustomAdvanced'}}, '75:65': {'inputs': {'samples': ['75:64', 0], 'vae': ['75:72', 0]}, 'class_type': 'VAEDecode', 
'_meta': {'title': 'VAE Decode'}}}
reddit.com
u/ChickenLegsOG — 4 days ago