import { imageToText, genTextToSpeech, getWavAudio, uploadImage, genTextToSpeechLang, getTranslation, getAnswer, } from "@/app/services"; import { useMutation} from "@tanstack/react-query"; export const useTextToSpeach = () => { return useMutation({ mutationKey: ["text-to-speech"], mutationFn: ({ text }: { text: string }) => genTextToSpeech({ text }), }); }; export const useTextToSpeachLang = () => { return useMutation({ mutationKey: ["text-to-speech-lang"], mutationFn: ({ text, modal }: { text: string; modal: string }) => genTextToSpeechLang({ text, modal }), }); }; export const useGenWav = () => { return useMutation({ mutationKey: ["gen-wav"], mutationFn: ({ sampling_rate, audio, name, }: { sampling_rate: number; audio: Float32Array; name: string; }) => getWavAudio({ sampling_rate, audio, name }), }); }; export const useImageToText = () => { return useMutation({ mutationKey: ["image-to-text"], mutationFn: ({ url }: { url: string }) => imageToText({ url }), }); }; export const useUploadImage = () => { return useMutation({ mutationKey: ["upload-image"], mutationFn: ({ form }: { form: FormData }) => uploadImage({ form }), }); }; export const useTranslator = () => { return useMutation({ mutationKey: ["translator"], mutationFn: ({ text, code }: { text: string; code: string }) => getTranslation({ text, code }), }); }; export const useGetAnswer = () => { return useMutation({ mutationKey: ["qa__"], mutationFn: ({ text, key }: { text: string; key: string }) => getAnswer({ key, text}) }) }