MCPcopy Create free account
hub / github.com/dhavalCode/ai-image-generator / generateImage

Function generateImage

server/src/controller/image.controller.ts:27–86  ·  view source on GitHub ↗
(
  req: Request,
  res: Response
)

Source from the content-addressed store, hash-verified

25}
26
27export const generateImage = async (
28 req: Request,
29 res: Response
30): Promise<void> => {
31 const { prompt, size } = req.body
32
33 if (!prompt || prompt === '') {
34 ResponseHandler.badRequest(res, '', 'Prompt is required.')
35 }
36
37 let imageSize
38
39 switch (size) {
40 case 'Small':
41 imageSize = CreateImageRequestSizeEnum._256x256
42 break
43 case 'Medium':
44 imageSize = CreateImageRequestSizeEnum._512x512
45 break
46 case 'Large':
47 imageSize = CreateImageRequestSizeEnum._1024x1024
48 break
49
50 default:
51 imageSize = CreateImageRequestSizeEnum._256x256
52 break
53 }
54
55 try {
56 const aiResponse = await openai.createImage({
57 prompt,
58 n: 1,
59 size: imageSize,
60 })
61
62 const image = aiResponse.data.data[0].url
63
64 if (!image) {
65 ResponseHandler.serverError(
66 res,
67 '',
68 'Something went wrong while generating image'
69 )
70 }
71
72 const uploadedImage = await cloudinary.uploader.upload(image || '')
73
74 const imageUrl = uploadedImage.url.replace(/^http:/, 'https:')
75
76 await createImage({
77 imageUrl,
78 prompt,
79 })
80
81 ResponseHandler.created(res, { imageUrl })
82 } catch (error: unknown) {
83 // console.log('Error :', error)
84 ResponseHandler.serverError(res, error)

Callers

nothing calls this directly

Calls 1

createImageFunction · 0.90

Tested by

no test coverage detected