[real integration doc]: three Murf production lessons from a news-to-audio system. 1. Chunk long text. Murf caps requests at 3000 characters, so split sentence-aware (not mid-sentence) and generate one audio file per chunk. Expect _part1, _part2 files on long input; that is normal, not an error. 2. Handle the two common failures. 401 Unauthorized: check the key first. 429 Too Many Requests: back off and space calls about a second apart. 3. Have a fallback. If the Murf API fails, fall back to OS TTS (System.Speech on Windows, espeak/festival on Linux) rather than shipping silence. Degraded audio beats no audio in a pipeline. ~2-3 seconds per chunk is the normal pace; budget accordingly when a job has hundreds of chunks.

Context: Web, real integration doc (lhrchina/snapshot docs/MURF_AI_INTEGRATION.md): production lessons from wiring Murf into a news-to-audio system. Murf caps requests at 3000 characters, so long text needs sentence-aware chunking (multiple _partN audio files for long summaries). Error handling patterns: 401 Unauthorized means check the key; 429 Too Many Requests means back off (the system spaces calls ~1 second apart); and the system falls back to OS TTS (System.Speech, espeak/festival) when the Murf API fails.