Integration guides · 2026-10-10
Perplexity Decider API: probability-based decisions on /v1/systemone at $0.02 per 1M tokens
Call Perplexity Decider as perplexity/pplx-decider-v1.1-27b on LLMTR's /v1/systemone endpoint: yes/no, choice and score answers at $0.02 per 1M input tokens.
Short answer: a decision model that returns probabilities, not text
LLMTR (llmtr.com) is a gateway that gives access to language models hosted in Türkiye and at global providers through one OpenAI-compatible API. You call Perplexity Decider there with the model id perplexity/pplx-decider-v1.1-27b on the https://llmtr.com/v1/systemone endpoint; the base address is https://llmtr.com/v1, as for every other model. The price is $0.02 per 1M input tokens; output has no price and there is no per-request fee.
Decider is not a chat model. You send it a state and questions you define, and it returns one structured answer per question: the probability of yes for a yes/no question, one of your options for a choice question, or a position on your own scale for a score question. There is no free text to parse, and every answer comes with probabilities, so you decide with a threshold what is applied automatically.
How to call the Perplexity Decider API
Send the request to https://llmtr.com/v1/systemone as a POST, with your LLMTR API key in the Authorization: Bearer header. The body has three fields: model, state and questions. state can be plain text, a JSON object or an array; questions is a map whose keys you choose. The request below asks three questions about one customer message at once.
Question keys are not sent to the model; they only match answers back to questions, so write the full question in instructions. Questions in one request are evaluated independently, and one answer never becomes context for another. The body is validated strictly: a misspelt field gets 400 invalid_request and the message names it. If you are moving a client written for Perplexity's own API, change the address and the model field to the LLMTR ones; on LLMTR every question must carry an instructions field.
curl request that asks a noul, a choice and a score question about one support message.
curl https://llmtr.com/v1/systemone \
-H "Authorization: Bearer $LLMTR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "perplexity/pplx-decider-v1.1-27b",
"state": "Order 4417 arrived with a cracked screen. I want my money back, this is the second time.",
"questions": {
"refund_requested": {
"type": "noul",
"instructions": "Does the customer ask for a refund?"
},
"team": {
"type": "choice",
"instructions": "Which team should handle this message?",
"criteria": {
"billing": "Payments, invoices, refunds",
"technical": "Bugs, outages, integrations",
"other": null
}
},
"frustration": {
"type": "score",
"instructions": "How frustrated does the customer appear?",
"criteria": ["Calm", "Frustrated but civil", "Very angry"]
}
}
}'
The three question types: noul, choice and score
noul is a yes/no question and returns the probability that the answer is yes, between 0 and 1; criteria is optional and only explains the true and false ends. choice picks one of the options you define in criteria and returns the probability distribution across all of them. If an input might not fit the list, add an option such as other; otherwise the model always returns the closest option.
score returns a position along ordered levels. According to Perplexity's documentation, the value is the probability-weighted average of the level indices, so it can fall between two levels. Do not confuse a yes/no question with a level: a noul of 0.5 does not mean a middle level, it means the model gives yes and no equal probability.
| Type | criteria | Answer fields | Limit |
|---|---|---|---|
| noul | optional: description of true and false | noul (probability of yes, 0-1) | none |
| choice | option name with a description or null | choice, probabilities, confidence | 1-255 options |
| score | ordered list of levels | score, legend, probabilities, confidence | 2-10 levels |
How to read the answer and where to put a threshold
The response returns under answers with the keys you sent, and each answer carries its own type field. The model field gives the LLMTR catalog id and usage gives the input and output token counts. In a score answer, legend maps each index back to your level name. The response below shows the shape for the request above; the values are illustrative.
confidence appears only on choice and score answers and summarises how much of the distribution sits on one option. If you only need the most likely option, reading choice is enough. A threshold earns its place where you separate applying a decision automatically from handing it to a person. Keep thresholds and question text together in one file in your code.
Example response: the fields are in the shape Decider returns, the numbers are illustrative.
{
"model": "perplexity/pplx-decider-v1.1-27b",
"answers": {
"refund_requested": { "type": "noul", "noul": 0.97 },
"team": {
"type": "choice",
"choice": "billing",
"confidence": 0.9,
"probabilities": { "billing": 0.93, "technical": 0.05, "other": 0.02 }
},
"frustration": {
"type": "score",
"score": 1.62,
"confidence": 0.62,
"legend": { "0": "Calm", "1": "Frustrated but civil", "2": "Very angry" },
"probabilities": { "0": 0.02, "1": 0.34, "2": 0.64 }
}
},
"usage": { "input_tokens": 389, "output_tokens": 3 }
}
Pricing: billed per input token, the state is counted for each question
perplexity/pplx-decider-v1.1-27b costs $0.02 per 1M input tokens and output has no price. output_tokens in usage can still be above zero; what is free is the price of output, not its count. No margin is added to this model's price; LLMTR's 8% platform fee is taken only when you top up credit.
The state is counted again for every question. Five questions about a 2,000-token state bill about 10,000 input tokens, question text excluded, which comes to about $0.0002, so send only the questions whose answers you will use. The optional max_budget_usd field refuses the request when the cost estimated from the body exceeds that value. For a hard ceiling, use the per-API-key spending limit.
Limits, error codes and the v1 version
A request carries at most 128 questions; more return 400 provider_error. Each question together with the state must stay under 262,144 tokens; a request over that returns 502 after about a minute. Response time grows with the input, so set your client timeout to at least 90 seconds. There is no streaming, the answer arrives in one piece, and 429 is returned when the key's rate limit is exceeded.
perplexity/pplx-decider-v1-27b is the first version of the same model, with the same price, context and request format. An integration pinned to it keeps working without changing the id, while new work starts on perplexity/pplx-decider-v1.1-27b. Decider models do not appear in the Playground or on chat endpoints; they answer only on /v1/systemone.
Call Perplexity Decider through LLMTR
Create an account, create an API key and send your first decision request to https://llmtr.com/v1/systemone with perplexity/pplx-decider-v1.1-27b.
- Account. Create an account at llmtr.com and top up credit. Requests are deducted from prepaid credit at the catalog price.
- API key. Create a key under Dashboard > API Keys. The raw key is shown once; store it as the LLMTR_API_KEY environment variable. The same key works for every model in the catalog.
- First decision. Send a JSON body with model, state and questions to https://llmtr.com/v1/systemone and read the probabilities under answers.
Frequently asked questions
How much does the Perplexity Decider API cost?
On LLMTR, perplexity/pplx-decider-v1.1-27b costs $0.02 per 1M input tokens; output has no price and there is no per-request fee. Because the state is counted again for each question, total tokens grow with the number of questions.
Does Perplexity Decider generate text?
No. It returns one structured answer per question: the probability of yes for noul, the selected option and probabilities for choice, and a position on your own scale for score. There is no streaming.
Can I call Perplexity Decider with the OpenAI SDK?
Not with a Chat Completions client; Decider answers only on https://llmtr.com/v1/systemone. Any HTTP client works: send a JSON body with model, state and questions and the Authorization: Bearer header.