40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
TypeScript
import * as common from '@botpress/common'
|
|
import { z, InterfaceDefinition } from '@botpress/sdk'
|
|
|
|
export default new InterfaceDefinition({
|
|
name: 'speech-to-text',
|
|
version: '2.0.2',
|
|
entities: {
|
|
speechToTextModelRef: {
|
|
schema: common.speechToText.schemas.SpeechModelRefSchema,
|
|
},
|
|
},
|
|
actions: {
|
|
transcribeAudio: {
|
|
billable: true,
|
|
cacheable: true,
|
|
input: {
|
|
schema: ({ speechToTextModelRef }) =>
|
|
common.speechToText.schemas.TranscribeAudioInputSchema(speechToTextModelRef),
|
|
},
|
|
output: {
|
|
schema: () => common.speechToText.schemas.TranscribeAudioOutputSchema,
|
|
},
|
|
},
|
|
listSpeechToTextModels: {
|
|
input: {
|
|
schema: () => z.object({}),
|
|
},
|
|
output: {
|
|
schema: ({ speechToTextModelRef }) =>
|
|
z.object({
|
|
models: z.array(z.intersection(common.speechToText.schemas.SpeechToTextModelSchema, speechToTextModelRef)),
|
|
}),
|
|
},
|
|
},
|
|
},
|
|
__advanced: {
|
|
useLegacyZuiTransformer: true,
|
|
},
|
|
})
|