File size: 3,441 Bytes
31166da
 
0c0c275
31166da
 
 
0c0c275
31166da
 
 
 
 
0c0c275
31166da
 
 
 
0c0c275
31166da
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0c0c275
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31166da
 
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
class Demos:
    def __init__(self):
        from fastapi import FastAPI, HTTPException, Response, File
        self.api = FastAPI
        self.exception = HTTPException
        self.api_response = Response
        self.fileupload = File
    def validate_apikey(self,api_key)->bool:
        __validation = True
        return __validation
    @staticmethod
    def text_to_img(texto:str=None, model:str="PROMPTHERO")->bytes:
        """Genera un Bytes de la imagen con el texto dado.

        args:
            texto           (str)   :   Texto para generar imagen
        return:
            _img            (bytes) :   Imagen en Bytes
        """
        from api.core.controllers.text2image import Generador
        _imagen = str()
        if "RUNWAY" in model.upper():
            _imagen = Generador.using_runway_sd_15(prompt=texto)
        elif "STABILITY" in model.upper():
            _imagen = Generador.using_stability_sd_21(prompt=texto)
        elif "REALISTIC" in model.upper():
            _imagen = Generador.using_realistic_v14(prompt=texto)
        elif "PROMPTHERO" in model.upper():
            _imagen = Generador.using_prompthero_openjourney(prompt=texto)
        else:
            _imagen = bytes("error", 'utf-8')
        return _imagen
    @staticmethod
    def text_to_video(texto:str=None)->str:
        """Genera un BITARRAY del video con el texto dado.

        args:
            texto           (str)   :   Texto para generar video
        return:
            _video          (str)   :   Video en BITARRAY
        """
        _video = str()
        return _video
    @staticmethod
    def text_to_speach(texto:str=None)->str:
        """Genera un BITARRAY del audio con el texto dado.

        args:
            texto           (str)   :   Texto para generar audio
        return:
            _speach         (str)   :   Audio en BITARRAY
        """
        _speach = str()
        return _speach
    @staticmethod
    def image_to_image(task:str="MSLD", image:str=None, mask:str=None,**kwargs)->str:
        """Genera una imagen a partir de una imagen

        args:
            task            (str)   :   Modelo a utilizar: MSLD, DEEP, SCRIBLE, etc..
            image           (str)   :   Input Image
            mask            (str)   :   Mask Image
            **kwargs        (str)   :   Argumentos adicionales: inference, strnght, guidance...
        return:
            _image          (str)   :   Imagen en BITARRAY
        """
        _image = str()
        return _image
    @staticmethod
    def img_to_img(texto:str=None, model:str="PROMPTHERO")->bytes:
        """Genera un Bytes de la imagen con el texto dado.

        args:
            texto           (str)   :   Texto para generar imagen
        return:
            _img            (bytes) :   Imagen en Bytes
        """
        from api.core.controllers.text2image import Generador
        _imagen = str()
        if "RUNWAY" in model.upper():
            _imagen = Generador.using_runway_sd_15(prompt=texto)
        elif "STABILITY" in model.upper():
            _imagen = Generador.using_stability_sd_21(prompt=texto)
        elif "REALISTIC" in model.upper():
            _imagen = Generador.using_realistic_v14(prompt=texto)
        elif "PROMPTHERO" in model.upper():
            _imagen = Generador.using_prompthero_openjourney(prompt=texto)
        else:
            _imagen = bytes("error", 'utf-8')
        return _imagen