Skip to content

Commit dca34ae

Browse files
committed
fix(openwebui): return markdown string instead of data URI list
OpenWebUI extracts data: URIs from lists but doesn't display them. Returning markdown directly should render the image in the chat.
1 parent a4d3794 commit dca34ae

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

app/api/routes/edit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ async def edit_image_json(
219219
if not urls:
220220
raise HTTPException(status_code=500, detail="No images generated")
221221

222-
# OpenWebUI mode: return list with data URI for tool integration
222+
# OpenWebUI mode: return markdown with embedded base64 image
223223
if settings.OPENWEBUI_MODE:
224224
image_filename = urls[0].split("/")[-1]
225225
image_path = Path(settings.STORAGE_PATH) / image_filename
@@ -239,7 +239,7 @@ async def edit_image_json(
239239
mime_types = {".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".webp": "image/webp"}
240240
mime_type = mime_types.get(ext, "image/png")
241241

242-
return [f"data:{mime_type};base64,{image_data}"]
242+
return f"![Edited Image](data:{mime_type};base64,{image_data})"
243243

244244
# Return based on MARKDOWN_EMBED_IMAGES setting
245245
if settings.MARKDOWN_EMBED_IMAGES:

app/api/routes/generate.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ async def generate_image(request: ImageRequest, _: None = Depends(verify_token))
7070
if not urls:
7171
raise HTTPException(status_code=500, detail="No images generated")
7272

73-
# OpenWebUI mode: return list with data URI for tool integration
73+
# OpenWebUI mode: return markdown with embedded base64 image
7474
if settings.OPENWEBUI_MODE:
7575
image_filename = urls[0].split("/")[-1]
7676
image_path = Path(settings.STORAGE_PATH) / image_filename
@@ -90,7 +90,7 @@ async def generate_image(request: ImageRequest, _: None = Depends(verify_token))
9090
mime_types = {".png": "image/png", ".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".webp": "image/webp"}
9191
mime_type = mime_types.get(ext, "image/png")
9292

93-
return [f"data:{mime_type};base64,{image_data}"]
93+
return f"![Generated Image](data:{mime_type};base64,{image_data})"
9494

9595
# Handle response format
9696
if request.response_format == "base64":

0 commit comments

Comments
 (0)