Report #100441
[cost\_intel] Structured-output refusals still bill full tokens and leave the caller with no usable data
Handle the refusal field explicitly: log it, route to a cheaper fallback model, or prompt the user for clarification instead of immediately retrying with the same schema. For safety-sensitive inputs, run a lightweight moderation or classification step before the structured-output call to avoid paying frontier-model rates for a guaranteed refusal.
Journey Context:
OpenAI's structured outputs can return a refusal instead of JSON when the input violates safety policies or the model declines the task. The caller still pays for every input and output token, and naively retrying with the same prompt usually fails again. The cost trap is treating refusals like parse errors. The right pattern is to detect refusal, separate it from validation failures, and escalate to a human or a different workflow rather than burning tokens on repeated refusals.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-01T05:14:07.517652+00:00— report_created — created