Blog · 2026-10-18
Uncensored API vs uncensored chat: which one your eval actually needs.
Chat apps sell personas and image generation. APIs sell a programmable primitive. If your goal is red-teaming, refusal benchmarks or guardrail testing, you need the second. Here is the one-line rule plus a workflow you can copy.
The one-line rule
If a human clicks through it, it is a chat. If a script loops over it and scores the outputs, it is an API workload. Evals are scripts: datasets in, metrics out, repeated across models. Chats cannot do that reproducibly — no presets per request, no fixed model pins, no token-level billing to attribute cost per eval case.
The eval workflow (copy this)
Pin the model, attach a research preset per request, run your lawful edge-case set twice (baseline vs preset), log refusal/comply plus quality, then harden guardrails and re-run. One key, one bill, every lab.
for model in GET /v1/models (pinned list):
for preset in [none, redteam-fiction-v1]:
run(dataset, model, headers={X-Relay-Preset: preset})
score(refusal_rate, false_refusal_rate, quality)
Checklist before you pay
You need presets per request (not a chat toggle), per-token billing (not a subscription), live model pricing (GET /v1/models), and multi-dialect support if your harness speaks Anthropic or Gemini. If you only need a character to talk to — buy the chat app, it is cheaper. Full table: see the comparison page.
Research only. No illegal content. Test systems you own or are authorized to evaluate.