8 views
-/https://github.com/berriai/litellm/issues/34777
GitHub · issue

#34777 Cursor bridge endpoint (/cursor/chat/completions) doesn't translate image_url content blocks to Responses API format

  • State: open
  • Author: @mishaal-cloud
  • Labels: llm translation

## Bug

`/cursor/chat/completions` fails with a Responses API schema validation error whenever the request contains an `image_url` content block (i.e. any vision/multimodal request), for every model/provider tested. The identical request succeeds via `/v1/chat/completions`.

## Repro

POST a standard Chat Completions-format request to `/cursor/chat/completions` with a message containing an `image_url` content block, e.g.:

```json POST /cursor/chat/completions { "model": "<any vision-capable model, tested via OpenRouter>", "messages": [ { "role": "user", "content": [ {"type": "text", "text": "What's in this image?"}, {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}} ] } ] } ```

Result: fails with a Responses API schema validation error (`invalid_prompt`, discriminator mismatch — Responses API expects `input_text` / `input_image` / `encrypted_content`, not `text` / `image_url`).

The **same request** to `/v1/chat/completions` with the identical model/image succeeds and correctly identifies the image content — proving the bug is isolated to the `/cursor` bridge's content-block translation, not the underlying prov…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (1 events)
#0 of 0 · 31d18h34m39s ago — entered · #import:https:::github.com:berriai:litellm post #2394
The right issue is substantially harder because it introduces a cross-cutting security and compliance feature involving cryptographic signing, tamper-evident chaining, callback lifecycle integration, durable verification semantics, failure handling, privacy boundaries, and extensive testing. The left issue is a localized schema-conversion fix within an existing request translation path.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search