LifeSim / src /app /render.ts
barton
Duplicate from jbilcke-hf/LifeSim
da798b4
"use server"
// note: there is no / at the end in the variable
// so we have to add it ourselves if needed
const apiUrl = process.env.RENDERING_ENGINE_API
export async function render(prompt: string) {
try {
console.log(`calling ${apiUrl}/render with prompt: ${prompt}`)
const res = await fetch(`${apiUrl}/render`, {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
// Authorization: `Bearer ${process.env.VC_SECRET_ACCESS_TOKEN}`,
},
body: JSON.stringify({ prompt }),
cache: 'no-store',
// we can also use this (see https://vercel.com/blog/vercel-cache-api-nextjs-cache)
// next: { revalidate: 1 }
})
// The return value is *not* serialized
// You can return Date, Map, Set, etc.
// Recommendation: handle errors
if (res.status !== 200) {
// This will activate the closest `error.js` Error Boundary
throw new Error('Failed to fetch data')
}
const { url } = await res.json()
return url
} catch (err) {
console.error(err)
return ""
}
}