Now available: GPT-6 Luna Decisions

Try the model

CONVAI INNOVATIONS / VERCEL AI GATEWAY

Laya (Free)

The dedicated Laya Free entry on Vercel AI Gateway for structured classification, routing and scoring. Upstream input and output are currently free; the platform charges 1 credit per successful request.

convaiinnovations/laya-free

New accounts get 100 credits. The playground and API share one balance.

Context window

8,192

tokens · provider-listed maximum

Vercel input price

$0 / 1M

current published upstream price

Vercel output price

$0 / 1M

current published upstream price

Platform price

1 credit

$0.0001 per successful request · output adds no charge

JEV / SYSTEM ONE

Uses the Jev decision playground

Laya uses the shared model, state and questions interface. This service maps Noul to the Gateway’s boolean question, converts the returned probability to noul, and normalizes token usage. Choice and Score retain their structured answers, so the same recipes, evaluation datasets and API code work here.

SPAN / NOUL

How it differs from Span

Span-01 and Span-01 Lite accept only Noul behavior questions and require text or a specific input/output conversation object. General decision models also accept Choice and Score questions with text, JSON objects or arrays as state. Span-02 follows this broader decision contract and supports images in the shared decision playground.

Three structured answer types

Choice returns a named option and its probability distribution. Score returns a value on an ordered scale with probabilities. Noul returns the probability of a yes/no condition. Multiple questions share the same state.

choicescorenoul

Vercel lists an 8,192-token context. This service applies the shared Laya limits: text or JSON state, up to 8 questions, 32 KiB for text plus questions, 2–100 Choice options and 2–10 Score levels. The context budget also applies. The 100-option live check was performed on convaiinnovations/laya, not this dedicated Free entry.

This page uses the dedicated convaiinnovations/laya-free entry on Vercel AI Gateway. It shares the Laya request adapter and platform limits. Provider routing and upstream pricing may change.

Input and output credits

Laya Free has a 0-credit per-token rate. Web, API and evaluation charge the platform minimum of 1 credit ($0.0001) per successful request; output adds no charge and failed calls release the reservation. Vercel currently lists free input and output; this platform price is a separate service charge.

max(1, ceil(input_tokens × 0 / 1,000,000))

A successful request with 1,000 input tokens costs 1 credit; 5,000 input tokens cost 1 credits. Output tokens add no charge. Failed calls release the credit reservation.

Checked October 19, 2026 against the official Vercel model listing: 8,192-token context and free input/output. Local regression tests cover routing and answer normalization; no live request or accuracy benchmark is claimed for this entry.

Try Laya Free in the decision playground

The Jev workbench below starts with this model selected. Try a recipe, edit the state and questions, or export API code. This page stores its browser draft separately from other model pages and the main playground.

What do you want to decide?

Choose a task to load its input and rules. Loading examples uses no credits.

Laya (Free) ↗Span · behavior evaluation ↗

Laya supports Choice, Score and Noul through Vercel AI Gateway. Context: 8,192 tokens. Choice: 2–100 options. Every successful web, API or evaluation request costs 1 credit; output adds no charge.

Text or JSON shared by all questions; attach images below on vision models.

Images 0/4

Text / JSON only

Embedded images stay in this page until you leave or refresh. Saved configurations and history keep image metadata; API URL references are retained and may expire.

Advanced question settings

Questions 1/8

Which team should handle this ticket? Use other when no option fits.Choice

Options

Maximum credit budget: 1 credits

We reserve this budget before the model runs, then charge actual usage and return the difference. Failed calls are refunded.

New account? Receive 100 credits once. Short requests typically use 1 credit; longer inputs can use more.

100 welcome credits · one balance for web & API

Draft saved in this browser · Your draft will be restored after sign-in.

Your current configuration stays in this browser tab for the setup flow.

ILLUSTRATIVE EXAMPLE · NO CREDITS USED

“I was charged twice this morning. Please refund the duplicate payment today.”

One input → structured decisions

Choice

Billing

Route to the billing queue

Yes / no

96%

Probability of an urgent request

Score

2.8 / 3

Urgency on a 0–3 scale

Static illustration of the output format. Values are not a live model response or a measure of accuracy.

Web runs and saved configurations are private to your account. API history stores usage only. Embedded image pixels are omitted from drafts, configurations and history; metadata and missing-image counts remain. Add the images again before replaying. API URL references may expire. API setup exports local-file code without storing pixels.Usage ↗

Your draft will be restored after sign-in.

Use the same decision API

Send model, state, and questions to Decisions API's /v1/systemone endpoint with an API key created here. Set model to convaiinnovations/laya-free; answers are in data.result.answers and token usage is in data.result.usage.

// Server-side JavaScript (Node 20+ or Bun). Set DECISIONS_API_KEY.
const response = await fetch("https://decisions-api.dev/v1/systemone", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.DECISIONS_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "model": "convaiinnovations/laya-free",
  "state": "I was charged twice for order A-4471. Please refund the duplicate payment.",
  "questions": {
    "route": {
      "type": "choice",
      "instructions": "Which team should handle this ticket? Use other when no option fits.",
      "criteria": {
        "billing": "Payments, charges and refunds",
        "technical": "Bugs and product errors",
        "account": "Login and account access",
        "other": "None of these teams"
      }
    }
  }
}),
});
const body = await response.json();
if (!response.ok || body.code !== 0) throw new Error(body.message);
console.log(body.data.result.answers);
console.log(body.data.creditsUsed);