openclaw - 💡(How to fix) Fix OpenWebUI image uploads reach image tool as empty image via /v1/chat/completions on 2026.5.18

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

OpenWebUI image uploads still appear to be dropped or converted into an empty image payload when OpenClaw is used as an OpenAI-compatible backend through /v1/chat/completions.

This looks related to previous issues such as #17685, #18583, #42545 and #23452, but #18583 is locked, so I am opening a new issue with current reproduction data from 2026.5.18.

Root Cause

OpenWebUI image uploads still appear to be dropped or converted into an empty image payload when OpenClaw is used as an OpenAI-compatible backend through /v1/chat/completions.

This looks related to previous issues such as #17685, #18583, #42545 and #23452, but #18583 is locked, so I am opening a new issue with current reproduction data from 2026.5.18.

Code Example

{
  "chatCompletions": {
    "enabled": true
  },
  "responses": {
    "enabled": true
  }
}

---

Default       : nvidia/openai/gpt-oss-120b
Fallbacks (0) : -
Image model   : nvidia/nemotron-nano-12b-v2-vl
Image fallbacks (0): -
Configured models (5): nvidia/nemotron-3-super-120b-a12b, nvidia/openai/gpt-oss-120b, opencode/glm-5.1, opencode/deepseek-v4-flash, nvidia/nemotron-nano-12b-v2-vl

---

HTTP/1.1 200 OK

---

{
  "object": "list",
  "data": [
    {
      "id": "openclaw",
      "object": "model"
    },
    {
      "id": "openclaw/default",
      "object": "model"
    },
    {
      "id": "openclaw/main",
      "object": "model"
    }
  ]
}

---

{
  "model": "openclaw/default",
  "messages": [
    {
      "role": "user",
      "content": "Responde solo: conexion correcta"
    }
  ]
}

---

conexion correcta

---

{
  "model": "openclaw/default",
  "input": "Responde solo: responses funciona"
}

---

responses funciona

---

Describe la imagen en detalle y menciona los elementos principales, colores y contexto. Responde en español.

---

Por favor, sube la imagen que quieres que describa.

---

[tools] image failed: image required raw_params={"prompt":"Describe la imagen en detalle y menciona los elementos principales, colores y contexto. Responde en español.","image":""}

---

Por favor, sube la imagen que quieres que describa.

---

3667484e2c9782f903de1ce637b76dcf
RAW_BUFFERClick to expand / collapse

Summary

OpenWebUI image uploads still appear to be dropped or converted into an empty image payload when OpenClaw is used as an OpenAI-compatible backend through /v1/chat/completions.

This looks related to previous issues such as #17685, #18583, #42545 and #23452, but #18583 is locked, so I am opening a new issue with current reproduction data from 2026.5.18.

Environment

  • OS: Windows 11
  • OpenClaw version: 2026.5.18
  • Node runtime in logs: 24.12.0
  • OpenWebUI connected to OpenClaw through the OpenAI-compatible API
  • Gateway bind mode: lan
  • Gateway bind host: 0.0.0.0
  • Gateway port: 18789
  • OpenWebUI Base URL: http://<LAN-IP>:18789/v1
  • OpenWebUI model: openclaw/default

Gateway HTTP endpoint config

Relevant endpoint config:

{
  "chatCompletions": {
    "enabled": true
  },
  "responses": {
    "enabled": true
  }
}

Authentication is token-based, but no secrets are included here.

OpenClaw model status

Relevant output:

Default       : nvidia/openai/gpt-oss-120b
Fallbacks (0) : -
Image model   : nvidia/nemotron-nano-12b-v2-vl
Image fallbacks (0): -
Configured models (5): nvidia/nemotron-3-super-120b-a12b, nvidia/openai/gpt-oss-120b, opencode/glm-5.1, opencode/deepseek-v4-flash, nvidia/nemotron-nano-12b-v2-vl

Validation

Text-only requests work correctly.

GET /v1/models works from another LAN machine:

HTTP/1.1 200 OK

Returned models include:

{
  "object": "list",
  "data": [
    {
      "id": "openclaw",
      "object": "model"
    },
    {
      "id": "openclaw/default",
      "object": "model"
    },
    {
      "id": "openclaw/main",
      "object": "model"
    }
  ]
}

A text request through /v1/chat/completions works:

{
  "model": "openclaw/default",
  "messages": [
    {
      "role": "user",
      "content": "Responde solo: conexion correcta"
    }
  ]
}

Response contains:

conexion correcta

/v1/responses also works for text:

{
  "model": "openclaw/default",
  "input": "Responde solo: responses funciona"
}

Response contains:

responses funciona

Problem

When uploading or pasting an image in OpenWebUI and asking OpenClaw to describe it, OpenWebUI shows the image as attached, but OpenClaw behaves as if no image was provided.

Example prompt:

Describe la imagen en detalle y menciona los elementos principales, colores y contexto. Responde en español.

Observed final response:

Por favor, sube la imagen que quieres que describa.

This happens even though:

  • OpenWebUI has the model capability enabled for Vision.
  • OpenWebUI has file upload enabled.
  • OpenWebUI has file context enabled.
  • OpenClaw has an image model configured: nvidia/nemotron-nano-12b-v2-vl.

Log evidence

The Gateway log shows that the image/tool flow is being invoked, but the image parameter is empty:

[tools] image failed: image required raw_params={"prompt":"Describe la imagen en detalle y menciona los elementos principales, colores y contexto. Responde en español.","image":""}

The same trace then logs the final response:

Por favor, sube la imagen que quieres que describa.

The relevant trace ID was:

3667484e2c9782f903de1ce637b76dcf

Expected behavior

When OpenWebUI sends an OpenAI-compatible multimodal request through /v1/chat/completions, OpenClaw should preserve the image content parts and forward them to the configured image model or agent runtime.

Actual behavior

The text prompt reaches the agent/tool path, but the image payload appears to be dropped or converted to an empty string before the image tool/model receives it.

The assistant behaves as if the user only sent text.

Additional note

This looks consistent with earlier reports that /v1/chat/completions may be extracting only text content from the request, while /v1/responses appears to have better support for structured inputs. However, OpenWebUI uses /v1/chat/completions, so this still affects OpenWebUI integration.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

When OpenWebUI sends an OpenAI-compatible multimodal request through /v1/chat/completions, OpenClaw should preserve the image content parts and forward them to the configured image model or agent runtime.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix OpenWebUI image uploads reach image tool as empty image via /v1/chat/completions on 2026.5.18