TypeSafe Jev / System One API
TypeSafe Jev makes probabilistic decisions about text, structured data, and images. A request can combine noul, choice, and score questions; Jev 1.14 also supports Box localization. It is not a general chat-completion API and does not provide Chat tool calling.
Endpoint, authentication, and fixed model
POST https://api.icodeeasy.cc/v1/systemone
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
Only TypeSafe Jev 1.14 is public, with the fixed model ID jev-1.14.0. Aliases that can move between releases are not offered:
| Model ID | Image input | Box | 262K long context |
|---|---|---|---|
jev-1.14.0 | Supported | Supported | Supported |
jev-latest, jev-preview, and other model names are outside this public catalog. Responses are non-streaming JSON. Do not send stream, and do not use System One as /v1/chat/completions, /v1/messages, or /v1/responses.
Text and structured state
state can be a string, object, or array. You name each question, and the response reuses those names and their question types under answers. This request combines a yes/no decision, a fixed choice, and an ordered score:
curl --request POST 'https://api.icodeeasy.cc/v1/systemone' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "jev-1.14.0",
"state": "I was charged twice for my subscription. Please refund the extra charge today.",
"questions": {
"is_billing": {
"type": "noul",
"instructions": "Is this message about billing?"
},
"department": {
"type": "choice",
"instructions": "Which team should handle this request?",
"criteria": {
"billing": "Duplicate charges, invoices, refunds, and payment failures",
"technical": "Product functionality and technical troubleshooting",
"other": "Requests outside billing and technical support"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is the request?",
"criteria": [
"No deadline and no immediate impact",
"Needs attention soon but service remains usable",
"Immediate financial or service impact requires urgent handling"
]
}
}
}'
A noul answer is a yes/no probability from 0 to 1. choice returns an option and its probability distribution. score returns a position between levels, probabilities, and confidence information. Neither probability nor confidence guarantees correctness; set thresholds against your own samples. The response also contains the actual model and usage.input_tokens / usage.output_tokens. Validate the model, answer keys, and types before acting on the result.
SDK compatibility
When using the official TypeSafe SDK for text calls, explicitly set compression: false; do not rely on the default compression negotiation. Image requests currently support only the JSON + Base64 form shown in this guide. The SDK's default multipart image upload is not supported. For images, construct the HTTP request shown here instead of using SDK image objects or its default file-upload flow.
PNG / JPEG image input
Every image request must explicitly include TypeSafe-Danger-Zone-Images: true. This example sends a PNG as Base64 JSON. photo-001 is a request-local reference and must appear in state, question instructions, or criteria. For JPEG, set format to jpg or jpeg.
curl --request POST 'https://api.icodeeasy.cc/v1/systemone' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'TypeSafe-Danger-Zone-Images: true' \
--data '{
"model": "jev-1.14.0",
"state": {"photo": "photo-001"},
"assets": {
"photo-001": {
"type": "image",
"format": "png",
"data_base64": "<BASE64_PNG_WITHOUT_DATA_PREFIX>"
}
},
"questions": {
"mug_visible": {
"type": "noul",
"instructions": "Is there a coffee mug in `photo`?"
}
}
}'
Do not include a data: prefix or line breaks in Base64. Images must be still PNG/JPEG files, at most 16 MiB each after decoding, with both width and height between 280 and 1568 pixels. The complete request body is limited to 32 MiB. Images are not resized into compliance, and any invalid asset fails the whole request. Image tokens are included in usage.input_tokens.
Box localization (Jev 1.14 only)
Box is experimental. Requests must include TypeSafe-Danger-Zone-Images: true and use the public fixed version jev-1.14.0. Box takes no criteria. Add a companion noul question to check whether the target exists:
{
"model": "jev-1.14.0",
"state": {"photo": "photo-001"},
"assets": {
"photo-001": {
"type": "image",
"format": "jpeg",
"data_base64": "<BASE64_JPEG_WITHOUT_DATA_PREFIX>"
}
},
"questions": {
"mug_visible": {
"type": "noul",
"instructions": "Is there a coffee mug in `photo`?"
},
"mug": {
"type": "box",
"instructions": "the coffee mug in `photo`"
}
}
}
Send this JSON body to the same endpoint with the authentication, JSON, and Images headers. Box answers contain top, bottom, left, and right as 0–1 fractions of image height and width; multiply them by pixel dimensions to obtain pixel coordinates. A box can still be returned when the target is absent, so combine it with the presence answer and confidence rather than treating it as an exact detector.
262K long context
Jev 1.14 supports the long-context tier. Defaults are 64K per request and 32K per question. To select the 262K tier, explicitly add this header to that request:
TypeSafe-Danger-Zone-Long-Context: true
curl --request POST 'https://api.icodeeasy.cc/v1/systemone' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'TypeSafe-Danger-Zone-Long-Context: true' \
--data '{
"model": "jev-1.14.0",
"state": "<LONG_DOCUMENT_OR_STRUCTURED_RECORD>",
"questions": {
"has_early_termination": {
"type": "noul",
"instructions": "Does the state include a clause allowing either party to terminate early?"
}
}
}'
With the header, both per-request and per-question limits use the 262K tier. Long context has no price multiplier, but it is usually slower. Evaluate decision quality on your own long and non-English inputs; a successful short request does not prove the exact 262K boundary or preservation of both ends of a long document.
Billing and experimental boundaries
- The official base price is $0.042 / MTok input. The current effective site price is ¥0.30 / MTok input, and output is 0. Charge formula:
usage.input_tokens × ¥0.30 / 1,000,000. - Output tokens appear in
usagebut are currently free. There is no separate cache read/write price and no long-context surcharge. Image tokens are billed as input tokens. - System One is a non-streaming structured-decision API. It has no Chat tool calling and is not part of the Chat playground.
- Images and Box are experimental. Request shapes, answers, and limits can change between releases; Box belongs only to 1.14. Test your own images, languages, thresholds, and failure cases before production use.
- Long context is not unlimited input. Context, request-body, image, and rate limits still apply. Keep fixed-version, response-model, answer-shape, and
usagevalidation in your integration.
See the pricing page for current prices and the model capability catalog for capability status.
Related guides
Model Capability Catalog
Compare public text, image, and video models by normalized request ID, compatible protocols, supported clients, tool use, media capabilities, limits, and review date.
Where can I check RMB prices, balance, and usage details?
Check live RMB prices, account balance, request logs, token usage, billing details, and payment availability through the public and dashboard surfaces.
How are API request content and metadata handled?
Understand how API request content and metadata support routing, usage, security, and support, then review the complete privacy policy and terms.