Skip to content
// EFFECT DAYS 2026

CloudflareSchema unstable

Codecs for text and JSON decisions from Cloudflare Clef models.

11 exports Since v4.0.0 Source

Schemas

Answer

unstable
Since v4.0.0

A Clef classification, rating, or probability answer.

Signature

declare const Answer: Union<readonly [Struct<{
readonly choice: String;
readonly confidence: Number;
readonly probabilities: $Record<String, Number>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly confidence: Number;
readonly legend: $Record<String, Codec<Json, Json, never, never>>;
readonly probabilities: $Record<String, Number>;
readonly score: Number;
readonly type: Literal<"score">;
}>, Struct<{
readonly noul: Number;
readonly type: Literal<"noul">;
}>]>
Since v4.0.0

A classification distribution.

Signature

declare const ChoiceAnswer: Struct<{
readonly choice: String;
readonly confidence: Number;
readonly probabilities: $Record<String, Number>;
readonly type: Literal<"choice">;
}>
Since v4.0.0

A classification question.

Signature

declare const ChoiceQuestion: Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"choice">;
}>
Since v4.0.0

A batch of questions about text or JSON state, with optional images shown to the model before the state.

Details

Clef accepts up to 4 images of at most 4 MiB and 16 megapixels each, 8 MiB of decoded images in total, and 13 MiB per request body.

Signature

declare const DecisionsRequest: Struct<{
readonly images: optional<$Array<Union<readonly [String, Struct<{
readonly base64: String;
readonly content_type: Union<readonly [Literals<...>, StringForLiteralAutocomplete]>;
}>]>>>;
readonly model: Union<readonly [Literals<readonly ["clef", "clef-flash"]>, StringForLiteralAutocomplete]>;
readonly questions: $Record<String, Union<readonly [Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [..., ..., ...]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly criteria: $Array<Codec<Json, Json, never, never>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Codec<..., ..., ..., ...>;
readonly true: Codec<..., ..., ..., ...>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"noul">;
}>]>>;
readonly state: Codec<Json, Json, never, never>;
}>
Since v4.0.0

Answers and token usage for a batch.

Signature

declare const DecisionsResponse: Struct<{
readonly answers: $Record<String, Union<readonly [Struct<{
readonly choice: String;
readonly confidence: Number;
readonly probabilities: $Record<String, Number>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly confidence: Number;
readonly legend: $Record<String, Codec<Json, Json, never, never>>;
readonly probabilities: $Record<String, Number>;
readonly score: Number;
readonly type: Literal<"score">;
}>, Struct<{
readonly noul: Number;
readonly type: Literal<"noul">;
}>]>>;
readonly model: String;
readonly usage: Struct<{
readonly input_tokens: Int;
readonly output_tokens: Int;
}>;
}>

Image

unstable
Since v4.0.5

An image as a data: URL or as base64 data with its media type. Clef rejects remote URLs.

Signature

declare const Image: Union<readonly [String, Struct<{
readonly base64: String;
readonly content_type: Union<readonly [Literals<readonly ["image/png", "image/jpeg", "image/webp"]>, StringForLiteralAutocomplete]>;
}>]>

NoulAnswer

unstable
Since v4.0.0

A Bernoulli probability.

Signature

declare const NoulAnswer: Struct<{
readonly noul: Number;
readonly type: Literal<"noul">;
}>
Since v4.0.0

A probability question.

Signature

declare const NoulQuestion: Struct<{
readonly criteria: optional<Struct<{
readonly false: Codec<Json, Json, never, never>;
readonly true: Codec<Json, Json, never, never>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"noul">;
}>

Question

unstable
Since v4.0.0

A Clef question with string, JSON object, or JSON array instructions. Choice descriptions also accept null; Score and Noul descriptions accept any JSON value.

Signature

declare const Question: Union<readonly [Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly criteria: $Array<Codec<Json, Json, never, never>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Codec<Json, Json, never, never>;
readonly true: Codec<Json, Json, never, never>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"noul">;
}>]>

ScoreAnswer

unstable
Since v4.0.0

A zero-based rating and index-keyed distribution. legend maps indices to descriptions.

Signature

declare const ScoreAnswer: Struct<{
readonly confidence: Number;
readonly legend: $Record<String, Codec<Json, Json, never, never>>;
readonly probabilities: $Record<String, Number>;
readonly score: Number;
readonly type: Literal<"score">;
}>
Since v4.0.0

An ordered rating question.

Signature

declare const ScoreQuestion: Struct<{
readonly criteria: $Array<Codec<Json, Json, never, never>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"score">;
}>