The four layers that must agree

Native image input works only when the whole path agrees. Treat each layer as an independent gate instead of reading the release note as an endpoint guarantee.

LayerQuestionFailure signal
DSH serializerCan this adapter serialize image content?Local unsupported-content or capability error.
Model declarationDoes this exact provider/model route declare image input?read_image stays gated or images are stripped.
Provider catalog and transportIs the image-capable model actually shipped on this route?Configured capability does not match the catalog or endpoint.
Remote endpointDoes the deployed API accept image_url for this model?HTTP 400 such as unknown variant image_url.

What rc.8 changed — and what it did not promise

The official rc.8 notes say DeepSeek adapters gained configurable native image requests. The current adapter source also keeps uncatalogued fallback routes text-only so unknown capability does not let DSH persist images that the chat-completions transport must reject. Neither fact confirms that api.deepseek.com accepts image_url for every DeepSeek model.

Confirm the exact route before changing a session

Record the DSH release, provider id, model id, base URL, and the route’s declared input modalities. Test image input in a fresh session. A session that already contains a rejected image can replay that block on every later request, making text-only follow-ups fail too.

  • Do not mark a model image-capable only to make the UI accept an upload.
  • Confirm the provider documentation for the exact endpoint and model, not just the model family announcement.
  • Test one small image in a disposable session before using an important conversation.
  • If text-only messages keep failing, switch to a clean session and compare the request history.

Choose the correct recovery path

If the endpoint is text-only, route the image through a separate vision-capable provider or an OCR/vision bridge that turns it into text before the main model call. If the endpoint should support images, capture the minimal payload and report the provider/model/endpoint mismatch upstream.

Evidence status as of August 21, 2026

The release note and adapter behavior are official repository evidence. Reports of HTTP 400 from specific endpoints and the claim that a vision endpoint is not yet shipped are community evidence unless DeepSeek confirms them through product documentation or a maintainer response.

DeepSeek Harness is in developer preview. Recheck official documentation and plugin evidence when the host version changes.

Sources and evidence

Official documentation and community evidence are labeled separately in the source pages and in this article.