Clairic specifications
Read from the Clairic page, so a change there updates this table. A blank field is dated to the day that page was last checked. The other side of this comparison is not a model listed on this site, so its figures are in the text below.
| Specification | Clairic |
|---|---|
| Vendor | Cloudflare |
| Status | Early access |
| Access | Hosted API |
| Field types | Text, Number, Date, Time, Datetime, Duration, List, Estimate, Forecast |
| Input price | $0.1 per 1M tokens |
| Output price | Free |
| Total context | 65,536 tokens |
| Latency | Not published as of 20 Oct 2026 |
| Rate limit | Not published on the Workers AI model page as of 19 October 2026. |
| SDKs | None listed |
| Licence | Not published as of 20 Oct 2026 |
| TSA checkpoint forecast (Cloudflare), Mean error | 3.3 %vendor-run19 Oct 2026 |
| TSA checkpoint forecast (Cloudflare), Days inside the 80% interval | 17 of 21vendor-run19 Oct 2026 |
| Claims pipeline (Cloudflare), End-to-end latency | 19.3 svendor-run19 Oct 2026 |
| Claims pipeline (Cloudflare), Extract step latency | 0.46 svendor-run19 Oct 2026 |
| Claims pipeline (Cloudflare), Cost per million claims | 6032 USDvendor-run19 Oct 2026 |
| Docs and console | developers.cloudflare.com |
The short answer
GLiNER finds things in text. Ask it for an invoice number, a person and an amount, and it returns each as a span: the exact characters, their offsets and a score. Clairic returns values. It reads the same invoice and returns the invoice number as a span, the total as a number, and the due date as an ISO date, even when the total and the due date appear nowhere in the text and have to be worked out.
The other split is hosting. GLiNER and GLiNER2 are Apache 2.0 weights you run on your own CPU. Clairic is a hosted preview on Cloudflare’s Workers AI, at $0.10 per million input tokens. Cloudflare says open weights are coming, with no date or licence as of 20 October 2026.
Clairic vs GLiNER at a glance
| Clairic | GLiNER | GLiNER2 | |
|---|---|---|---|
| Maker | Cloudflare | Urchade Zaratiana and co-authors | Fastino Labs |
| What you send | Text plus up to 4 images, and named, typed fields with plain-language instructions | Text and a list of entity labels | Text and a schema: entity labels, classification tasks, or JSON fields |
| What comes back | A typed value per field: span, number, date, time, datetime, duration, list, estimate or forecast | Spans with start, end, text, label and score |
Strings or lists of strings, with optional confidence and character offsets |
| Computes values the text does not state | Yes, one or two steps in Cloudflare’s words | No | No; numbers and dates come back as the source text, such as '$1199' |
| Missing values | null, with p_null and a guess |
The span is not returned when its score is under the threshold (0.5 by default) | Same threshold approach; no null probability documented |
| Estimates and forecasts | Distribution with median and 80% interval | No | No |
| Licence and weights | Hosted only for now; weights promised, no date or licence | Apache 2.0 (v2 and v2.1 checkpoints) | Apache 2.0 |
| Model size | Not published | 209M for gliner_multi-v2.1 per its card, 459M for gliner_large-v2.1 |
205M base and 340M large per the README |
| Context | 65,536 tokens; fields split across 8,192-token passes | 384 word-level tokens by default, longer text truncated | 384-token chunks with 64 overlap in the long-document helper |
| Hosted price | $0.10 per million input tokens, output free | None; your hardware | Your hardware, or Fastino’s API at $0.03 per million input tokens, output free |
| Speed | 0.46 s for one extract step in Cloudflare’s own pipeline test | Relative only: up to about 1.5x from torch.compile, 1.9x with FP16 |
130 to 208 ms on CPU in the GLiNER2 paper, by its authors |
Sources: the Workers AI Clairic page and Cloudflare’s launch post; the GLiNER README, usage docs and Hugging Face cards; the GLiNER2 README, JSON tutorial and paper; Fastino’s pricing page. All checked 20 October 2026. Every speed figure is vendor-run.
What GLiNER returns
GLiNER is a small bidirectional encoder for named entity recognition (NER, finding names, places, amounts and other typed phrases in text). You give it labels at run time, so it needs no training on your schema. The usage docs list each result as a dict with start, end, text, label and a score between 0 and 1. A span below the threshold, 0.5 by default, is dropped. By default spans cannot overlap and each gets one label; flat_ner=False and multi_label=True change that.
The original uni-encoder handles up to about 50 entity types, per the README, and a bi-encoder variant scales further. Input is capped at 384 word-level tokens by default. Longer text is cut, so long documents need the sliding-window recipe in the docs. The README now points schema extraction and classification at GLiNER2.
What GLiNER2 adds
GLiNER2, from Fastino Labs, runs entity extraction, classification, relation extraction and structured JSON extraction from one schema-conditioned encoder. Its extract_json call takes fields written as "name::type::description". The tutorial shows two types, str and list, and an untyped field defaults to a list. Every example returns values as text copied from the input: a price comes back as '$1199' and a date as 'March 15, 2024'. Confidence and character offsets are optional per field.
That is the closest any GLiNER gets to Clairic’s request. It still returns strings from the input. Parsing '$1199' into a number, or adding tax to it, is your code’s job.
What Clairic returns
Clairic takes a state and a map of fields. Each field has a type and optional instructions. Cloudflare’s support-email example shows the difference from a span model in one response:
order_id, atextfield, comes back as “A-88412” with its span.amount_paid, anumberfield, comes back as 701.1. The email says “$649.00 plus $52.10 tax”. Clairic added them.days_since_delivery, aduration, comes back as 11, worked out from two dates in the text.tracking_numberis not in the email. It comes backnullwith ap_nullof 1.
Every scalar answer carries p_null, the probability that the value is not in the input, plus confidence and guess. Text answers carry a span with offsets, which GLiNER users will recognise. Estimates and forecasts return a median and an interval from p10 to p90. The extraction model guide covers each type.
Null handling
The two families treat a missing value differently, and this decides a lot of pipeline code.
GLiNER and GLiNER2 return what clears the threshold. If no span scores above 0.5, the field is empty. You cannot tell from the output whether the value was absent or present and missed, and no separate “no answer” probability is documented in either README.
Clairic answers that question directly. p_null is the model’s probability that the value is not there, and null_threshold sets where a field flips to null (0.5 by default). guess still shows the value it would have picked. Cloudflare’s docs add a fair warning: a null can mean the information is missing “or the model may have failed to identify it”.
Price and hosting
GLiNER costs nothing to license. You pay for the machine, and the text never leaves your network. The README calls it “optimized to run on CPUs and consumer hardware”, and GLiNER2’s says “CPU first”. Fastino also hosts GLiNER2 at $0.03 per million input tokens with free output, per its pricing page on 20 October 2026, though its API notes say it “uses the default GLiNER2 model”.
Clairic is hosted only, at $0.10 per million input tokens with free output. The input bill includes your field definitions. In the invoice example on the Workers AI page, those took 472 of the 655 input tokens. Cloudflare’s model terms say it “may cease providing it”, which matters for a preview. If your data cannot leave your network, Clairic is out until the weights ship.
Speed
No one has published a head-to-head run. The figures that exist are each vendor’s own.
- Clairic: Cloudflare says it and Clef “typically respond in under a second”. In its claims-pipeline test the extract step took 0.46 s, against 16.1 s for GLM-5.3 on the same step.
- GLiNER: The README gives speedups only: up to about 1.5x from
torch.compile, and about 1.9x on GPU with FP16 plus compilation. - GLiNER2: The paper reports CPU latency from 130 ms with 5 labels to 208 ms with 50, against 358 to 463 ms for GPT-4o through its API. The paper does not name the CPU in the text checked.
A local GLiNER call skips the network round trip that any hosted model pays. Time both from where your code runs.
Languages and images
gliner_multi-v2.1 is a multilingual checkpoint, and the README claims “100+ languages” for its PII models. GLiNER2 has a multilingual variant, gliner2-multi-v1. Cloudflare has not published a language list for Clairic as of 20 October 2026.
Clairic reads images. A request can carry up to four PNG, JPEG or WebP images, and Cloudflare’s launch post pulls a receipt’s order number, time, subtotal and tip from a photo. GLiNER and GLiNER2 read text only, so a scanned document needs OCR first.
Using them together
The two fit one pipeline when the documents are long or private. GLiNER runs locally and cheaply over everything, finding the passages that mention an amount, a date or a party. Only those passages go to Clairic, which turns them into typed values, computes the totals and flags what is missing with p_null.
They also fit in the opposite order for a check. Clairic returns a span for each text field. GLiNER, run over the same input, gives a second opinion on the same spans at no extra API cost. Where the two disagree, send the record to review.
When to use which
- You need offsets and labels for entities. GLiNER. It is built for NER and runs on a CPU.
- The data cannot leave your network. GLiNER or GLiNER2 today. Clairic later, if its weights ship under a usable licence.
- You need a schema of strings pulled from text, on your own hardware. GLiNER2’s
extract_json. - You need numbers, dates and durations as typed values, or values the text implies but does not state. Clairic.
- You need to know when a field is missing, with a probability. Clairic’s
p_null. - You need an estimate or forecast with an interval. Clairic, within the limits Cloudflare states.
- The input is a photo or scan. Clairic, or OCR in front of GLiNER.
- You need an independent benchmark before you commit. Neither has one for this task. Test on your own documents.
FAQ
Is Clairic better than GLiNER?
They solve different problems. GLiNER finds spans and labels them, runs on your own CPU and costs nothing to license. Clairic returns typed values, computes totals and dates, and reports when a field is missing. No independent benchmark compares them. If you need only spans, GLiNER is the cheaper and more private choice.
Can GLiNER compute a total or a due date?
No. GLiNER and GLiNER2 return text from the input. If the invoice states a subtotal and tax but no total, neither model will add them. GLiNER2’s JSON extraction returns a price as a string such as '$1199'. Clairic computes one- and two-step values, such as a price plus tax, in the same pass that reads them.
Is GLiNER free?
The weights are. GLiNER’s v2 and v2.1 checkpoints and GLiNER2 are Apache 2.0 on Hugging Face, so you can run them commercially on your own hardware. Older GLiNER v0 and v1 checkpoints were CC BY-NC 4.0, per the v2.1 card. Fastino’s hosted GLiNER2 API costs $0.03 per million input tokens.
Does Clairic have open weights like GLiNER?
Not yet. Cloudflare says it intends to release Clairic’s weights openly soon, after more work on the model. No date or licence had been given as of 20 October 2026. Until then Clairic runs only on Workers AI, at $0.10 per million input tokens.
Does Clairic return spans like GLiNER?
For text and list fields, yes. Each comes back with its character offsets in the input, so you can highlight the source. Number, date and duration fields return a typed value instead, because the value may be computed rather than copied. GLiNER returns a span for every result.
Which is faster, Clairic or GLiNER?
There is no head-to-head test. The GLiNER2 paper reports 130 to 208 ms on CPU, run by its authors. Cloudflare reports 0.46 s for one Clairic extract step in its own pipeline. A local GLiNER call also skips the network. Measure both on your own documents and hardware.
Examples
GLiNER: generalist lightweight NER
Compact encoder model that takes the label set as input at inference time and extracts arbitrary entity types zero-shot on CPU. Same classifier-that-takes-its-categories-as-input shape, for extraction rather than decisions. Star count is GitHub's rounded display figure.

Introducing Clairic, a new System One class of extraction models
Cloudflare's launch post for Clairic, a preview extraction model on Workers AI that returns typed values such as spans, numbers, dates, estimates and forecasts with probabilities. It sets out extraction as a second System One class beside decision models and gives Cloudflare's own forecast and claims-pipeline results.

Cascade vs. one LLM: Clairic, Clef and an LLM on Workers AI
Cloudflare's live demo, linked from the Clairic launch post, that sets a cascade of Clairic, Clef and an LLM on Workers AI against a single LLM. Co-author Michelle Chen's X thread says it shows the cascade 3.5x faster and 77% cheaper; the blog's own table gives about 3.2x and 49%. The demo lets you pick the LLM and its reasoning level. All figures are vendor-run.