MCP — rank_assets
Takes local file paths and uploads them for you. Best for repo-local and interactive work.
REST — POST /api/v1/rank
Takes fetchable URLs. Best for volume, scheduled jobs, and services with no client attached.
Both paths hit the same model. The difference is transport and where the files live — MCP
handles the upload step, REST expects you to have already published the assets.
The cycle
1
Collect the creatives
Gather the files you want scored. The agent works from its own filesystem — Kettio’s tools
take local paths directly. See the tool reference.
2
Rank them
Via MCP, call
rank_assets with local paths. Via REST, publish to durable https:// URLs —
or inline a data:image/ payload for small images — then call POST /api/v1/rank. Up to 20
assets either way.3
Decide from the response
Use the ordering,
copy_lift to see whether the words are earning their place,
panel_outcome to see where refinement changed the order, and
summary.scoring_evaluations to track spend.Decision rules worth encoding
These are the checks worth writing into the agent rather than leaving to a model’s judgment:Never act on a batch with silent failures
Never act on a batch with silent failures
summary.assets_failed > 0 means the ordering you are reading is incomplete. Either re-run
the failed assets or mark the result provisional.Treat near-ties as ties
Treat near-ties as ties
A small gap between rank 1 and rank 2 is not a decision. Either escalate to
/api/v1/pairwise or report both. See
Reading confidence.Track ad allowance and evaluation rate limits
Track ad allowance and evaluation rate limits
One successfully ranked asset uses one monthly ad ranking. An asset with
copy_context
can require two evaluations toward the per-minute rate limit. Track ad_rankings_remaining
for monthly usage and honor Retry-After on 429. See
Limits and billing.Keep the audience fixed across a comparison
Keep the audience fixed across a comparison
Scores are relative within a batch and conditioned on the audience. Changing the audience
between runs and comparing the numbers is not a valid comparison.
Rate limit backoff
The Rank API allows 60 scoring evaluations per minute per key and returnsRetry-After on
429. Honour it rather than retrying on a fixed interval:
Related
MCP installation
Connect Claude Desktop, Codex, or any stdio MCP client.
Rank API
Goals, asset types, copy context, and refinement behavior.