Meet the Laya model · Jev AI

Laya Model. Turn context into decisions.

Explore Laya, an open-weights System 1 model from Convai Innovations. Learn how choices, scores and yes/no probabilities can help your next workflow take action.

Sign in to run Laya API requests using your account credits.

Typed decisions100+ languagesApache-2.0
From a request to a next stepLaya

A customer message

“I was charged twice for my subscription. Please refund the extra payment today.”

choice

Which team should help?

Billing
score

How urgent is the request?

High
noul

Is a refund requested?

Yes

Illustrative decision types, not a live model response.

Interactive playground

Try typed decisions on your own text

Pick an example or add your context. Ask choice, score or yes/no questions, then inspect the structured answers and probabilities.

Requests consume account credits. See the returned result for the actual credits used.

Read the Laya API integration guide

1. State

Provide the context shared by every question.

1/15

All questions share this context and are answered independently.

2. Questions

Define up to eight typed questions for the same state.

5 / 8

3. Run decision

Run the decision request.

Results

Click “Generate decisions” to see typed output with probabilities.

4. API request

Preview or copy the JSON shape to call the same endpoint from your app.

Results are returned in a structured format so you can connect them to your application logic.

01 / What is Laya?

A model built for the next decision

Laya evaluates questions against a shared context and returns structured answers in one forward pass. It is non-autoregressive: it scores possible decisions directly rather than writing a response token by token.

Use it where your application needs a category, an ordered assessment or a yes/no probability. The English checkpoint uses ModernBERT; the multilingual checkpoint extends the same approach to more languages.

Choice · Pick an option

Define the possible outcomes, such as billing, support or sales, and evaluate which one fits the input.

Score · Evaluate on a scale

Provide ordered criteria to assess qualities such as urgency, relevance or satisfaction.

Noul · Estimate a yes/no probability

Ask a focused binary question and use its probability to guide the next step.

02 / Capabilities & use cases

Bring decisions closer to your workflow

Explore Laya for repeatable tasks with clear inputs and outcomes. Evaluate the chosen checkpoint on examples from your own application.

One context, several questions

Assess different aspects of the same input together, from its category to its urgency.

Multilingual inputs

The multilingual checkpoint supports 100+ languages. Laya's router helps select a checkpoint for each request.

Open weights, your infrastructure

Download the Apache-2.0 weights and run Laya on infrastructure you control.

Customer support triage

Identify the right team, assess priority and flag requests that need a person to review them.

Agent and tool routing

Choose a next action from a defined set, or decide when a workflow should ask for help.

Adapt to your domain

Fine-tune on your labelled decisions. The project highlights fine-tuning as an important step toward stronger task-specific accuracy.

03 / How to try it

From context to a usable answer

Explore the request format and decision types with the Laya API, then inspect the structured results.

01

Add your context

Start with a customer message, a document excerpt or structured JSON. Keep the relevant facts together.

02

Define the decision

Choose a question type and write clear instructions, with distinct options or ordered criteria.

03

Review the result

Inspect the answer and its probability. Try ambiguous examples before deciding which outcomes to automate.

Explore the playground

04 / Laya API

Laya API integration guide

Connect your application to the Laya decision endpoint. Authenticate with your account API key, submit context and typed questions, then use the structured answers in your workflow.

1. Create a key and connect

Sign in, open API Keys in your account settings and create a key. Keep enough credits in your account, then send a POST request to the URL below. The API path has no language prefix, even when this page is translated.

POSThttps://thejevai.com/laya/v1/systemone

Authorization: Bearer YOUR_API_KEY

Content-Type: application/json

Use your own application server to make API calls. Store the key in a server environment variable named LAYA_API_KEY; never put it in browser code or a public repository. The playground uses your signed-in session instead of asking for a key.

2. Choose a model and define the request

english

Model identifier for English-language decision workflows.

multilingual

Model identifier for workflows with multilingual inputs.

typed-decisions

Model identifier for typed decision workflows.

Set model to english, multilingual or typed-decisions. All three options accept choice, score and noul questions.

2. Choose a model and define the request
FieldTypeHow to use it
modelstringRequired. Use english, multilingual or typed-decisions.
statestring | object | arrayRequired. Shared context for all questions: text, a JSON object or an array.
questionsobjectRequired. An object containing 1–8 questions, keyed by your own question IDs.
questions.<id>objectUse a non-empty, unique ID for each question. The same ID appears in answers.
questions.<id>.typechoice | score | noulRequired. Select one of the three supported decision types.
questions.<id>.instructionsstringRequired string. State clearly what this question should evaluate.
questions.<id>.criteriaobject | arrayRequired for choice and score; optional for noul. Use the format described below.

choice

Provide 2–100 options as an object mapping labels to descriptions (string or null), or an array of labels. The answer contains the selected label and may include option probabilities.

score

Provide an array of 2–10 descriptions ordered from low to high. The scale begins at 0; returned scores can be fractional.

noul

