49 lines
1.3 KiB
Python
49 lines
1.3 KiB
Python
from base64 import b64decode
|
|
|
|
from .utils import get_image_mask, get_audio
|
|
|
|
class LoadImageBase64:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"base64": ("STRING", {"multiline": True})
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("IMAGE", "MASK")
|
|
RETURN_NAMES = ("image", "mask")
|
|
|
|
CATEGORY = "Base64-Nodes"
|
|
|
|
FUNCTION = "load_base64_image"
|
|
|
|
def load_base64_image(self, base64):
|
|
image_data = b64decode(base64)
|
|
image, mask = get_image_mask(image_data)
|
|
return (image, mask)
|
|
|
|
class LoadAudioBase64:
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {
|
|
"required": {
|
|
"base64": ("STRING", {"multiline": True})
|
|
},
|
|
"optional" : {
|
|
"start_time": ("FLOAT", {"default": 0, "min": 0,}),
|
|
"duration": ("FLOAT" , {"default": 0, "min": 0, "max": 10000000, "step": 0.01}),
|
|
}
|
|
}
|
|
|
|
RETURN_TYPES = ("AUDIO",)
|
|
RETURN_NAMES = ("audio",)
|
|
|
|
CATEGORY = "Base64-Nodes"
|
|
|
|
FUNCTION = "load_base64_audio"
|
|
|
|
def load_base64_audio(self, base64, start_time=0, duration=0):
|
|
audio_data = b64decode(base64)
|
|
audio = get_audio(audio_data, start_time, duration)
|
|
return (audio,) |