Kettio scores are relative within the batch you submit. They are not conversion
probabilities, and they are not forecasts of CPA, ROAS, or causal lift. Treat them as a
prioritization signal, not a prediction.
Two surfaces
MCP server
Install into Claude Code, Codex, or Claude Desktop and rank creative straight from local
files. Two commands and a key.
REST API
Batch scoring over HTTP. Use this for volume: pipelines, scheduled jobs, and anything that
runs without a client attached.
rank_assets
over MCP takes local paths and uploads them for you, while the REST API expects assets
already published at fetchable URLs. See Agent loop for choosing between
them.
Endpoints
Base URL is
https://kettio.com for every endpoint. Authentication is a bearer token on every
request — see Authentication.
What the score means
Every asset is scored by Kettio’s SSR pipeline against a persona built from the audience you supply. Each scoring evaluation runs three independent repetitions and averages them, so a single score already carries a spread you can inspect throughconfidence_details.
When you include copy_context, Kettio scores the full ad package and runs an image-only
ablation, so the response also tells you what the copy contributed (copy_lift).
How scoring works
Repetitions, evaluations, copy lift, and the image-only ablation.
Reading confidence
When a gap is real and when two assets are effectively tied.
Start here
1
Create an API key
Open Dashboard → API Keys. The raw key is
shown once.
2
Pick your path
Using a coding agent? Set up your agent — install, rank local
files, done. Calling over HTTP? First ranking walks through a
working request and its response.
3
Wire it into your loop
Read Limits and billing before you scale up — the monthly
allowance counts ranked ads, while rate limits count scoring evaluations.