Files
2026-07-13 13:34:48 +08:00

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,
},
})