Skip to content
Download Beeper

Upload an asset (base64)

assets.upload_base64(AssetUploadBase64Params**kwargs) -> AssetUploadBase64Response
POST/v1/assets/upload/base64

Upload a file using a JSON body with base64-encoded content. Returns an uploadID that can be referenced when sending messages with attachments. Alternative to the multipart upload endpoint.

ParametersExpand Collapse
content: str

Base64-encoded file content (max ~500MB decoded)

minLength1
maxLength750000000
file_name: Optional[str]

Original filename. Generated if omitted

mime_type: Optional[str]

MIME type. Auto-detected from magic bytes if omitted

ReturnsExpand Collapse
class AssetUploadBase64Response:
duration: Optional[float]

Duration in seconds (audio/videos)

error: Optional[str]

Error message if upload failed

file_name: Optional[str]

Resolved filename

file_size: Optional[float]

File size in bytes

height: Optional[float]

Height in pixels (images/videos)

mime_type: Optional[str]

Detected or provided MIME type

src_url: Optional[str]

Local file URL (file://) for the uploaded asset

upload_id: Optional[str]

Unique upload ID for this asset

width: Optional[float]

Width in pixels (images/videos)

Upload an asset (base64)

from beeper_desktop_api import BeeperDesktop

client = BeeperDesktop()
response = client.assets.upload_base64(
    content="x",
)
print(response.width)
{
  "duration": 0,
  "error": "error",
  "fileName": "fileName",
  "fileSize": 0,
  "height": 0,
  "mimeType": "mimeType",
  "srcURL": "srcURL",
  "uploadID": "uploadID",
  "width": 0
}
Returns Examples
{
  "duration": 0,
  "error": "error",
  "fileName": "fileName",
  "fileSize": 0,
  "height": 0,
  "mimeType": "mimeType",
  "srcURL": "srcURL",
  "uploadID": "uploadID",
  "width": 0
}