cddb07a176
docs / deploy (push) Has been cancelled
docs / changes (push) Has been cancelled
docs / check-and-build (push) Has been cancelled
build container image / cpu (push) Has been cancelled
build container image / cuda (push) Has been cancelled
build container image / rocm (push) Has been cancelled
frontend checks / frontend-checks (push) Has been cancelled
frontend tests / frontend-tests (push) Has been cancelled
lfs checks / lfs-check (push) Has been cancelled
python checks / python-checks (push) Has been cancelled
python tests / py3.12: macos-default (push) Has been cancelled
python tests / py3.11: windows-cpu (push) Has been cancelled
python tests / py3.12: windows-cpu (push) Has been cancelled
python tests / py3.11: linux-cpu (push) Has been cancelled
typegen checks / typegen-checks (push) Has been cancelled
uv lock checks / uv-lock-checks (push) Has been cancelled
openapi checks / openapi-checks (push) Has been cancelled
python tests / py3.11: macos-default (push) Has been cancelled
python tests / py3.12: linux-cpu (push) Has been cancelled
20 lines
497 B
Python
20 lines
497 B
Python
from __future__ import annotations
|
|
|
|
import base64
|
|
import io
|
|
|
|
from PIL import Image
|
|
from PIL.Image import Image as PILImageType
|
|
|
|
|
|
def encode_image_base64(image: PILImageType, format: str = "PNG") -> str:
|
|
buffer = io.BytesIO()
|
|
image.save(buffer, format=format)
|
|
return base64.b64encode(buffer.getvalue()).decode("ascii")
|
|
|
|
|
|
def decode_image_base64(encoded: str) -> PILImageType:
|
|
data = base64.b64decode(encoded)
|
|
image = Image.open(io.BytesIO(data))
|
|
return image.convert("RGB")
|