Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 1,165 Bytes
3d4392e 0d218b1 6215321 3d4392e 6215321 3d4392e 6215321 3d4392e 6215321 3d4392e 6215321 83defd6 6215321 3d4392e 6215321 3d4392e 6215321 8101ed0 6215321 8101ed0 6215321 3d4392e |
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 37 38 39 40 41 42 43 44 45 46 47 48 |
"use client"
import { ClapProject, ClapSegment } from "@aitube/clap"
import { LayerElement } from "../../core/types"
import { generateVideo } from "./generateVideo"
import { BasicVideo } from "./basic-video"
import { useStore } from "@/app/state/useStore"
export async function resolve(segment: ClapSegment, clap: ClapProject): Promise<LayerElement> {
const { prompt } = segment
let src: string = ""
try {
src = await generateVideo({
prompt,
width: clap.meta.width,
height: clap.meta.height,
token: useStore.getState().jwtToken,
mode: "object-uri" // it's better for videos withing Chrome, apparently
})
// console.log(`resolveVideo: generated ${assetUrl}`)
} catch (err) {
console.error(`resolveVideo failed: ${err}`)
return {
id: segment.id,
element: <></>
}
}
// note: the latent-video class is not used for styling, but to grab the component
// from JS when we need to segment etc
return {
id: segment.id,
element: <BasicVideo
className="latent-video object-cover h-full"
src={src}
playsInline
muted
autoPlay
loop
/>
}
} |