https://api.evolvingmachines.ai and use your Evolve API key. Request and response bodies keep that API’s shape, and billing and limits match the default format.
You can keep your current model name. Names that do not start with edith, monitor, or evolve/ are answered by edith-1.1. The table shows which name comes back in model.
Use a prefixed path to select a format. On the shared
/v1/decisions path, selection follows the body:
-
state: Perplexity. -
Questions with
id,options,question, or typeyes_no: SGLang. - Otherwise: OpenAI decisions.
Jev format
Questions are a map keyed by your own names. Anoul question returns the model’s probability for a claim.
Reuse EVOLVE_API_KEY from the quickstart. Save this request as jev.json:
jev.json
jq:
cURL (HTTP)
Response
-
statetakes a trial object or text. -
A
choicequestion takescriteriaas a map from option to description. -
A
noulquestion can describe itstrueandfalsesides incriteria.
Score questions and answers
Score questions and answers
Add a The answer includes the expected level, confidence, level probabilities, and their labels. Example entry in
score question to the questions map with levels in criteria:Question entry
answers:Answer entry
SGLang format
Send this body toPOST /sglang/v1/decisions. Use id to name each question:
Request body
id. A yes_no answer has probabilities for yes and no.
Ask a choice question
Ask a choice question
A
choice question uses options. Send diagnosis questions in a separate request after a verdict flags a run, as described in Custom rubrics.Choice question
Errors by format
Error meanings follow the default format. The shape and malformed-request status depend on the selected format. The table lists fields, not complete JSON examples.
Long requests can return HTTP
200 before finishing. A later failure arrives as the selected format’s error body plus http_status. Check the body before reading answers.
Images
Every format accepts images once they are allowed for your account, with the same limits and price. Send each image inline as a base64data: URL or bare base64.
The token totals include image tokens. Images in the top-level
images array are read first, then image parts in the order sent, all before the text.
-
Every format that takes
state, including AutoJev, also takes a top-levelimagesarray. Alongside images,statemay be a trial object, text, or an empty string. -
OpenAI and SGLang accept images only as parts. A top-level
imagesfield returns400invalid_request. -
inline_dataandinlineDataparts returninvalid_requestin every format.
Text and image part shapes
Text and image part shapes
Use these shapes where the table specifies A Cloudflare top-level
text and image_url parts:Text part
Image part
images item can also use this shape:Cloudflare image
Send a Jev screenshot with Python
Send a Jev screenshot with Python
Save a PNG screenshot as
screenshot.png, set EVOLVE_API_KEY, and enable images. Run pip install requests, save this as check_image.py, and run python3 check_image.py.Python (HTTP)

