01 / DECIDE
Architecture decision
Use it for accessibility, narration, previews, and conversational feedback where users can pause or switch to text.
Choose voice, format, chunking, playback, and interruption behavior as product decisions, then disclose that the voice is AI-generated. Map input, output, state, and side effects as one observable path before deciding which layer owns design synthetic speech as a disclosed interface.
02 / BUILD
Three-step implementation
- 01
Frame the contract
Write down the caller, data classification, success condition, timeout, cancellation, and ownership. Use it for accessibility, narration, previews, and conversational feedback where users can pause or switch to text.
- 02
Build one narrow path
Implement one end-to-end path with request correlation, typed state, and reversible failure handling. Choose voice, format, chunking, playback, and interruption behavior as product decisions, then disclose that the voice is AI-generated.
- 03
Prove the outcome
Turn acceptance into a repeatable fixture, contract test, or browser test. Playback tests cover first-byte latency, interruption, punctuation, multilingual text, unsupported input, and fallback rendering.
03 / BOUND
Production boundary
Do not imitate a person without authority; preserve disclosure and provide a non-audio path for critical information.
04 / PROVE
Acceptance evidence
Playback tests cover first-byte latency, interruption, punctuation, multilingual text, unsupported input, and fallback rendering.
SOURCE / HTTP
Reproducible source probe
curl -fsSI 'https://developers.openai.com/api/docs/guides/text-to-speech' | sed -n '1,5p'