models

Cloudflare: Clef Flash

Markdown · JSON

Cloudflare: Clef Flash

Cloudflare Clef Flash is the smaller 9B Clef decision model, designed for quick classification and workflow choices. It evaluates text, structured state and visual inputs against named questions, returning per-option probabilities, a selected category or an ordered score without generating prose.

About the model

This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.

Cloudflare Clef Flash is the smaller decision model in the Clef family, built by post-training Qwen3.5-9B with its vision encoder. A joint schema head reads evidence from the input and scores the allowed answers for every requested question in a single forward pass. Its role is to produce bounded classifications and decisions in a workflow. The output is a typed result with probabilities, rather than a conversational answer that an application must interpret as a category.

Describe the situation in a text or JSON state and define the questions separately. A question needs a stable name, a type and a clear instruction; category or score questions also define their allowed criteria. For a support message, one question can classify the issue, another can assess urgency, and another can identify whether the record lacks information needed for the next step. Keep the actual customer wording, relevant history and operating rules in the state so the decision is tied to evidence.

The three question types answer different needs. A noul result is the probability that a true/false condition holds. A choice result identifies one named option and includes probabilities across the alternatives plus a confidence value. A score result evaluates ordered criteria and returns their probability-weighted score, legend and distribution. Define the order of a score deliberately: moving from “No action needed” to “Immediate review” is different from an unordered set of topic labels.

For quick routing, describe categories using the actions or responsibility boundaries that actually distinguish them. A useful example is a request with choices for account access, technical fault, documentation question and other, with each option explained. The model’s result can be passed to an application’s routing rule. A close distribution between technical fault and account access is useful evidence of ambiguity; decide explicitly how the workflow treats such cases instead of assuming the selected label is a confirmed diagnosis.

For visual classification, supply a readable image and a condition the image can support. A receipt review might ask whether the total is legible and choose among defined document-quality categories. It should not request an arbitrary new total as though the model were an unrestricted extraction or writing service. The maker’s open-weight interface also accepts video frame arrays. Preserve the connection between the frames and the written state, and ask about visible events or conditions within that material.

The current manufacturer hosted reference lists a 24,576-token context, up to 64 questions and up to four embedded images. Its PNG, JPEG or WebP images are limited to 4 MiB and 16 megapixels each, with 8 MiB total decoded; the whole request body is limited to 13 MiB, and remote image links are not accepted. Question definitions and media consume input space, and long text may be truncated to fit. Put decisive evidence in a compact state. Cloudflare documents that reducing the hosted context did not change the released weights, so the hosted window and open-weight configuration remain distinct.

The model’s constrained output makes it useful for repeated policy or workflow checks. For example, define separate questions asking whether a record meets the stated completeness rules and which follow-up category applies. Keep the criteria explicit and include an option for cases the categories do not cover when that is part of the workflow design. The probabilities score the supplied options; they do not establish that the options form a complete description of every real situation.

Retain the state, the schema and the returned answer together. When a result is surprising, inspect whether a criterion is ambiguous, whether decisive input was missing, or whether relevant text was cut off. Compare model assessments with reviewed cases from the actual task before choosing automated-action thresholds. Clef Flash’s smaller-model and fast-decision positioning does not replace checking the cost of an incorrect routing decision for the workflow.

Use the typed result as input to the next application step. The model does not execute that step or write its eventual explanation. If the user needs a report, keep the decision and source evidence available to a separate writing process. The useful artifact from Clef Flash is an inspectable answer for each named question, with the probability information needed to apply the workflow’s rules.

Ailoot Ultra · System One POST /v1/systemone cloudflare/clef-flash

cloudflare/clef-flash

Cloudflare /cloudflare/clef-flash

Overview

Cloudflare Clef Flash is the smaller 9B Clef decision model, designed for quick classification and workflow choices. It evaluates text, structured state and visual inputs against named questions, returning per-option probabilities, a selected category or an ordered score without generating prose.

Accepted inputs
Text · Images
Results
decisions

Available in Ailoot · inputs & methods

Ailoot Ultra · System One POST /v1/systemone
Input types
text, image
Output types
decisions
Output format
json
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
cloudflare/clef-flash
Default—
FieldproviderTypeschemaRequirementOptionalValues & limitsDefault—
FieldquestionsTypeobjectRequirementRequiredValues & limitsDefault—
Fieldsession_idTypestringRequirementOptionalValues & limitsDefault—
FieldstateTypeschemaRequirementRequiredValues & limitsDefault—
FieldtraceTypeschemaRequirementOptionalValues & limitsDefault—
FielduserTypestringRequirementOptionalValues & limitsDefault—
Fieldquestions.<id>.typeTypestringRequirementRequiredValues & limits
noul, choice, score
Default—
Fieldquestions.<id>.instructionsTypestring|object|arrayRequirementRequiredValues & limitsDefault—
Fieldquestions.<id>.criteriaTypeobject|arrayRequirementOptionalValues & limits
Conditions: choice/score: required; noul: optional. choice criteria is object; score is array with minItems1.
Default—
Fieldquestions.<id>.criteria.trueTypestring|object|arrayRequirementRequiredValues & limits
Applies when: noul criteria object supplied
Default—
Fieldquestions.<id>.criteria.falseTypestring|object|arrayRequirementRequiredValues & limits
Applies when: noul criteria object supplied
Default—
Input material combinations

