Image classification compared: AWS Rekognition vs Clef vs Jev
Three ways to check an image — AWS Rekognition's fixed taxonomy, Cloudflare Clef's questions, and Jev's brand-new image input — compared on cost, quality, speed and setup.
Every platform that accepts user uploads needs the same machine judgment: what is in this image, and is any of it a problem? Nudity, violence, spam, a phone number scrawled across a photo. For a decade the default answer was AWS Rekognition, Amazon's purpose-built image analysis service. This month it gained two very different rivals: Cloudflare's Clef and TypeSafe's Jev, the "System One" decision models we compared on text decisions, both of which now take images as input — Jev's support is three days old.
They do not work the same way. Rekognition answers with a fixed, Amazon-defined taxonomy of labels. Clef and Jev answer your questions about the image, in the choice, score and yes/no (noul) formats they use for text. That difference drives everything else: price, accuracy, setup and failure modes.
Three different animals
| AWS Rekognition | Clef | Clef-flash | Jev 1.14 | |
|---|---|---|---|---|
| Maker | Amazon (AWS) | Cloudflare | Cloudflare | TypeSafe |
| Launched | Nov 2016 | Oct 1, 2026 | Oct 1, 2026 | Sep 2026; images Oct 14, 2026 |
| Model | Proprietary vision models | Qwen3.8-27B + decision head | Qwen3.5-9B + decision head | Proprietary decision model |
| How it answers | Fixed label taxonomy | Your choice / score / noul questions | Same | Your choice / score / noul questions |
| Pricing basis | Per image, per API call | Per input token (Neurons) | Per input token (Neurons) | Per input token; image token count not published |
| Max images / request | 1 | 4 | 4 | No fixed count; 32 MiB request caps |
| Image formats | JPEG, PNG | PNG, JPEG, WebP | PNG, JPEG, WebP | PNG, JPEG (still images only) |
| Video | Yes, async, per-minute | Not in the hosted API schema | Not in the hosted API schema | No |
Rekognition is a suite of single-purpose APIs: DetectLabels for tagging, DetectModerationLabels for unsafe content, plus face analysis, text detection, celebrity recognition and more. Each call does one job and returns Amazon's labels with confidence scores.
Clef treats an image as state, the same way it treats a support ticket. You attach up to four images — base64-encoded, up to 4 MiB and 16 megapixels each — and ask typed questions: choice, "Which best describes this image: product photo, screenshot, meme, other?"; noul, "Does this image contain nudity?" You get structured answers with probabilities back. Image support is a normal, documented feature of the @cf/cloudflare/clef models on Workers AI, and Cloudflare publishes exactly how an image is billed: it is resized to roughly a megapixel at most, divided into 32×32-pixel patches, and each patch costs one token, plus 3 marker tokens — a hard cap of 1,024 tokens per image.
Jev added images on October 14, 2026, in version 1.14 — and, TypeSafe revealed, the capability was latent in 1.13 all along. It is off by default: every image request must send an opt-in header (TypeSafe-Danger-Zone-Images: true), and TypeSafe warns there is "still way too much jaggedness for us to vouch for these for production use cases." Images ride along as references inside your state and questions, as multipart file parts or base64. Version 1.14 also adds a box question type that returns one bounding box per question. What TypeSafe does not publish: how many tokens an image costs. More on why that matters below.
Cost: per image vs per token
Rekognition charges per image, per API call. Label detection and moderation sit in its Group 2 tier: in US East (N. Virginia), $1.00 per 1,000 images for the first million images a month, then $0.80 per 1,000 for the next 4 million, $0.60 up to 35 million, and $0.25 beyond that (AWS pricing, Oct 2026). Tagging and moderating an image is two calls, so two prices. The free tier covers 1,000 images a month in each group for the first 12 months.
The decision models charge for tokens, and one request can ask the tagging question and the moderation question together. A worked example — 100,000 uploaded photos of roughly a megapixel each, each getting one "what is this?" choice question and one "does it contain nudity?" noul:
- Rekognition: two Group 2 calls per image → $200.00
- Clef: the image costs 1,024 tokens at the documented cap, plus roughly 100 tokens of question text ≈ 112.4M tokens at $0.24 per million → ~$27.00. Smaller images cost proportionally less — a 512×512 image is 259 tokens, not 1,024.
- Clef-flash: the same 112.4M tokens at $0.038 per million (cut from $0.09 on October 9, 2026) → ~$4.27
- Jev: not computable from public information. Images are billed as input tokens at $0.042 per million, but TypeSafe publishes no tokens-per-image formula — "guidance coming soon." For scale only: if an image landed near Clef's 1,024-token cap, the same workload would cost about $4.72. Treat that as arithmetic, not a price quote.
Context that keeps everyone honest: on the same Workers AI platform, Cloudflare's classic ResNet-50 classifier costs $2.51 per million images — $0.25 for this entire 100,000-image workload — because a fixed 1,000-class ImageNet model is a much dumber, cheaper tool. And Rekognition's extras break its own pattern: Custom Labels, its train-your-own-classifier feature, bills $1.00 per training hour plus $4.00 per hour for a running inference endpoint (AWS, Oct 2026) — a cost shape that suits steady traffic and punishes spiky traffic, since the endpoint bills even when idle. Clef and Jev need no training at all: a new category is a new question, live instantly. For evaluation, Workers AI's free daily allowance of 10,000 Neurons covers roughly 458,000 Clef tokens or about 2.9 million Clef-flash tokens a day — enough to test image workloads properly at no cost.
The moderation job, specifically
Moderation is where the philosophies collide hardest.
Rekognition's moderation taxonomy is fixed and deep: ten top-level categories — Explicit; Non-Explicit Nudity of Intimate Parts and Kissing; Swimwear or Underwear; Violence; Visually Disturbing; Drugs & Tobacco; Alcohol; Rude Gestures; Gambling; Hate Symbols — expanding through a second level to third-level labels like Exposed Female Nipple or Weapon Violence, 149 label types in all (AWS docs, Oct 2026). You get a confidence score from 0 to 100 for each label that fires, plus its parent category, and you set the threshold (50% by default). What you cannot do is add a category. There is no profanity label: text burned into an image needs a separate DetectText call (another $1.00 per 1,000) plus your own wordlist, and spam signals like a URL or phone number pasted over a photo are yours to assemble from pieces. AWS also states plainly that the API does not detect illegal content — it is a policy tool, not an authority.
Clef and Jev invert that. "Does this image contain profanity, a URL or a phone number?" is a single noul question; "Is this nudity, swimwear, or neither?" is a choice. The taxonomy is whatever your policy says it is, and changing policy is editing a question, not filing a feature request. The catch is trust: Rekognition's categories have a decade of production tuning behind them, while neither Cloudflare nor TypeSafe has published moderation accuracy numbers for images — and Jev's image support is explicitly experimental. Known quirk, carried over from text: Clef will force an out-of-scope image into one of your choice options unless you include an "other" bucket or threshold on its confidence.
Quality: a fixed taxonomy vs calibrated answers
There is no neutral head-to-head benchmark for these three on images, and anyone who quotes you one is selling something. What can be said:
- Rekognition's depth is real. DetectLabels draws on a taxonomy AWS describes as thousands of labels, returns bounding boxes for object instances, and — for a separate per-image fee — image-quality scores and dominant colors. Its confidence scores, though, are not probabilities: AWS warns they do not represent accuracy, and a 90 does not mean "right 90% of the time."
- The decision models return actual probabilities. Both vendors train for calibration — Clef with a Brier-score loss, Jev with a method TypeSafe calls RLCD — so a 0.8 is meant to mean 0.8, which makes thresholding policy ("auto-block above 0.95, queue for review above 0.6") far more principled. That training evidence is from their text work; neither has published image calibration data yet.
- The one independent image test so far is a warning about fine detail. A hands-on test of Clef on Workers AI (October 4, 2026; six synthetic product images with degradations like blur and damage) found both models reliable on coarse categories — colour mismatches were caught even blurred — but Clef-flash missed a small crack in a mug entirely, even on the clean image, and full Clef, which caught the clean crack, fell to roughly 50/50 once it was blurred. Small sample, synthetic images — but "fine detail is where the small model fails" is exactly the failure mode a moderation pipeline cares about.
- Image preparation is a hidden quality factor. Clef resizes for you (to about a megapixel). Jev does not resize at all: images must arrive between 280 and 1,568 pixels per side or the whole request is rejected, EXIF orientation is ignored, and progressive JPEGs must be re-saved as baseline. Rekognition accepts up to 5 MB as raw bytes or 15 MB from S3 storage, up to 10,000×10,000 pixels for label and moderation calls.
- Bounding boxes are no longer a clean Rekognition win. Jev 1.14's new
boxquestion type returns one box per question, as fractions of the image — though it always returns a box, even when the target is absent, so TypeSafe advises pairing it with a noul existence check. Clef returns no boxes.
Speed and scale
Rekognition is built for throughput: quotas are per API and per region and can be raised on request — an AWS load-testing write-up worked against 50 transactions-per-second quotas for DetectLabels and DetectFaces in US East (N. Virginia) — and video analysis is asynchronous at $0.10 per minute per feature (AWS, Oct 2026). AWS publishes no latency figures, and neither, reliably, do the others for images: Clef-flash's much-quoted 38.8 ms median is a text number from Cloudflare's launch comparison, and one launch-week tester saw Clef image requests take 13–30 seconds amid a since-acknowledged token-counting bug — a data point about launch week, not about today. Budget for a pilot and measure; do not budget from launch posts. The decision models have one structural edge: every question about an image is answered in a single pass, so a six-point policy check costs one request, not six.
Setup: an AWS account vs a token vs a key
Rekognition is the heaviest lift. An AWS account, IAM credentials scoped to the APIs you use, an SDK or signed REST calls, a chosen region, and images supplied as raw bytes or from an S3 bucket — there is no "give it a URL" input. None of this is hard for an AWS shop; all of it is friction for everyone else. In exchange you get the maturity stack: a service running since November 30, 2016, with SOC 1/2/3, ISO 27001, PCI DSS and HIPAA eligibility on AWS's compliance pages, and a support ecosystem a decade deep.
Clef needs a Cloudflare account, not a Worker. It runs over a plain REST call to Workers AI with an API token; images go in as base64 (remote URLs are not accepted); billing is in Neurons, and volume past the free daily allowance requires the Workers Paid plan. The open weights (Apache 2.0, on Hugging Face) are the escape hatch if the platform ever stops suiting you — though self-hosting means datacenter-class GPU memory. Note the trade Cloudflare made on October 9: Clef-flash got much cheaper and its hosted context window shrank from 65,536 to 24,576 tokens in the same move.
Jev is a key and one endpoint. POST /v1/systemone, images as multipart parts or base64 alongside your questions. Minutes to first call — with the experimental label, the danger-zone header, the image-prep burden and no image SLA as the price of admission.
Which one should you pick?
- Pick Rekognition if moderation and tagging are production-critical, your categories match Amazon's taxonomy, you need video, text detection or compliance paperwork, or you are already on AWS. It is the only one of the three whose image quality has been measured by a decade of other people's traffic. Just stay off the deprecated face APIs.
- Pick Clef if your policy has categories Amazon does not — profanity overlays, competitor logos, "is this a screenshot of our app" — and you want them as questions today, with calibrated probabilities, a published per-image cost formula and an open-weights exit. It is the only decision model whose image support is not labelled experimental. Choose full Clef over flash where fine detail matters.
- Pick Jev if you are already using it for text decisions and want one API for both — and you can wait, or experiment in non-production paths. Its image support may well become the story here (the
boxtype is genuinely new), but today it is opt-in, unbenchmarked, unpriced per image, and disclaimed by its own maker for production. - Pick Rekognition and a decision model if the stakes justify it: Rekognition's taxonomy as the first pass on the categories it covers, a Clef question set for your custom policy on top. At decision-model prices, the second opinion costs a fraction of the first.
Rekognition sells you Amazon's answers. Clef and Jev sell you your own questions, answered cheaply. For standard nudity-and-violence checks the old taxonomy still earns its dollar-per-thousand; for everything your policy invented itself, the question is now the product.
Key terms
- Confidence score
- Rekognition's 0–100 rating of how sure it is a label applies. Not a probability: a 90 does not mean right 90% of the time.
- Calibrated probability
- A probability that matches reality: when the model says 0.8 across many calls, it is right about 80% of the time. Clef and Jev train explicitly for this.
- Noul
- A yes/no question type in the System One API; the model returns the probability of "yes" (the name is "no" + "oui").
- Taxonomy
- A fixed, vendor-defined set of labels. Rekognition's moderation taxonomy runs from ten top-level categories like Explicit and Violence down to 149 individual label types.
- Neurons
- Cloudflare Workers AI's billing unit, priced at $0.011 per 1,000 Neurons; Clef's input tokens cost 21,818 Neurons per million, Clef-flash 3,455 after its October 9, 2026 price cut (Cloudflare, Oct 2026).
- Bounding box
- The rectangle coordinates locating an object inside an image. Rekognition returns them for detected objects; Jev 1.14's
boxquestion type returns one per question; Clef returns none.