From 6f3da461d17e168539e99f925c0620db64eb011b Mon Sep 17 00:00:00 2001 From: Taneem Ibrahim Date: Thu, 25 Jun 2026 10:44:29 -0400 Subject: [PATCH] [Pooling] Fix Cohere embed billed image token accounting for mixed-content inputs (#46093) Signed-off-by: Taneem Ibrahim Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- vllm/entrypoints/pooling/embed/serving.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/vllm/entrypoints/pooling/embed/serving.py b/vllm/entrypoints/pooling/embed/serving.py index 5d9616f00c..fd8140982e 100644 --- a/vllm/entrypoints/pooling/embed/serving.py +++ b/vllm/entrypoints/pooling/embed/serving.py @@ -188,7 +188,12 @@ class ServingEmbedding(PoolingServing): ] total_tokens = get_pooling_usage(ctx.final_res_batch).prompt_tokens - image_tokens = total_tokens if request.images is not None else 0 + has_image_input = request.images is not None or any( + content.type == "image_url" + for input_item in request.inputs or [] + for content in input_item.content + ) + image_tokens = total_tokens if has_image_input else 0 texts_echo = request.texts embedding_types = request.embedding_types or ["float"]