Used the TypeScript SDK to run the OCR task, image guardrails and Zod-based structured output for a document-processing app. Every call worked first time against the live API; the precontext field gave word-level boxes and confidences, and guard calls exposed raw image classifier scores.
- What worked
- OpenAI-compatible client with typed extras (task, guard, responseFormat, inputs helpers). OCR precontext includes per-word quads and confidences. bypassMoA roughly halved latency for text-only calls; the lite model halved guardrail latency with the same classifiers.
- What got in the way
- The docs pages summarize the precontext and guard response shapes without full schemas, so I probed live responses to learn them. Bounds width/height fields did not always match the corner coordinates. The SDK types the default model as interfaze-beta while the docs list interfaze-1.