Vision API · Beta · Free · Patent pending

We taught a 4-vCPU box to see like a VLM — without renting one.

VLM-class structured read-out on commodity CPUs. 93.1% phrase coverage against frontier VLMs. ~5s per image. No GPU. No SaaS lock-in.

Green AI

CPU-only

No GPU. ~5s per image on commodity hardware. A small fraction of frontier-VLM energy per call.

Trustworthy output

Structured, not just prose

Ranked tags, confidence scores, OCR text, scene types — auditable JSON. Not a black-box paragraph.

Cost savings

Replace frontier-VLM spend

A drop-in for Gemini Flash / GPT-4V vision calls — at a fraction of the per-image cost for companies at scale.

Beta tier · 50 imgs/key/day · no credit card · zero data retention

Live demo · No signup · ~2 s

Drop an image, see what we see.

A 16-layer perceptual stack reads your image in real time — objects, text, scene, brand, art-style.

English or German · skipped if left empty

0.0%
CLIP-lenient phrase coverage
n=0
held-out images · Llama-4 baseline
0 s
p50 latency · warm worker
0 GPU
needed — CPU-only

What we read for you

Six surfaces of meaning, one call.

Every analysis returns six independent readings — objects, text, scene, style, brand, cultural references — each with a confidence score.

01 · Objects

Real-world things in frame

Names every concrete object visible — cars, people, laptops, food, instruments — with confidence scores.

personcarlaptopdining tableguitar

02 · Text

Words on, in, around it

Reads signage, UI text, captions, OCR in stylised type. Dictionary-filtered so noise doesn't reach you.

headlinesUI labelscaptionslogos

03 · Scene

Where this could be

Indoor or outdoor, kitchen or skyline, server room or beach, with the next two close-runners-up.

server roommountain vistacafé interiorcity street

04 · Style

Medium and aesthetic

Photograph or illustration, oil painting or pixel art, vintage or futuristic, gothic or playful.

digital illustrationmonochromevector arthorror style

05 · Brand

Logos, products, marks

Recognises car brands, fashion labels, tech logos, food and drink — without per-brand training.

BMWCoca-ColaNikeStarbucksApple

06 · Cultural

Artworks, landmarks, references

Famous paintings, monuments, cinematic frames — zero-shot, no fine-tune.

Mona LisaEiffel TowerSchönbrunnVan Gogh

What you get back

Structured. Specific. Ready to use.

Six independent readings come back as ranked lists with confidence scores. No prose-only output, no token-counting, no model-version drift. Use the Retina-native shape — or the Gemini-compat shim and keep your existing SDK call unchanged.

retina.frank.ink/v1/analyze

retina · structured response

1.62 s

◇ Description

A wide-format photograph showing three people at a dining table with laptops — reads as a meeting in a conference centre, in warm indoor lighting.

◇ Objects

person93%laptop78%dining table71%chair64%coffee cup58%

◇ Concepts

people meeting in office25candid photography24conference centre24business attire22

Style

photograph

Palette

warm · neutral

Provenance

photograph · 91%

Drop-in usage

Swap one endpoint.
Keep your code.

Already using the Gemini SDK or just curl-posting base64 images? Point your endpoint at retina.frank.ink and keep the same request/response shape. Your existing agent framework will not notice the swap.

The Gemini-compat surface lives at /v1beta/models/{model}:generateContent with the same contents / parts / inline_data shape.

# Retina-native (structured JSON)
curl https://retina.frank.ink/v1/analyze \
  -H "Authorization: Bearer rk_live_..." \
  -F "file=@photo.jpg" \
  -F "hint=is there a dog?"

# Gemini-compatible drop-in
curl https://retina.frank.ink/v1beta/\
models/gemini-flash-latest:\
generateContent \
  -H "x-goog-api-key: rk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "contents": [ ... ] }'

What this does not do

Honest about where the model falls short.

Two metrics, both reported

Headline 93.1% is CLIP-lenient (cosine ≥ 0.20 vs baseline phrases — measures what the vision encoder visually recognizes). Strict text-substring coverage on the same 44 images is 75.1% — measures what the description actually surfaces as plain text. Both honest, neither inflated.

No compositional reasoning

Phrase coverage measures whether concepts appear in the output — it does not test whether bindings are correct ('red shirt on man' may all be present in any arrangement).

Narrow image distribution

Tested on art, AI illustration, photojournalism, crowds, animals, abstract painting, architecture, food, macro, nature. Out-of-distribution on medical, microscopy, satellite, industrial inspection is unmeasured.

Anime / fantasy chimeras are hard

CLIP-B/32 was trained on photographic + Western-art data. AI-anime images cap at ~76% lenient — visual encoder doesn't reliably recognize anime concepts. Named entities and hyper-specific proper nouns are the other dominant failure mode.

Try it · stay

Sign up. 50 images/day.
Free during Beta.

Self-serve API keys. Retina-native JSON or Gemini-compat drop-in. Read the paper for the empirical case; bring an image to see the system answer.