File size: 906 Bytes
7139c79
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import { generateSeed } from "../utils/generateSeed.mts"
import { generateVideo } from "./generateVideo.mts"

const state = {
  isRendering: false
}

const seed = generateSeed()

export async function renderScene(prompt: string) {
  // console.log("renderScene")
  if (state.isRendering) {
    // console.log("renderScene: isRendering")
    return {
      url: "",
      error: "already rendering"
    }
  }

  // onsole.log("marking as isRendering")
  state.isRendering = true

  let url = ""
  let error = ""

  try {
    url = await generateVideo(prompt, {
      seed: generateSeed(),
      // seed,
      nbFrames: 16,
      nbSteps: 7,
    })
    // console.log("successfull generation")
    error = ""
  } catch (err) {
    error = `failed to render scene: ${err}`
  }

  // console.log("marking as not rendering anymore")
  state.isRendering = false
  error = ""

  return {
    url,
    error
  }
}