| 26 | } |
| 27 | |
| 28 | export function injectGenerateSpeech<TTransformed = void>( |
| 29 | options: Omit<InjectGenerateSpeechOptions, 'onResult'> & { |
| 30 | onResult?: (result: TTSResult) => TTransformed |
| 31 | }, |
| 32 | ): InjectGenerateSpeechResult< |
| 33 | InferGenerationOutputFromReturn<TTSResult, TTransformed> |
| 34 | > { |
| 35 | const devtools = { |
| 36 | ...options.devtools, |
| 37 | framework: 'angular' as const, |
| 38 | hookName: 'injectGenerateSpeech', |
| 39 | outputKind: 'audio' as const, |
| 40 | } |
| 41 | const { generate, result, isLoading, error, status, stop, reset } = |
| 42 | injectGeneration<SpeechGenerateInput, TTSResult, TTransformed>({ |
| 43 | ...options, |
| 44 | devtools, |
| 45 | }) |
| 46 | return { |
| 47 | generate: generate as (input: SpeechGenerateInput) => Promise<void>, |
| 48 | result, |
| 49 | isLoading, |
| 50 | error, |
| 51 | status, |
| 52 | stop, |
| 53 | reset, |
| 54 | } |
| 55 | } |