def post_image_generate()

in backend_apis/app/main.py [0:0]


def post_image_generate(data: ImageGenerateRequest,
                        ) -> ImageGenerateResponse:
    """Image generation with Imagen
    Parameters:
        prompt: str
        number_of_images: int = 1
    Returns:
        List of images with:
            id: image id
            images_base64_string (str): Image as base64 string
            image_size (int, int): Size of the image
            images_parameters (dict): Parameters used with the model
    """
    try:
        imagen_responses = imagen.generate_images(
            prompt=data.prompt,
            number_of_images=data.number_of_images,
            negative_prompt=data.negative_prompt)
    except Exception as e:
        raise HTTPException(status_code=400, detail=str(e))
    else:
        generated_images = []
        i=0
        for image in imagen_responses:
            generated_images.append(
                {   
                    "id": i ,
                    "images_base64_string": image._as_base64_string(),
                    "image_size": image._size,
                    "images_parameters": image.generation_parameters
                }
            )
            i=i+1

    return ImageGenerateResponse(
        generated_images=generated_images
    )