Cloudflare announced Clairic on October 19, 2026, as the first System One extraction model available in preview on Workers AI. Clairic extracts, computes, estimates, and forecasts typed values from unstructured text and images, returning confidence scores and prediction intervals. The model charges $0.10 per million input tokens with no output-token cost.
What Clairic can extract
Clairic handles four kinds of tasks. Extraction identifies values explicitly present in the input, such as an invoice number or delivery date. Computation derives values from input facts, such as calculating days between two dates. Estimation predicts unknown values the input provides evidence for, returning a distribution with a median and 80% interval. Forecasting extends a time series, producing one prediction per future step, each with its own interval.
It returns typed results: text spans with character offsets, numbers, dates, times, durations, lists, and distributions. Text, number, date, time, and duration answers include p_null (the probability the value isn't in the input) and a confidence score. Lists can return empty when no matching values are found. Missing values return null instead of a guess. Estimates and forecasts return predictions even when the input provides little information, so the width of the interval reflects data confidence: narrow ranges signal high certainty in the model's prediction, while wide ranges indicate low certainty.
Clairic is in preview, and Cloudflare plans to release it as an open-weights model. The model runs on Workers AI at @cf/cloudflare/clairic.
Make a first extraction request
A Clairic request combines state (the text or images to read) with a fields map. Each field declares a name, type, and optional instructions. The model processes fields in parallel and returns one answer per field. When fields don't fit in one 8,192-token pass, Cloudflare splits them across parallel passes, each seeing the full input.
From a Cloudflare Worker with an AI binding, configure the binding in wrangler.toml:
[
ai]
binding = "AI"Then call the model:
const { answers } = await env.AI.run("@cf/cloudflare/clairic", {
state: "Invoice INV-2291 from Northwind Supply, issued 2026-09-02, net 30. 4 pallets at $250.00 each, shipping $80.00. Contact: Dana Ruiz, Priya Shah.",
fields: {
invoice_number: { type: "text" },
due_date: {
type: "date",
instructions: "Issue date plus the net payment days"
},
total: {
type: "number",
decimals: 2,
unit: "USD",
instructions: "Amount due including shipping"
},
contacts: { type: "list", items: "text" },
po_number: { type: "text", instructions: "Purchase order number" }
}
});Over HTTP, replace $CLOUDFLARE_ACCOUNT_ID with your Cloudflare account ID and $CLOUDFLARE_AUTH_TOKEN with a bearer token:
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/cloudflare/clairic \
-X POST \
-H "Authorization: Bearer $CLOUDFLARE_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "clairic",
"state": "Invoice INV-2291 from Northwind Supply, issued 2026-09-02, net 30. 4 pallets at $250.00 each, shipping $80.00. Contact: Dana Ruiz, Priya Shah.",
"fields": {
"invoice_number": { "type": "text" },
"due_date": { "type": "date", "instructions": "Issue date plus the net payment days" },
"total": { "type": "number", "decimals": 2, "unit": "USD", "instructions": "Amount due including shipping" },
"contacts": { "type": "list", "items": "text" },
"po_number": { "type": "text", "instructions": "Purchase order number" }
}
}'According to Cloudflare's model documentation, this invoice request returns invoice_number as "INV-2291" with a span showing its position in the input, due_date as "2026-10-02" (computed from the issue date and net-30 term), total as 1080, contacts as a list ["Dana Ruiz", "Priya Shah"] with spans, and po_number as null with p_null: 1 because no PO number appears in the invoice.
Validate the structured result
Typed output does not guarantee correctness. A result satisfies its declared type and constraints but can still answer the question incorrectly. The model can misread a digit, extract the wrong span, or produce an estimate from insufficient evidence.
Check confidence scores and p_null before using extracted values in application logic. Low confidence signals that the model's answer is uncertain. A p_null near 1 indicates the input probably doesn't contain the requested value. For estimates, the width of the 80% interval shows how much certainty the model expresses in its prediction: narrow ranges reflect the model's high certainty, wide ranges reflect low certainty. These intervals express the model's predicted spread, not demonstrated accuracy or calibrated coverage on your data.
Decide safeguards based on the consequences of an incorrect result. Displaying an estimated payment date may require fewer checks than authorizing a payment from an extracted amount. Before consequential or irreversible actions, verify results against other evidence or require human review.
Assess fit before integration
Clairic's 65,536-token context window handles text and images together. The model accepts images, so it can read scanned documents and photos. Vision support lets you extract values from receipts and forms.
Pricing is $0.10 per million input tokens, with no charge for output tokens. The cost covers the state text, embedded images (converted to tokens), and the schema describing your fields.
Clairic is in preview. The model is available on an "AS IS" and "AS AVAILABLE" basis. Cloudflare may cease providing it without refund, credit, or other compensation. The sources provide no measured accuracy, missing-field rate, formatting consistency, or testing threshold for your own data, and no guaranteed latency or availability level.
Compare Clairic's preview status, context window, vision support, and unit price with your workflow's requirements.
Test your own documents and verify the results
Run Clairic on a sample of your actual invoices, receipts, or emails. Define fields that match the values your application needs, then compare each returned value against the source document. Check which answers are correct, which are wrong, and which return null when the value is present. Calculate the accuracy rate and missing-field rate for your data, and decide whether the results meet your workflow's requirements before integrating Clairic into production.
Verification status: Supported by official documentation only under the conditions below; not reproduced in a test environment by IGPROD. Checked 2026-10-19.
Conditions:
- Clairic is in preview.
- HTTP examples require a Cloudflare account ID and bearer token; Worker examples use an AI binding.
- A request requires at least one typed field and either nonempty state text or images.
- Images must be embedded PNG, JPEG, or WebP; at most four are allowed, with the documented size limits.
- Confidence scores and prediction intervals do not replace application-level checks.
Related guides
- Granite Switch: how its AI adapters work and how to try it: another way to adapt one model to several jobs.
Sources:
