Skip to content
All models
llmollama/qwen3-vl:4b
Ollama

Document and image reader (OCR)

vision-ocr

Self-hosted 4B vision-language model that reads scanned documents, receipts, invoices, forms, screenshots, charts and photos of text in 30+ languages and returns the text, the fields or a table - OCR, transcription and document understanding of an attached image without it leaving the deployment. It reads pictures; it does not create them.

Executable through /v1/chat/completions On Prem boundary PII allowed Tool calling
Price per 1M tokens
$0.10
$0.0001 per 1k
Requests · 30d
1
new
Latency
3.0 min
measured · declared 1500 ms
Success rate
100.0%
quality prior 0.74

Traffic over 30 days

Requests per day this target answered on this deployment, with the cost line.

  • requests (peak 1)
  • failed
  • cost
Tokens
900
Spend
$0.0001
Previous window
0 req

Routed for

Domains the signal layer detected on requests that ended here.

  • General1 · 100%

Capabilities

DomainsGeneral, Finance, Legal, Customer Support, Data Analysis
ActionsExtract, Image
Complexity band0.00 - 0.60
Languages*
Context window256K tokens
Streamingyes

Policy constraints

Hard stops enforced before scoring.

Data boundaryOn Prem
Regionsanywhere
PIIallowed
Max input tokensunlimited
Tenantsall

Representative prompts

Examples the similarity strategy matches against.

  • Read this scanned invoice image and extract the vendor, invoice number, total and due date.
  • OCR this photo of a receipt and list every line item with its price.
  • Transcribe the text in this screenshot exactly.
  • Extract the table from this scanned PDF page as CSV.
  • Read the handwritten notes in the attached picture.

Call it

Pin this target with model="vision-ocr", or send a candidate list and let the router choose and fall back.

curlbash
curl https://api.opensmartroute.ai/v1/chat/completions \
  -H "Authorization: Bearer $OSR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "vision-ocr", "messages": [{"role": "user", "content": "Read this scanned invoice image and extract the vendor, invoice number, total and due date."}]}'
OpenAI SDKpython
from openai import OpenAI

client = OpenAI(base_url="https://api.opensmartroute.ai/v1", api_key="osr_live_...")
resp = client.chat.completions.create(
    model="vision-ocr",            # pin this target, or "auto" to let the router choose
    messages=[{"role": "user", "content": "Read this scanned invoice image and extract the vendor, invoice number, total and due date."}],
    extra_body={"models": ["vision-ocr", "auto"]},   # fall back to the router's pick if it fails
)
print(resp.model, resp.choices[0].message.content)