File size: 975 Bytes
846ea5b 5443f48 846ea5b 63ac902 846ea5b 63ac902 846ea5b 5443f48 846ea5b 63ac902 846ea5b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
"use server"
import { ClapProject } from "@aitube/clap"
import { exportClapToVideo as apiExportClapToVideo } from "@aitube/client"
import { getToken } from "./getToken"
import { removeFinalVideos } from "@/lib/utils/removeFinalVideos"
export async function exportClapToVideo({
clap,
turbo = false,
}: {
clap: ClapProject
turbo?: boolean
}): Promise<string> {
// TODO move this safety into apiExportClapToVideo
// one last precaustion, we make sure to we remove any existing render beforehand, as this eats up space
clap.segments = removeFinalVideos(clap)
// we have to leave the rest it, however..
// ours final render needs all the video and audio clips!
// TODO: maybe we should return a blob instead,
// as this could be big eg. a few megabytes
// or maybe we should convert it to an object id
const dataUri: string = await apiExportClapToVideo({
clap,
format: "mp4",
turbo,
token: await getToken()
})
return dataUri
} |