Ask a yes/no question. Optional criteria uses the keys "true" and "false" with string or null descriptions. The returned noul value is the probability of yes, not a boolean.

3. Send your first request

Set LAYA_API_KEY to the key you created. This example evaluates one message with all three question types. Run JavaScript on Node.js 18+ (as an .mjs file), or use Python 3 with its built-in urllib module; no Python package installation is needed.

export LAYA_API_KEY="YOUR_API_KEY"

curl --fail-with-body --request POST 'https://thejevai.com/laya/v1/systemone' \
  --header "Authorization: Bearer $LAYA_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "english",
  "state": "I was charged twice for my subscription. Please refund the extra payment today.",
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Which team should handle this request?",
      "criteria": {
        "billing": "Payments and refunds",
        "technical": "Bugs and outages"
      }
    },
    "priority": {
      "type": "score",
      "instructions": "How urgent is this request?",
      "criteria": [
        "Low",
        "Medium",
        "High"
      ]
    },
    "refund": {
      "type": "noul",
      "instructions": "Is the customer requesting a refund?",
      "criteria": {
        "true": "A refund is requested",
        "false": "No refund is requested"
      }
    }
  }
}'

4. Read answers, usage and credits

Check both the HTTP status and code === 0 before using the result. Success returns answers inside data.result; it does not return a chat completion or a streaming text response.

Illustrative response: decisions, token counts and latency vary with the request.

{
  "code": 0,
  "message": "ok",
  "data": {
    "result": {
      "model": "english",
      "answers": {
        "department": {
          "type": "choice",
          "choice": "billing",
          "probabilities": {
            "billing": 0.97,
            "technical": 0.03
          }
        },
        "priority": {
          "type": "score",
          "score": 1.8,
          "legend": {
            "0": "Low",
            "1": "Medium",
            "2": "High"
          }
        },
        "refund": {
          "type": "noul",
          "noul": 0.98
        }
      },
      "usage": {
        "input_tokens": 1200,
        "output_tokens": 0
      },
      "elapsedMs": 142
    },
    "creditsUsed": 2
  }
}
data.result.answers
Look up each result by the question ID you sent. Read choice, score or noul according to its type; additional probability fields may be present.
data.result.usage
input_tokens and output_tokens report measured token usage. See data.creditsUsed for the credits consumed.
data.result.elapsedMs
Time in milliseconds spent handling the request. This is an observation, not a latency guarantee.
data.creditsUsed
Credits deducted for this request. Use this field to show the actual charge in your application.

Use the request and response format documented here when integrating this endpoint. If you switch to another Laya service, check its authentication and response structure and update your client as needed.

5. Plan for usage limits and failures

Account credits

API calls and signed-in playground runs consume account credits. The response field creditsUsed shows the actual credits deducted for each request.

Request limits

Maximum UTF-8 JSON body: 32 KiB. Maximum questions per request: 8. Signed-in playground requests must be at least 3 seconds apart. The inference request has a 30-second timeout; allow additional time in your client for the full HTTP response.

400
Invalid JSON, model, state, question type or criteria. Correct the request before retrying.
401
Missing or invalid authentication. Check your Bearer API key or sign in to the playground.
402
Insufficient credits. Add credits and retry with enough balance for the request.
413
Request body exceeds 32 KiB. Shorten the context or split the request.
429
Requests are too close together. Respect the Retry-After header before retrying.
502
Inference failed, timed out or returned an invalid result. Check the error message and retry only when appropriate.
503
The service is unavailable. Try later or contact support.

Read the HTTP status and message on errors. This endpoint has no idempotency key: blindly retrying after a client timeout may create another charge if the first request completed. Confirm the outcome before retrying paid requests.

Test the request in the playground

Credits for the Laya playground

Use your existing account credit balance for Laya API requests.

Requests consume account credits. See the returned result for the actual credits used.

Starter

$10

Validate one real workflow, from the playground to your first API call

  • 100,000 credits, no expiry
  • 1 workspace
  • 3 concurrent requests
  • Standard speed
  • Choice, score, and noul questions
  • Typed decision output
  • Probability and confidence results
  • Online playground
  • API key management
  • Email support
Recommended

Pro

$100

Connect classification, routing, and safety decisions to a production product

  • 1,000,000 credits, no expiry
  • Unlimited workspaces
  • 10 concurrent requests
  • Fast lane
  • Choice, score, and noul questions
  • Typed decision output
  • Parallel questions per request
  • API access
  • Usage and request history
  • Priority support

Enterprise

$1,000

For multiple workspaces, team collaboration, and custom production integrations, with 10% extra credits

  • 11,000,000 credits (10% extra included)
  • Everything in Pro
  • Unlimited concurrency
  • Dedicated fast lane
  • Team workspaces and collaboration
  • Custom integration support
  • Security and permission guidance
  • Dedicated support
  • Priority production processing
  • Product roadmap feedback

Laya model questions, answered

Put your next decision to the test

Bring a real example and explore choices, scores and probabilities in the Laya API.

Try the playground