MCPcopy Create free account
hub / github.com/AstrBotDevs/AstrBot / ResolvedMediaData

Class ResolvedMediaData

astrbot/core/utils/media_utils.py:109–131  ·  view source on GitHub ↗

Base64 media bytes plus the metadata needed by provider payloads. Attributes: base64_data: Raw base64 payload without a ``data:`` URI prefix. mime_type: MIME type to send with provider payloads. format: Optional normalized media format, such as ``wav`` for audio.

Source from the content-addressed store, hash-verified

107
108@dataclass(slots=True)
109class ResolvedMediaData:
110 """Base64 media bytes plus the metadata needed by provider payloads.
111
112 Attributes:
113 base64_data: Raw base64 payload without a ``data:`` URI prefix.
114 mime_type: MIME type to send with provider payloads.
115 format: Optional normalized media format, such as ``wav`` for audio.
116 """
117
118 base64_data: str
119 mime_type: str
120 format: str | None = None
121
122 def to_bytes(self) -> bytes:
123 """Decode the base64 payload, accepting missing padding."""
124 return _decode_base64_payload(
125 self.base64_data,
126 error_message="invalid resolved media base64 data",
127 )
128
129 def to_data_url(self) -> str:
130 """Return a ``data:<mime>;base64,...`` URL for multimodal providers."""
131 return f"data:{self.mime_type};base64,{self.base64_data}"
132
133
134@dataclass(slots=True)

Callers 2

to_base64_dataMethod · 0.85

Calls

no outgoing calls

Tested by 1