enzostvs's picture
enzostvs HF staff
refacto models + community
eb29a95
raw
history blame
1.19 kB
/** @type {import('./$types').RequestHandler} */
import { json, type RequestEvent } from '@sveltejs/kit';
import { env } from '$env/dynamic/private'
export async function POST({ request } : RequestEvent) {
const generation = await request.json()
if (!generation?.model?.id) {
return json({
error: {
token: "A model id is required"
}
}, { status: 400 })
}
if (!generation?.inputs) {
return json({
error: {
token: "An inputs is required"
}
}, { status: 400 })
}
const response = await fetch(env.SECRET_INFERENCE_API_URL + "/models/" + generation?.model?.id, {
method: "POST",
headers: {
Authorization: `Bearer ${env.SECRET_HF_TOKEN}`,
'Content-Type': 'application/json',
['x-use-cache']: "0"
},
body: JSON.stringify(generation),
})
.then((res) => res.blob())
.then((blob) => blob)
.catch((error) => {
return {
error: error.message,
}
})
if ("error" in response) {
return json({
error: {
token: response.error
}
}, { status: 400 })
}
return new Response(response, {
headers: {
'Content-Type': 'image/png',
},
})
}