MCPcopy Index your code
hub / github.com/TanStack/ai / AudioGenerationForm

Function AudioGenerationForm

examples/ts-react-chat/src/routes/generations.audio.tsx:61–105  ·  view source on GitHub ↗
({
  mode,
  config,
}: {
  mode: Mode
  config: AudioProviderConfig
})

Source from the content-addressed store, hash-verified

59}
60
61function AudioGenerationForm({
62 mode,
63 config,
64}: {
65 mode: Mode
66 config: AudioProviderConfig
67}) {
68 const [prompt, setPrompt] = useState('')
69 const [duration, setDuration] = useState<number | undefined>(
70 config.defaultDuration,
71 )
72 const [selectedModel, setSelectedModel] = useState<string>(config.model)
73
74 const hookOptions = useMemo(() => {
75 if (mode === 'hooks') {
76 return {
77 connection: fetchServerSentEvents('/api/generate/audio'),
78 body: { provider: config.id, model: selectedModel },
79 onResult: toAudioOutput,
80 }
81 }
82 return {
83 fetcher: (input: { prompt: string; duration?: number }) =>
84 generateAudioFn({
85 data: { ...input, provider: config.id, model: selectedModel },
86 }),
87 onResult: toAudioOutput,
88 }
89 }, [mode, config.id, selectedModel])
90
91 const hookReturn = useGenerateAudio(hookOptions)
92
93 return (
94 <AudioGenerationUI
95 {...hookReturn}
96 config={config}
97 prompt={prompt}
98 setPrompt={setPrompt}
99 duration={duration}
100 setDuration={setDuration}
101 selectedModel={selectedModel}
102 setSelectedModel={setSelectedModel}
103 />
104 )
105}
106
107function AudioGenerationUI({
108 config,

Callers

nothing calls this directly

Calls 2

fetchServerSentEventsFunction · 0.90
useGenerateAudioFunction · 0.90

Tested by

no test coverage detected