noul · Required: state, questions.<id>.type=noul, questions.<id>.instructions

choice · Required: state, questions.<id>.type=choice, questions.<id>.instructions, criteria object

score · Required: state, questions.<id>.type=score, questions.<id>.instructions, criteria array with minItems1

Method parameters and lifecycle
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, state, questions
Parametermaterial_typesContracttext, image
Parameteroptional_controlsContractprovider, session_id, trace, user
Parametermultimodal_input_bindingContractUse only exact declared state/document representation. Manufacturer image capability alone does not establish a model-specific accepted image carrier.

Lifecycle: synchronous

Send the exact model ID and retain the complete native response.

Pricing

Tariff references do not add request options. Supported parameters are listed for the selected method.

Fast mode
Not specified When fast mode is selected
Flex mode
Not specified When flex mode is selected
Maximum reasoning effort
Not specified When maximum reasoning effort uses the default adjustment

Ailoot rates

Prices by configuration

Match each charge to the conditions shown. Use one rate for each set of alternative configurations.

ConfigurationRate scheduleContext tokens, more thanContext tokens, up to and includingCharge
ConfigurationBase token ratesRate scheduleBase rateContext tokens, more than—Context tokens, up to and includingNo upper boundCharge
Input · Input tokens $0.000076 / 1K tokens
Output · Output tokens $0 / 1K tokens
Input · Cache read — / 1K tokens
Input · Cache write — / 1K tokens
Input · Cache write, 1 hour — / 1K tokens
ConfigurationRequest-length tier 1Rate schedule—Context tokens, more than0Context tokens, up to and includingNo upper boundCharge
Input · Input tokens $0.000076 / 1K tokens
Output · Output tokens $0 / 1K tokens
Input · Cache read — / 1K tokens
Input · Cache write — / 1K tokens
Input · Cache write, 1 hour — / 1K tokens

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →

Example requests

Ailoot Ultra · System One

Retained official request structure; documentary exampleUse your actual request material and retain the complete result
{
  "model": "cloudflare/clef-flash",
  "questions": {
    "is_bug": {
      "criteria": {
        "false": "The customer is asking a question or requesting a feature.",
        "true": "The customer describes broken or unexpected product behavior."
      },
      "instructions": "Is the customer reporting a software defect?",
      "type": "noul"
    },
    "team": {
      "criteria": {
        "account": "Login, permissions, or profile issues.",
        "frontend": "Rendering, layout, or browser compatibility issues.",
        "payments": "Checkout, billing, or payment processing issues."
      },
      "instructions": "Which team should own this ticket?",
      "type": "choice"
    },
    "urgency": {
      "criteria": [
        "Can wait for the next release",
        "Should be fixed this week",
        "Blocking revenue right now"
      ],
      "instructions": "How urgent is this ticket?",
      "type": "score"
    }
  },
  "state": {
    "customer_tier": "enterprise",
    "ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers."
  }
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='cloudflare/clef-flash'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT

Receive and save results

Ailoot Ultra · System One

json

Keep all completed results

Keep every complete returned response, file and content part.

Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.

If the original response needs checking

Preserve original operation and full/partial reply; do not replay POST.

Response fields
FieldType
FieldmodelTypestring
FieldidTypestring
FieldproviderTypestring
Fieldanswers.<id>.typeTypestring
Fieldanswers.<id>.noulTypenumber
Fieldanswers.<id>.choiceTypestring
Fieldanswers.<id>.scoreTypenumber
Fieldanswers.<id>.confidenceTypenumber
Fieldanswers.<id>.probabilitiesTypeobject
Fieldanswers.<id>.legendTypeobject
Fieldusage.input_tokensTypeinteger
Fieldusage.output_tokensTypeinteger
Fieldusage.costTypenumber
Errors and next steps
ResponseConditionNext step
Response400 · invalid_request_errorConditionInvalid required field, representation or valueNext stepCorrect the indicated request field.

Aliases

Model aliases

Ailoot Ultra cloudflare/clef-flash

Method path aliases

Use the method paths shown above.

Related caller IDs

cloudflare/clef-flash

FAQ · Cloudflare: Clef Flash
What inputs and results are available?

POST /v1/systemone · cloudflare/clef-flash: text, image → decisions

Which fields does the request use?

POST /v1/systemone · cloudflare/clef-flash: model, provider, questions, session_id, state, trace, user

More details

Connect Ailoot to Claude Code, OpenCode, Hermes or your own app.

The company and its project portfolio

The company and its project portfolio: millions of customers; monthly sales in the billions.

Buy tokens at a discount.

Subscription discounts for regular use. Promo codes offer up to 50% off token purchases.

Subscription
Choose a discounted plan for your regular requests.
Promo code: up to 50% off
Enter your code at checkout. The price updates to reflect the current promotion.
Spending in your history
The model, tokens and amount are recorded for each request.

Choose a subscription · View model prices

Connect the API to a product you sell.

Use Ailoot in SaaS, apps and bots under its official service offer and licence agreement. Request a reseller licence for resale.

Commercial application
Add text, image, video and audio generation to paid features in your service.
Reseller licence
Send a description of your project and how you provide access. Request written terms for use and resale.
Documents on the website
The service offer, licence agreement and data processing policy are available before you connect.

Request a reseller licence · Service offer and licence agreement