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
Structured outputs ask a language model to write JSON that matches your schema. OpenAI, Anthropic and Google all offer it. The model still writes the answer one token at a time, and you pay for every token it writes. Clairic fills the same kind of fields in a single pass and writes nothing, so it has no output bill. When a value is missing it returns null with a probability, instead of a value that fits the schema but is not in the text.
The list prices are closer than the pitch suggests. Clairic’s $0.10 per million input tokens matches the input price of GPT-6 Luna and Claude Haiku 5.5. The saving comes from output tokens and from time. Where the job needs reasoning across many steps, nested objects or written text, an LLM is still the tool, and Cloudflare’s launch post says as much.
Clairic vs structured outputs at a glance
| Clairic | LLM structured outputs (OpenAI, Claude, Gemini) | |
|---|---|---|
| How the answer is made | One parallel pass, no generated tokens | Generated token by token, with decoding constrained to your schema |
| Feature name | fields on @cf/cloudflare/clairic |
OpenAI: Structured Outputs (text.format or response_format with json_schema, strict: true). Claude: JSON outputs (output_config.format) and strict tool use. Gemini: response_format with mime_type application/json and a schema |
| Output types | text span, number, date, time, datetime, duration, list, estimate, forecast | Any JSON your schema allows, including nested objects and free text |
| Billing | Input only, $0.10 per million tokens; the field definitions count as input | Input plus output tokens; Claude adds a system prompt that raises input tokens |
| Missing values | null, with p_null and a guess |
Whatever the model writes; nullable fields must be declared, and OpenAI warns of hallucinations when the input does not fit the schema |
| Confidence | confidence per answer, p_null, and intervals for estimates |
No per-field confidence; OpenAI and Gemini have token log probabilities, Claude’s docs list none |
| Computed values | One or two steps, in one pass | Any number of steps, if the model reasons first (and bills those tokens) |
| Limits | No cap on fields; 65,536-token context | OpenAI: 5,000 properties, 10 levels of nesting. Claude: 24 optional parameters and 16 union types per request. Gemini: a subset of JSON Schema |
| Status | Preview, hosted on Workers AI only | Generally available |
Sources: the Workers AI Clairic page and concepts page, Cloudflare’s launch post, and the structured output and pricing pages of OpenAI, Anthropic and Google, all checked 20 October 2026.
How each one fills a field
An LLM with structured outputs writes JSON. Each provider masks the tokens at every step so the result fits the schema. Anthropic says its version works “through constrained decoding”. The structured outputs entry covers the method. The answer is valid JSON of the right shape, but the model chose each value by writing it, so a value can be wrong, or invented, and still pass.
Clairic does not write. You send a state and a map of typed fields, and it returns one answer per field from a single forward pass. A number field comes back as a number that follows your decimals setting. A text field comes back as a span of the input, with offsets you can check. Cloudflare’s docs are careful on what that buys: “Typed results provide a predictable structure but do not guarantee correctness.”
Cost per call
Clairic bills input only. The bill covers the text, any images and your field definitions. In the invoice example on the Workers AI page, six field definitions took 472 of the 655 input tokens and the response reported 0 output tokens. That call costs $0.0000655, or $65.50 per million invoices. Cloudflare says thirty fields cost about the same as three, because they are answered in the same pass. Long instructions still add to the input.
An LLM bills both sides. To compare, take the same 655 input tokens and assume the JSON answer runs to 150 output tokens. That figure is an illustration, not a measurement. Each provider counts tokens differently, and any reasoning tokens bill as output on top.
| Model | Input $/M | Output $/M | Per million calls at 655 in, 150 out |
|---|---|---|---|
| Clairic | $0.10 | Free | $65.50 |
| Gemini 2.5 Flash-Lite | $0.10 | $0.40 | $125.50 |
| GPT-6 Luna | $0.10 | $0.50 | $140.50 |
| Claude Haiku 5.5 (prompts up to 100,000 tokens) | $0.10 | $0.50 | $140.50 |
| Gemini 3.8 Flash (price through 31 December 2026) | $0.75 | $3.75 | $1,053.75 |
| Claude Sonnet 5.5 | $2.00 | $10.00 | $2,810.00 |
| GPT-5.6 Terra | $2.00 | $12.00 | $3,110.00 |
Standard list prices from each provider’s pricing page, checked 20 October 2026. Gemini 3.8 Flash rises to $1.50 input and $7.50 output on 1 January 2027. OpenAI and Anthropic both sell batch processing at half price.
Two costs sit outside the table. Anthropic says structured outputs add a system prompt, so “your input token count is slightly higher”, and gives no figure for it. On the Clairic side, the schema you would have put in the prompt anyway is billed the same way, as input.
At the cheapest tier, Clairic costs about half as much per call. Against mid-tier models the gap is 16 to 48 times. The bigger difference in a real pipeline is often what you no longer build: retries for invalid JSON, a second pass to check values, and parsing of numbers written as strings.
Latency
None of the three LLM providers publishes a latency figure for a structured-output call. OpenAI says the first request with a new schema has “additional latency as our API processes the schema”. Anthropic caches compiled schemas for 24 hours from last use.
Cloudflare’s one measured comparison is its own. In a claims pipeline, the extract step took 0.46 s with Clairic against 16.1 s with GLM-5.3 doing the same step. Cloudflare says Clairic “typically” responds in under a second. GLM-5.3 runs on Workers AI as @cf/zai-org/glm-5.3 and is not one of the three providers above, and nobody outside Cloudflare has repeated the test. Time it on your own documents.
Null handling
This is where the two differ most.
OpenAI’s Structured Outputs require every field to be listed as required. The guide says optional fields can be emulated “by using a union type with null”, and warns: “The model will always try to adhere to the provided schema, which can result in hallucinations if the input is completely unrelated to the schema.” Gemini lets you mark a field nullable and tells you to “always validate values in your application”. Anthropic’s page says nothing either way about missing information.
In each case the model decides whether to write null, and you get no number for how sure it was.
Clairic returns p_null on every scalar answer: the probability that the value is not in the input. Above a threshold, 0.5 by default and settable per field, value is null. guess still shows what the model would have picked. In Cloudflare’s support-email example, tracking_number is not in the email, so it comes back null with a p_null of 1. An LLM asked for the same field could write a plausible-looking tracking number. Cloudflare’s docs add their own caveat: a null can also mean “the model may have failed to identify it”.
Computed values
Both can compute, but they pay for it differently.
Clairic computes in the same pass that reads. Its support-email example returns amount_paid as 701.1 from “$649.00 plus $52.10 tax”, and days_since_delivery as 11 from two dates. Cloudflare calls one- and two-step calculations of this kind reliable. It also says longer chains are not, and advises: “have Clairic predict the value and let code do the math.”
An LLM can work through a long calculation if you let it reason first. That costs output tokens and time, and the reasoning then has to fit around the schema. For an invoice total it is often simpler to extract the line items with either tool and add them in code.
Confidence and calibration
Clairic returns confidence on each answer, plus p_null, and estimates come with a median and an 80% interval. Cloudflare says the intervals are trained to be calibrated and are on most held-out sets, but “calibration is measured, not guaranteed”, and they can run narrow on unfamiliar data. No independent test of Clairic’s calibration exists as of 20 October 2026.
LLM structured outputs return no confidence per field. What exists is token-level:
- OpenAI offers
logprobsandtop_logprobsin its Chat Completions API, the probability of each token the model wrote. The Structured Outputs guide does not say whether the two can be combined. - Gemini has a
responseLogprobssetting in its generateContent API, with up to 20 top candidates per decoding step. The structured output guide does not mention it. - Claude lists no log probabilities in its Messages API docs, checked 20 October 2026.
A token probability is a probability over wording. For a field like total: 1080, it tells you how likely each digit was, given the ones before. It is not the probability that the total is right, or that a total exists. The Jev vs GPT page goes further into the gap.
Where an LLM still wins
Cloudflare lists most of these itself in its launch post.
- Long chains of dependent steps: Cloudflare says “Longer chains of dependent steps are hard for any one-pass model without a scratchpad.”
- Totals across many rows of a table: Cloudflare adds that “the same goes for aggregating across many rows of a table.”
- Written text: a summary, a reason or a reply is free text, which Clairic does not produce. Cloudflare’s own pipeline hands the reply to an LLM.
- Nested or open-ended JSON: Clairic’s documented types are nine flat field types, with lists of text, numbers or dates. A schema of nested objects, such as an array of line items each with five properties, fits an LLM’s structured output and not Clairic’s fields as documented on 20 October 2026.
- Long inputs: Clairic’s context is 65,536 tokens. Current LLMs read far more.
- Production status: Clairic is a preview, and Cloudflare’s terms say it “may cease providing it”. The three LLM features are generally available.
Using them together
Cloudflare’s own pattern is a cascade: Clairic extracts the values, a decision model decides on them, and an LLM writes the reply from the decision. In its claims test, that took 19.3 s end to end against 61.7 s with one LLM doing every step, and cost $6,032 against $11,740 per million claims. These are Cloudflare’s figures. The Clef vs Clairic page has the full table.
A simpler split works for document pipelines. Send every document to Clairic. Accept the fields with low p_null and high confidence. Send only the rest, or the records with long calculations, to an LLM with structured outputs.
When to use which
- The same fields from many short documents: Clairic. No output bill, and every field comes back in one pass.
- You need to know when a value is missing: Clairic’s
p_null, rather than a model choosing whether to write null. - Values one or two steps from the text, such as totals with tax or days between dates: Clairic.
- Long calculations or totals across many rows: An LLM, or code over values either tool extracted.
- Nested JSON, free-text fields, or inputs over 65,536 tokens: An LLM with structured outputs.
- You need a generally available service with no preview terms: An LLM, for now.
FAQ
Is Clairic cheaper than GPT structured outputs?
Per call, yes. Clairic charges $0.10 per million input tokens and nothing for output. GPT-6 Luna charges the same for input and $0.50 per million output tokens, and GPT-5.6 Terra $2.00 and $12.00. The cheapest LLMs cost roughly twice as much per call in the example on this page. Mid-tier models cost 16 to 48 times as much.
Does Clairic hallucinate?
It can be wrong, but it cannot write a value of the wrong type, and it reports missing values as null with a probability. Cloudflare says Clairic “can’t produce a mistyped answer or ‘hallucinate’ in the same way as an LLM (though it can, of course, make mistakes)”. Its docs add that “typed output does not guarantee correctness”. Check confidence and p_null before acting.
Is Clairic the same as JSON mode?
No. JSON mode makes an LLM write valid JSON. OpenAI says it does not guarantee your schema, and that Structured Outputs is “the evolution of JSON mode”. Clairic writes no JSON text at all. It returns a typed value per field from one pass, and the response arrives as JSON because that is how the API answers.
Do I pay for the schema in Clairic?
Yes. Field definitions are billed as input tokens. In the invoice example on the Workers AI page, they took 472 of the 655 input tokens. The response reports them separately as schema_tokens, so you can see what your field definitions cost. Short field names and instructions keep the bill down.
When should I still use an LLM for extraction?
When the job needs long calculations, totals across many table rows, nested objects, free-text fields or inputs longer than 65,536 tokens. Cloudflare’s own launch post says multi-step arithmetic is not yet reliable in Clairic and advises letting code do the maths. An LLM is also the safer choice if you need a generally available service today.
Can Clairic replace OpenAI structured outputs?
For flat, repeated extraction, often. Fields such as totals, dates, durations and names from emails, invoices and receipts are what it is built for. It cannot return nested objects or written text, and it is a preview. Run both on a labelled sample of your own documents before switching.
Examples
Jev means structured output is interesting again
Argues Jev's speed comes mainly from constrained single-token generation and aggressive prefill, techniques reproducible with existing LLMs, rather than a new architecture. Still treats very fast structured output as a new primitive, while doubting Jev matches frontier models on raw intelligence.

Outlines: structured outputs for LLMs
Guarantees valid structured output during generation by constraining decoding to a grammar or schema. The mechanism HN commenters repeatedly cited as already covering Jev's cannot-produce-a-type-error guarantee on ordinary LLMs. 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.