{"type":"object","properties":{"model":{"type":"string","pattern":"^\\s*clef-omni\\s*$","default":"clef-omni","description":"Required. The model selector: \"clef-omni\" for @cf/cloudflare/clef-omni."},"state":{"description":"Required. The content to evaluate: a string, or structured data (object/array) such as records, chat logs, or application state. Long text state is truncated to fit the model's token limit."},"questions":{"type":"object","description":"Map of question id to a typed question (noul, choice, or score). 1 to 64 questions; ids may use letters, digits, '_', '.', '-' (max 100 chars). Answers are returned under the same ids.","minProperties":1,"maxProperties":64,"additionalProperties":{"oneOf":[{"type":"object","title":"Noul","description":"A yes/no question. Returns the probability the answer is yes.","properties":{"type":{"type":"string","enum":["noul"]},"instructions":{"description":"Required. The yes/no question to evaluate: a non-empty string, or an object/array that holds the question in one field and referenced data in others."},"criteria":{"type":"object","description":"Optional descriptions of what a yes and a no mean.","properties":{"true":{"description":"What a yes (value near 1) means."},"false":{"description":"What a no (value near 0) means."}}}},"required":["type","instructions"]},{"type":"object","title":"Choice","description":"Pick one option from a set you define. Returns the chosen option, a probability per option, and confidence.","properties":{"type":{"type":"string","enum":["choice"]},"instructions":{"description":"Required. What the model should decide: a non-empty string, or an object/array holding the question and referenced data."},"criteria":{"type":"object","description":"Map of option id (non-empty string) to its description: string, object, array, or null when no detail is needed. 2 to 255 options.","additionalProperties":{}}},"required":["type","instructions","criteria"]},{"type":"object","title":"Score","description":"Rate the state on an ordered rubric. Returns a probability-weighted score, a probability per level, and confidence.","properties":{"type":{"type":"string","enum":["score"]},"instructions":{"description":"Required. What the model should rate: a non-empty string, or an object/array holding the question and referenced data."},"criteria":{"type":"array","description":"Ordered level descriptions (string, object, or array), lowest first; levels are indexed from 0. 2 to 10 levels.","minItems":2,"maxItems":10,"items":{}}},"required":["type","instructions","criteria"]}]}},"images":{"type":"array","description":"Clef extension to the System One API. Optional embedded PNG, JPEG, or WebP images placed before the state (max 4; 4 MiB and 16 megapixels each, 8 MiB total decoded). Each image costs 64 to 1,024 input tokens. Remote URLs are not accepted.","maxItems":4,"items":{"anyOf":[{"type":"string","title":"Data URL","description":"A base64 data URL: data:image/png;base64,..., data:image/jpeg;base64,..., or data:image/webp;base64,...","pattern":"^[Dd][Aa][Tt][Aa]:"},{"type":"object","title":"Base64 image","properties":{"content_type":{"type":"string","description":"image/png, image/jpeg, or image/webp."},"base64":{"type":"string","description":"Base64-encoded image bytes."}},"required":["content_type","base64"]}]}},"audio":{"type":"array","description":"Clef-Omni extension. Optional embedded audio clips (max 4; 8 MiB and 300 seconds each). Audio and video clips together may total at most 16 MiB decoded. Remote URLs are not accepted.","maxItems":4,"items":{"anyOf":[{"type":"string","title":"Data URL","description":"A base64 data URL with an audio/* media type, e.g. data:audio/wav;base64,... or data:audio/mpeg;base64,...","pattern":"^data:audio/"},{"type":"object","title":"Base64 audio","properties":{"content_type":{"type":"string","description":"An audio/* media type, e.g. audio/wav or audio/mpeg."},"base64":{"type":"string","description":"Base64-encoded audio bytes."}},"required":["content_type","base64"]}]}},"videos":{"type":"array","description":"Clef-Omni extension. Optional embedded videos (max 2; 16 MiB and 60 seconds each), sampled at 2 frames per second. A video's soundtrack is heard with its frames when every video in the request has one. Audio and video clips together may total at most 16 MiB decoded. Each second of video costs up to 256 input tokens. Remote URLs are not accepted.","maxItems":2,"items":{"anyOf":[{"type":"string","title":"Data URL","description":"A base64 data URL with a video/* media type, e.g. data:video/mp4;base64,...","pattern":"^data:video/"},{"type":"object","title":"Base64 video","properties":{"content_type":{"type":"string","description":"A video/* media type, e.g. video/mp4 or video/webm."},"base64":{"type":"string","description":"Base64-encoded video bytes."}},"required":["content_type","base64"]}]}}},"required":["model","state","questions"]}