Behaviour for text-to-speech services. Processes text frames and produces audio output frames.
@callback run_tts(text :: String.t(), state :: term()) :: {:ok, audio_frames :: [struct()], state :: term()}