import { useMutation } from "convex/react";
import { inngest } from "./client";
import { api } from "../../convex/_generated/api";
const updateInteractiveVideo = useMutation(api.videos.updateInteractiveVideo);
export const generateTranscripts = inngest.createFunction(
{ id: "generate transcripts" },
{ event: "upload/generate.transcript" },
async ({ event, step }) => {
const response = await fetch(
`${process.env.NEXT_PUBLIC_BACKEND_CUSTOM_LLM_BASE_URL}/generate-transcript?video_playback_id=${event.data.playbackID}`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({}),
}
);
const transcriptData = await response.json();
updateInteractiveVideo({
id: event.data.id,
transcripts: { [event.data.videoID]: transcriptData },
// visuals_by_visual_id: {
// [event.data.videoID]: {
// transcript_details: transcriptData,
// video_id: event.data.videoID,
// visual_details: modules?.[index]?.chapters?.[0]?.details || "",
// visual_end: endTimestamp.current,
// visual_playback_id: playbackID,
// visual_start: "00:00:00.000",
// },
// },
max_timestamps: event.data.max_timestamps,
});
return { event, body: transcriptData };
}
);